Fórum témák
» Több friss téma |
WinAVR / GCC alapszabályok: 1. Ha ISR-ben használsz globális változót, az legyen "volatile" 2. Soha ne érjen véget a main() függvény 3. UART/USART hibák 99,9% a rossz órajel miatt van 4. Kerüld el a -O0 optimalizációs beállítást minden áron 5. Ha nem jó a _delay időzítése, akkor túllépted a 65ms-et, vagy rossz az optimalizációs beállítás 6. Ha a PORTC-n nem működik valami, kapcsold ki a JTAG-et Bővebben: AVR-libc FAQ
Akkor ok.
A MAX232-ről ellentmondásos kapcsolásokat találok neten és az adatlap sem teljesen egyértelmű és lehet ,hogy ez a probléma. Én így kötöttem be, ez így jó? MAX232 láb Funckió 14-T1OUT PC-RxD 13-R1IN PC-TxD 12-R1OUT ATtiny2313-RxD 11-T1IN ATtiny2313-TxD
Köszi, most már él a kapcsolat! Megjön amit küldök, de "a" betű helyett ez jött: "x<00>đř", "Hello world" helyett pedig ez: "<00>€x€x<00>˙řx<00>˙řxţřx<00><00>xŕřřxţřxŕ€x<00>˙řx<00>üx<00><đxţ<00>€x<00>đxţ<00>"
Szóval még ezt kéne megoldanom vhogy... De nem értem, hogy a hiperterminálommal mi a probléma, mert ott semmi se jött...>
Valószínűleg rossz a baudrate amivel fogadod (Nem ugyanaz van beállítva mint az AVR-nél) Ha nem ez a baj, akkor szerintem az a baja hogy 4MHz-es kvarcot használsz. Ez sorosport szempontjából nem pontos érték.
Nem tudom miért nem működött a hiperterminál..
És tényleg...elkezdtem végigmenni az összes Baudrate értéken és 2400-nál az jött, ami kell, pedig elvileg 9600-ra lett állítva a programban, de akkor ezek szerint mégse...köszi
Bocs, hogy fárasztalak titeket, de megint érdekes dologba ütköztem. Kicseréltem a 4MHz-es oszcillátort 8MHz-esre, a programot nem írtam át, a terminálban a baudrate-et nem írtam át és gond nélkül ment minden tovább.
A másik meg, hogy a 2313 adatlapja alapján ha 25-öt írok az UBRR-be, akkor 9600-nak kell lennie a baudrate-nek (4megán), de a vevő terminálban 2400-nál jöttek jó adatok Most akkor hogy van ez a baudrate beállítás? 1200-as baudrate-tel a hiperterminál is vesz, illetve 2400-as baudrate-tel meg hülyeségeket, de legalább megjelenik vmi
Szia!
Lemaradtam a jóról.. Sajna nekem hétvégén mindig dolgoznom kell. Az utóbbi problémádra csak gyorsan mert mindjárt mennem kell megint. Szinte biztos, hogy nálad a fuse bitek úgy vannak beállítva, hogy a proci belső 1 Mhz-s saját oszcilátorát használod. Ezért mindegy milyen quarcot teszel rá. Szerintem akkor is működne, ha nem lenne rajta qiuartz. A fuse biteket konfiguráld külső XT oszcilátorra. Sok sikert! Majd hétfőn bővebben!
És tényleg hát le a kalappal, hogy így rávágtad a dolgot...
Hogy lehet a fuse biteket átállítani? AVR studióban? Ponyprogban?
Megtaláltam a ponyprogban, de bár ne találtam volna...nézegettem a clockjel fuse bitjeit és most nem tudom se programozni, se kiolvasni belőle és az rs232 se megy...lehet hogy elrontottam és kizártam magam belőle?
Ha átállítottam a clockjel fuse bitjeit és a többit nem bántottam, akkor hogy lehet visszacsinálni?
Adj neki külső órajelet, pl. egy függvénygenerátorról és utánna hozzá tudsz férni. Persze ha le nem tiltottad az SPI-t. Akkor pl.itt találsz programozót, amivel helyrehozhatod. Vedd fel a lap gazdájával a kapcsolatot, nagyon segítőkész.
Sejtettem...
És milyen frekis négyszögjelet vár ilyenkor? 1,4,8MHz-es? Mondjuk előbb függvénygenerátort kéne szerválni.. Most már szinte biztos vagyok, hogy a külső oszcillátor helyett külső órajelre állítottam. Mit jelent ez pontosan az adatlapban? External Crystal/Ceramic Resonator: 1000-1111 1000-tól 1111-ig mi van? Nekem 1000-át kellett volna beállítanom, ha külső oszc-t akarok?
Köszi, most már sok minden világos.
Kaptam egy olyan ötletet, hogy függvénygenerátor nélkül úgy adhatok külső órajelet, ha egy másik AVR-ről adok négyszögjelet. Az lenne a kérdésem, ha egy 4MHz-es oszcillátorral működő AVR egyik lábát ki-bekapcsolgatom folyamatosan, akkor az megfelel egy 4MHz-es négyszögjelnek?
Megfelel, kérdés milyen gyorsan kapcsolgatod.
Biztos, hogy nem lesz 4MHz, hiszen, az egész programod nem egy utasításból fog állni, hanem többől. Ezért, mivel egy (assemly) utasítás az órajel egy periódusa alatt hajtódik végre, ezért nyilván arányosan kisebb frekvenciával fogod tudni kapcsolgatni az egyik portbitet.
Egyébként pedig nem kell ahhoz 4MHz, hogy átprogramozd a fuse biteket. Szerintem néhány 100kHz-cel is már működni fog, bár ilyen alacsony órajellel még nem próbálkoztam. (Nyílván célszerű minél rövidebb programot írni.)
Ki is lehet kapuzni az órajelbementét a működőnek és akkor program sem kell. pl 1x erősítésű műverősítő vagy egy mezei logikai kapuból készített invertáló .
És ha a működő órajelkimenetét közvetlenül összekötné emennek az órajelbemenetével? PIC-nél szokás így egy oszcillátorról járatni több chipet, szerintem itt is mennie kell...
Szerintem ezzel az a baj, hogy a külső órajelet az XTal1-es lábon várja, a külső oszcillátor órajele meg az XTal1-XTal2 között van. Minden esetre kipróbáltam ezt is, de egyelőre semmivel se sikerült elérnem, hogy a ponyprog észrevegye
Sehogyse sikerült külső órajellel életre keltenem, pedig 500KHz-es jelnek elég kellene lennie, ha külső órajelet vár.
Jobban belegondolva, lehet hogy nem külső órajelre állítottam, ami a CKSEL0000, hanem Ceramic resonator-ra, ami CKSEL1111 a fuse biteknél lévő fordított logika miatt (az a 0, amit kipipálok). Mi a különbség a ceramic resonator és a crystal oscillator között? Mi az pontosan?
Igen, igazad van, de ekkor egy oszcillátort raksz , mint, ahogy írtad, az xtal1-re és az xtal2-ről van órajeled. Ha kristályt vagy kerámia rezonátort használsz az xtal2 is használva van. Én direktbe sosem próbáltam órajelet levenni ebben az esetben. De lehet, hogy működne.
Ha nem akar elindulni xtal1-bemenetről akkor szerintem kuka lesz. Én is zártam magam ki AVR-ből ponyproggal. Ha minden igaz, meg mintha azt olvastam volna hogy fordítva kezeli a fusebit "pipákat" a ponyprog. Tehát ami bve van pipálva az 0, ami üres az 1. Xtalról később elindult, de megpróbáltam újra írni és meghalt teljesen. Valószínűleg letiltotta az SPI programozást. Nekem kuka lett (tolltartóba került dísznek)
Én Fusebiteket sose programozok ponyproggal. Erre Bascomot szoktam használni (igaz winavrben fejlesztek avrre) itt a legegyértelműbb hogy mi micsoda. Esetleg meg lehet próbálkozni az avrdude windowsos kezelőfelületével. De az bonyolultabb
Még kicsit próbálkozom aztán lehet, hogy tényleg kuka és veszek másikat. Nem drága, csak az elv a szar, hogy nem tudom megcsinálni..na mindegy, ebből is tanultam, legközelebb sokkal jobban figyelek..
Szia Zeusz7!
Nagyon sajnálom, hogy segítségemmel sikerült kizármi magad a prociból Tényleg nem ezért írtam a levelet. De vigasztaljon a következő ma is élő klasszikus mondása: "A szakmai tudás egyenesen arányos az elrontott berendezések számával" Megjegyzem nekem is van már ilyen Atmel procim. Írtam is egy kis progit ami kizárólag a fuse biteket állítaná alaphelyzetbe párhuzamos módon, de sajna nem működik Ráadásul erről a dologról a pdf sem ír túl világosan. Ami a legszörnyűbb, hogy az errata-ban is szerepel pár dolog a párhuzamos programozással kapcsolatban, így már végleg nem tudom hol van a hiba. Ha esetleg valaki tapasztaltabb kollega beszállna a projektbe, szívesen megosztanám amit eddig csináltam. Más ígértem neked egy logik tester (logic pen) rajzot, ime: Bővebben: Link Az enyém egy kicsit más, de pontosan ez az elv. Ezzel könnyedén tudod vizsgálni a kimeneti lábakon a logikai szinteket, ráadául ha ott impulzusok vannak, akkor azt 555 kimenetén lévő LED is villog. [code=c][quote][/quote]
Hello !
Kozben sikerult elinditani a VFD-t.Nem az SPI-vel volt a gond,hanem a VFD RESET idovel.Eloszor az idoziteseket a chip adatlapja szerint irtam,aztan elokerult a VFD adatlapja es a RESET idot aszerint atirtam,mert nem mukodott az egesz az SPI CPOL 0 miatt. Utolag atallitottam a CPOL-t 1 -re,vissza az eredeti RESET idot, es szepen mukodik
Gratula, nálam dataflash ügyileg nem történt előrelépés. De most nem is szórakozok vele.
Reseteléssel én T6963C kijelzővel szívtam 2 napot, mire rájöttem hogy egy RC tagot kell ráakasztani a reset lábra.... (Elolvastam végül az adatlapot, az adta a megoldást )
Kosz.
Nekem az VFD adatlap okozta a tobb mint 2 napos hajtepest
Nem tudtok veletlen valami olyan AD atalakitot (10 bit folott) ami IC2 -n tud komunikalni?(feszultseg merot akarok epiteni)
Szamolgattam AVR / 10BIT ADC-vel egy picit, es nekem sehogy nem jon ki a 0-30V-ig, 10mV pontossaggal valo meres. Nem tudom mas hogy csinalja..
Szia!
A Lomexnél láttam 12-bites AD convertert. 8 multiplexelhető bemenete van. Soha nem használtam, de egy pillantást neked megér. ADC12034 a típusa. Van róla pdf adatlap is. |
Bejelentkezés
Hirdetés |