Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
 
Témaindító: pakibec, idő: Márc 11, 2006
Témakörök:
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
Lapozás: OK   28 / 840
(#) zeusz7 válasza MaSTeRFoXX hozzászólására (») Júl 14, 2007 /
 
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
(#) potyo válasza zeusz7 hozzászólására (») Júl 14, 2007 /
 
(#) zeusz7 válasza potyo hozzászólására (») Júl 14, 2007 /
 
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...>
(#) MaSTeRFoXX válasza zeusz7 hozzászólására (») Júl 14, 2007 /
 
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..
(#) zeusz7 hozzászólása Júl 14, 2007 /
 
É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
(#) zeusz7 válasza zeusz7 hozzászólására (») Júl 14, 2007 /
 
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
(#) PLaci válasza zeusz7 hozzászólására (») Júl 14, 2007 /
 
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!
(#) zeusz7 válasza PLaci hozzászólására (») Júl 14, 2007 /
 
É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?
(#) zeusz7 válasza zeusz7 hozzászólására (») Júl 14, 2007 /
 
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?
(#) Dudus válasza zeusz7 hozzászólására (») Júl 15, 2007 /
 
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.
(#) zeusz7 válasza Dudus hozzászólására (») Júl 15, 2007 /
 
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?
(#) Dudus válasza zeusz7 hozzászólására (») Júl 15, 2007 /
 
(#) zeusz7 válasza Dudus hozzászólására (») Júl 15, 2007 /
 
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?
(#) Dudus válasza zeusz7 hozzászólására (») Júl 15, 2007 /
 
Megfelel, kérdés milyen gyorsan kapcsolgatod.

(#) davidov válasza zeusz7 hozzászólására (») Júl 15, 2007 /
 
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.)
(#) Dudus válasza davidov hozzászólására (») Júl 15, 2007 /
 
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ó .
(#) potyo válasza Dudus hozzászólására (») Júl 15, 2007 /
 
É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...
(#) zeusz7 válasza potyo hozzászólására (») Júl 15, 2007 /
 
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
(#) zeusz7 hozzászólása Júl 15, 2007 /
 
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?
(#) Dudus válasza potyo hozzászólására (») Júl 15, 2007 /
 
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.
(#) MaSTeRFoXX válasza zeusz7 hozzászólására (») Júl 15, 2007 /
 
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
(#) zeusz7 válasza MaSTeRFoXX hozzászólására (») Júl 15, 2007 /
 
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..
(#) PLaci válasza zeusz7 hozzászólására (») Júl 16, 2007 /
 
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]
(#) gtk válasza PLaci hozzászólására (») Júl 16, 2007 /
 
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
(#) PLaci válasza gtk hozzászólására (») Júl 16, 2007 /
 
Na végre! Gratulálok!
(#) MaSTeRFoXX válasza gtk hozzászólására (») Júl 16, 2007 /
 
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 )
(#) gtk válasza PLaci hozzászólására (») Júl 16, 2007 /
 
Kosz
(#) gtk válasza MaSTeRFoXX hozzászólására (») Júl 16, 2007 /
 
Kosz.
Nekem az VFD adatlap okozta a tobb mint 2 napos hajtepest
(#) gtk hozzászólása Júl 16, 2007 /
 
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..
(#) PLaci válasza gtk hozzászólására (») Júl 16, 2007 /
 
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.
Következő: »»   28 / 840
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem