Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Másik amikor a millis 0-zódik kb.: 50naponként ... igen ezt ugy 3 napja is kérdeztem de sajnos nem nagyon tárgyaltuk ki 1 válaszon kivül......
wdt került szoba...
Szerintem a tulcsordulás nem lesz gond!
Unsigned long variables are extended size variables for number storage, and store 32 bits (4 bytes). range from 0 to 4,294,967,295 +1 <<< Itt fordul át 0-ába Vegyünk kisebb kezdőértéket:
Cáfoljátokmeg! Ha tévedek?
Javitom!: Szerintem a tulcsordulás lesz a gond!
Kérdés, hogy fog a rendszer egyfolytában járni 48 napot? A hozzászólás módosítva: Nov 27, 2016
Szép napot!
Próbáltam átköltöztetni a programomat a digisparkos Attiny85 -re. Persze hogy is gondolhattam, hogy ez majd ilyen pofonegyszerű lesz... ![]() Attiny85... Ki is köpött egy oldal hibát ami a mellékelt fájlban megtalálható. (Nem akartam fél oldalt elfoglalni a fórumból inkább feltöltöttem egy *.txt -ben. Az xxxxxx helyén csak a felhasználónév van.) Ott van mellette a program is, ami Nano 328 -ason végre megy. Ránéznétek? Köszi...
És ha már itt járunk még kettő kérdés evvel kapcsolatban:
Szóval itt a MOSI és a SCLK miért vannak kikommentelve? Ebből én (kezdőként) azt gondolnám, ha kitörlöm akkor is menni fog, ami igaz is, de ha kihúzom ezt a két vezetéket, rögtön nem megy nyilván, mert pont az adatvonalat és az órajelet szüntetem meg... A másik:
Ezt a sort elmagyarázná valaki? Miért vannak vonallal kezdve a zárójeles részben a betűk? (Magam arra tippelnék, mert az aktív LOW szint érvényes.) A sorrend számít egyébként? Mennyire szükséges a kijelzőnek ez a három vezeték? Ha arra gondolok, hogy a __CS a ChipSelect, és nem az arduino lábára, hanem mondjuk simán testre kötöm, akkor a TFT kijelző állandóan ki lesz választva, és máris spóroltam egy arduino lábat. Az __RST -t hasonlóan felkötöm a tápfeszre, akkor sose lesz resetelve a kijelző, és megint spóroltam egy arduino lábat. Viszont ha érzésem nem csal a __DC (talán Data / Command választás) akkor ezt mindenképpen rendesen használnom kell, hogy tudja közölni az arduino a kijelzővel éppen milyen adatot küld... Nem egészen tiszta jó -e a gondolatmenetem? A hozzászólás módosítva: Nov 27, 2016
A gondolatmenetet tett követte, és áttettem a reset lábat a tápfeszre, működik is, Tovább gondolva, a reset lábat az arduino reset kivezetésére tettem, így ha megnyomom a reset gombot, reseteli a kijelzőt is.
Viszont a __CS lábat teszem át a tápfeszre, már nem működik. Csak tiszta fehér a kijelző. Miért is nem működi így? A hozzászólás módosítva: Nov 27, 2016
igen lesz 24/24 üzem is több honapon keresztül is.....
valami ilyesmi?
Sok kérdésedre nem tudom a választ, de talán a többire:
Szerintem az történik, hogy a TFT_ST7735.h fájlban a MOSI és a SCLK fixen adott értékre lettek beállítva. Azért kell mindenképpen az adott lábra kötni, nem máshova. Szóval ezt a beállítási lehetőséget elvették tőled, cserében menni fog, illetve nem lesz szükséged a kódban megadni. Fizikailag kell az oda, de nem itt van definiálva. Nézd meg a ...h fájlban ezt a TFT_ST7735( , , ); függvényt. Azért hagyták benne így ki kommentelve, hogy mindenképpen belegyenek kötve a szükséges lábak, nehogy az legyen, hogy 5 vezeték helyett 3-at köt csak be, mert a kód is csak annyit használ... Egyszerűen figyelmeztet, segít. Kitörölheted, a kód menni fog, de mankónak mindenképpen jó, én benne hagynám. Idézet: „TFT_ST7735 tft = TFT_ST7735(__CS, __DC, __RST); Ezt a sort elmagyarázná valaki? Miért vannak vonallal kezdve a zárójeles részben a betűk? (Magam arra tippelnék, mert az aktív LOW szint érvényes.) A sorrend számít egyébként? Mennyire szükséges a kijelzőnek ez a három vezeték?” Itt nem kellene az aláhúzás feltétlenül (hacsak az IDE nem foglalja ezeket a karaktereket), az aki a kódot írta így definiálta a változókat, fentebb. Definiálhatta volna bárminek, így tette, valószínűleg a jobb átláthatóság miatt.
Van hardware-es és software-s SPI is, a software-esnél megadhatóak más lábak is, a hardware-esnél fixek. Ez persze a lib-től függ. Amit pár oldallal ezelőtt linkeltem, az tudja mindkettőt, csak a megfelelő define-t kell kiválasztani. A CS nem aktiv low?
A hozzászólás módosítva: Nov 27, 2016
Ezt nem tudtam, körbe szimatolok kicsit.
Nos a MOSI és a SCLK valóban ott vannak...
Egyébként nem is azért írtam, mert ki akarnám venni a megjegyzést, csak így (lehet csak számomra) kicsit félreérthető volt. Azt is odajegyezhette volna a készítő, hogy a fentemlített két vezetéket mindenképp a két megadott lábra kell kötni, a többi választható. De akkor ezen elgondolkodva, lehet meg is van az egyik probléma az Attiny85 átfordításra, ugyanis azon a boardon nincs 11 és 13 lábak...
Valaki tudja egy #define meg lehet több értéket is egyszere ugyan ahoz az egy #define hoz?
pl #define Pir3_en 9469960 ,9469963, 12345678, 9876333
Igaz, a __CS elvileg aktiv LOW de ha átteszem testre, akkor is csak fehér kijelző van...
Idézet: „Ha arra gondolok, hogy a __CS a ChipSelect, és nem az arduino lábára, hanem mondjuk simán testre kötöm, akkor a TFT kijelző állandóan ki lesz választva, és máris spóroltam egy arduino lábat.” Elnézést a bénaságomért, lehet butaságot írok, nem vágom ezt még, de azért okoskodok, hogy valaki elmagyarázza.. Gondolom a _CS lábat nem az arduino felől kötötted földre, hanem a kijelző SS lábát nem? Mert akkor szerintem 0-ra húzva a kijelző nem lesz aktív, így a felé küldött adatokat nem is fogja értelmezni. Nem éppen logokai 1 re kellene felhúzni? Azaz folyamatosan azt mondani neki, hogy ami jön adat az mind a tiéd? Innen az ötlet: https://en.wikipedia.org/wiki/Chip_select A hozzászólás módosítva: Nov 27, 2016
Sziasztok. Szeretném az arduinoból isp ként feltölteni egy bootloadert a meglévő atmega8-ra.
Össze is huzaloztam ahogy kell,de nincs az IDE-ben mega8 boad.Ezt hogy tudom pótolni?
Az Attiny85-ön nincs is hardware-es SPI, a software-es implementációt kell használni. A CS ha aktív, az még nem jelenti, hogy meg is fog jelenni a kijzőn valami. A CS aktív után kell initializálni a kijelzőt, és csak ezután fog valami megjelenni rajta. Rossz sorrend esetén nem történik meg az initializáció, így az utána levő parancsokkal sem tud mit kezdeni a kijelző. De valőszínűleg nálad a lábkiosztás nem stimmel.
Általában a CS láb két szerepet tölt be. Aktív állapotban tudja az eszköz, hogy ő következik, aktív-inaktív átbillentéskor pedig végrehajtja az utasítást amit az aktív szakaszban kapott. Tehát kb. a lehető legkevesebb esetben lehet megspórolni annak vezérlését.
Általános az is, hogy a CS láb aktív alacsony, de ez nem kőbe vésett dolog.
Így már nekem is értehetőbb lett, kösz.
Megnéztem az egyik nyákomon, ott is az AVR-be be van kötve a CS láb. Tehát ami kell: SCK MOSI CS és DS vagy nálam A0.
A kijelző CS lábát (az megy az arduino _CS lábára, 10 -es pin) kötöttem testre, és tápra is próbáltam, egyik módon se működik, csak a fehér képernyő van...
Kíváncsiságból a kijelző A0 lábát (ami az arduino _DC lábára, 9 -es pin) megy is kipróbáltam szintén tápra is és testre is, úgyis csak a fehér képernyő van... Igazából azzal se vagyok konkrétan tisztába, hogy a kijelző CD és A0 lába konkrétan mi is valójában? Valamint azt se értem, hogy az arduino _CS (D10 pin) és _DC (D9 pin) -nek nevezett lábai micsodák... A többit sikerült kitalálni. 1.44" 128x128 TFT...
Jól van akkor a _CS az kell mindenképpen ez nem is gond (kijelzőn szintén CS láb ChipSelect gondolom én).
Szóval ha alacsonyan van nincs semmi. Ha magasra vált, fogadja az adatokat, és ha alacsonyra vált ismét, akkor meg végrehajtja. De a _DC láb az mit csinál? (kijelző A0 láb). Ezt se lehet megspórolni vagy testre vagy tápra kötve? A hozzászólás módosítva: Nov 27, 2016
Az adatlapban böngészve elvileg pedig van háromvezetékes SPI mód is.
Csak épp a lábak megnevezései más mint ami a panelre van írva... ![]() De imádom mikor nincs egy normális egyértelmű dokumentáció valamiről... ST7735S v1.1 datasheet / 2.8Mb A hozzászólás módosítva: Nov 27, 2016
Ismertek ennél kissebb arduinot, amin futna az előzőekben feltöltött programom?
Lehet kevesebb lába is... Arduino pro mini... Mimimum három analóg bemenet, minimum 4 digitális kimenet a kijelzőhöz amin megy a hardware -es SPI...
Valami van még ezzel a CS-tel.
A lib-ben ezt találtam: Idézet: „/* // ATMEGA 328p (Arduino) with hardware SPI * SCL PB5 (SCK), Digital Pin 13 on Arduino * SDA PB3 (MOSI), Digital Pin 11 on Arduino * RS PD7, Digital Pin 7 on Arduino * RST PD6, Digital Pin 6 on Arduino * CS GND */” És nálam a programból nincs is használva a CS kimenet, beállítom kimenetnek, és marad GND-n. Valószínűleg resetel adatátvitelkor, így nem kell a CS-t használni. Nálam az RS az A0, RST a reset, SDA - MOSI, SCK pedig az SPI órajel kimenete. Software-es SPI-hez ez kell, ebben sincs CS. Idézet: „/* #define SPI_SOFTWARE #define RSREG DDRB #define RSTREG DDRB #define RSPORT PORTB #define RSTPORT PORTB #define RS PB1 #define RST PB5 #define SPIREG DDRB #define SPIPORT PORTB #define SCK PB2 #define MOSI PB0 */” Ha parancsot ír, alacsonyra rakja az RS-t, ha adatot, akkor pedig magasra. Nálam a CS GND-n van, ha magasra rakom, akkor fehér a kijelző. Ahogy nézem, CS a GND-re húzva, RS vagy A0 kell, attól függ milyen néven szerepel a kijelzőn, MOSI vagy SDA, és SCL vagy SCK kell, a RST pedig csak az initializáló fv-ben van használva, tehát 4 vezetékes a kommunikáció. A hozzászólás módosítva: Nov 27, 2016
Nekem már gőzöm sincs mit csinál ez a _CS. Ha már fut a program, és kihúzom, akkor képernyő újrarajzoláskor dob egy fehér képernyőt. Addig viszont látszik ami ki volt rajzolva eredetileg. Ha visszadugom az arduino D10 -es lábára, nem történik semmi marad a fehér képernyő, nyomnom kell egy reset gombot, hogy újra működjön.
Ha leveszem a tápot az egészről, és GND -re (vagy 3.3V -ra v. +5V -ra) teszem a _CS lábat, aztán kap egy tápot, szintén csak a fehér képernyő van. Szóval tuti, hogy csinál valamit... Nekem is négy dróton megy: Arduino------>TFT MOSI--------->SDA SCLK--------->SCK _DC---------->A0 _CS---------->CS Rátettem egy egy LED -et a _DC és _CS lábakra próbaképp. Alapból mindkettőn HIGH van. A képernyő újrarajzolásnál mindkettő LOW -ba megy, aztán ismét HIGH. A _CS láthatóan hosszabb ideig van LOW -on, a _DC viszont éppenhogycsak. A MOSI alapból HIGH, és szintén képernyőrajzolásnál megy LOW -ba, majd vissza HIGH -ba. A SCLK alapból LOW és képernyőrajzoláskor megy HIGH -ba, aztán vissza LOW -ra... A szoftveres ISP hez meg hozzá se tudok szagolni... A hozzászólás módosítva: Nov 27, 2016
Egyébként ahogy az adatlapon néztem az időzítéseket, leginkább kezd az az érzésem lenni, hogy valami parancsot kellene küldeni a kijelzőnek, hogy kapcsolja át magát a háromvezetékes SPI mód fogadására. Amit megint gőzöm sincs, hogy kellene megoldani. Szóval kezdek afelé hajlani, hogy nem tudom összehozni ezt a kijelzőt az Attiny85 -el, ráadásul abból még a hardveres SPI is hiányzik, ami újabb probléma és nem tudom megoldani szoftveresen.
Lehet megcsinálom egy olyan board -al amin ez így működik normálisan. Csak hát elég kicsi a hely. Ha megjön az aksitöltő meglátom befér -e...
Üdv!
D:\Arduino\arduino-1.0.6\hardware\arduino\bootloaders\atmega8\ATmegaBOOT.hex Viszont ha van meglévő atmega 328p arduinod, felprogramoznám arduino isp-re és azzal tölteném rá. 8kb helyet ne foglalja fölösen bootloader. A hozzászólás módosítva: Nov 27, 2016
Szia. Közben megtaláltam a neten a megoldást. Azt mondod nem kell a bootloader? Simán ISP-vel is felmegy a program?
|
Bejelentkezés
Hirdetés |





Miért is nem működi így? 









