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   277 / 839
(#) Reggie válasza prody hozzászólására (») Nov 6, 2010 /
 
Ubuntu live cd-t toltsel le, es nezd meg linux alatt mi tortenik. Jobb otletem igy nincs hirtelen.
(#) Ricsi89 válasza prody hozzászólására (») Nov 6, 2010 /
 
Próbáld meg más terminálprogrammal is, pl Bray terminal. nekem ezzel még nem volt gondom és fényévekkel jobb, mint a windows saját terminálprogramja.
(#) zolee1209 válasza prody hozzászólására (») Nov 7, 2010 /
 
A kvarc stimmel, csak nem ilyen sebességekre!
Bővebben: Link 194-ik oldalon találod a 16MHz-hez tartozó sebességeket. Amiket szabványosan tud a gép is, ott nem 0% a hibalehetőség, és ez meg is jelenik nálad! Olyan kvarcot kell beszerezned, ahol a küldés 0% hibával történik azon a sebességen, amit épp használnál, és azt a gép is tudja...
(#) Tomi_Bp válasza zolee1209 hozzászólására (») Nov 7, 2010 /
 
Nekem a 14.745.600 Hz-es kristály vált be... az minden baud rate sebességnél 0% hibás, ha jól emlékszem...
Szerk.: Bocsika, neked 18.4320 MHz kell...
Furcsa! Én meg azt gondoltam, hogy az a frekis quartz jó minden AVR-hez... Rosszul emklékeztem a cikkre...
(#) Reggie válasza zolee1209 hozzászólására (») Nov 7, 2010 /
 
16 MHz kvarcnal egy-egy karakter atvitelenel meg nem jelenik meg hiba. A problema akkor van ha folyamatosan kell venni, vagy adni.
(#) Robi98 hozzászólása Nov 7, 2010 /
 
Sziasztok!
Amikor az AVR Studióban az ISP frekvrenciát állítottam volna be és a CLKDIV8 ki volt kapcsolva ,valamint a processzor órajele 4 000 000 hz volt,mindig kiírta a hibaüzenetet,hogy nem jó az ISP frekvencia.
Én eddig úgy tudtam,hogy az ISP frekvenciának mindig az órajel 1/4-ed részénél kissebnek kel lenni.Ja és az ISP frekvencia115,2 Khz volt
(#) zolee1209 válasza Reggie hozzászólására (») Nov 7, 2010 /
 
Ez így van, de ettől függetlenül még okozhatja ez a problémát... Bár én nem kockáztatnám meg egy-két karakter elküldését sem, ha a hibalehetőség >0%...
(#) Reggie válasza zolee1209 hozzászólására (») Nov 7, 2010 /
 
Ehhez tudnunk kene milyen bitratat valasztott. Ha 4% alatti az orajel hiba, akkor 1 karakternel garantaltan nem fordulhat elo hiba. Bar mint mondta szoftverfuggo a hiba, igy elso korben szerintem a windows driverek korul kene szetnezni.
(#) Ricsi89 hozzászólása Nov 7, 2010 /
 
Sziasztok!
Nem pont ide tartozik, de AVR is van benne.
Akkutöltőt akarok csinálni. Tudna tölteni NiCD/Mh aksit is, meg Li-ion/Poly-t is. A nikkel aksikkal nincs is gond, de a Li packban kellene nézni a cellák feszültségét is. Mivel sorba vannak kötve, nem köthetem egyből az ADC-re. Hogy lehetne földfüggetlen mérést csinálni a sorbakötött packban?
(#) Reggie válasza Ricsi89 hozzászólására (») Nov 7, 2010 /
 
Hat erre szerintem egy ATmega406-ot kene hasznalnod. Vagy veszed a legnegativabb pontot foldpontnak, es a tobbi feszultseget leosztod, ADC-vel megmered, es kivonod oket egymasbol. Galvanikus levalasztott merest is lehet csinalni, viszont ugy kell cellankent egy ADC.
(#) prody válasza Tomi_Bp hozzászólására (») Nov 7, 2010 /
 
És igazad van... erre nem is gondoltam....... Akkor ezért van az hogy az UBRR-t ha kiszámolom az általam választott Baudrattel akkor nem egészre jön ki és gondolom ez generálja a hibát.... áhhh és ezért nem is ugyanazt a karaktert látom... )
Ezer köszönet holnap veszek is egy kvarcot és majd beszámolok a fejleményekről
(#) Reggie válasza prody hozzászólására (») Nov 7, 2010 /
 
De ugye nem fixen lefele kerekitettel, hanem a kozelebbi egeszre?
(#) Ricsi89 válasza Reggie hozzászólására (») Nov 7, 2010 /
 
Nem rossz az biztos, de biztos nem olcsó. Inkább maradnék valami olcsóbb vezérlőnél. Azon gondolkoztam, hogy esetleg műveleti erősítővel lehetne megoldani, de nem vagyok annyira jártas ezekben a dolgokban. Igazából nem sokat foglalkoztam ezekkel még.
(#) Reggie válasza Ricsi89 hozzászólására (») Nov 7, 2010 /
 
A farnellnel 2280 penz, ami azt jelenti, hogy a valos piaci ara olyan 1000-1500 Ft korul lehet. Muveleti erositovel is csinalhatsz kivonot termeszetesen. Itt meg is talalod.
(#) Ricsi89 válasza Reggie hozzászólására (») Nov 7, 2010 /
 
No ezt holnap szerintem ki is próbálom.
(#) Ricsi89 hozzászólása Nov 8, 2010 /
 
Sikerült életet lehelnem egy Atmega8-asba, amit régen véletlenül külső RC oszcillátorra állítottam. Eddig a Topi cikkében lévő kvarcos oszcillátorral próbálkoztam, de nem volt jó. Ma kiváncsiságból megnéztem szkópon azt az oszcit. Érdekes volt, mert egyszer berezgett, majd utána soha. Ezen felbuzdulva csináltam egy 555-ös IC-vel egy 60kHz-es oszcit és láss csodát visszatért az életbe az Atmega8. A másik mega8 viszont kuka, mert semmit nem csinált.
(#) augre hozzászólása Nov 8, 2010 /
 
Az oldalon lévő avr-doper en keresztül lehet soros kommunikációt megvalósítani?(uart)

abból indulok ki, h. lehet virtuális com portként használni

köszönöm
(#) Robi98 hozzászólása Nov 8, 2010 /
 
Sziasztok!
Amikor az AVRStudio-ban az ISP frekvenciát állítottam be és a CLKDIV8 ki volt kapcsolva, valamint a processzor órajele4000000hz volt,mindig kiírta,hogy túl magas az ISP frekvencia. Én eddig úgy tudtam,hogy az órajel1/4-ed részénél kisebb nek kell lenni.4Mhz 1/4-e 1Mhz és attól kisebb a 115,2Khz.Így elvileg jónak kéne lenni, de nekem mégis kiírta a figyelmeztetést.
Sajnos ezt már kérdeztem,de senki se válaszolt rá. :no:
Úgy,hogy jó lenne ha valaki(persze ccsak aki tudna) válaszolna rá.

Előre is köszi!
(#) augre válasza Robi98 hozzászólására (») Nov 8, 2010 /
 
Sikerült már így avr studio-ban használni a processzor valaha? vagy mindig ezt írta ki? milyen programozóval programozod?
(#) Axel hozzászólása Nov 8, 2010 /
 
Sziasztok!

Azt szeretném kérdezni, hogy az Atmega8L és az Atmega 8 közt mi a fő különbség az órajelen kívül?

Köszi szépen!
(#) Robi98 válasza augre hozzászólására (») Nov 8, 2010 /
 
Még csak ez lenne az életem első programozása.
Ja és STK500-as programozóval.
(#) prody válasza Reggie hozzászólására (») Nov 8, 2010 /
 
Azt az értéket állítottam be amit a datasheet is mutat egyébként meg számolással van belőve csak próbából számoltam végig és láttam hogy nem egész...

Egyébként beújítottam egy 18,432 MHz-es kristályt aminek működnie kéne de ugyanaz, küldök egy s betűt a terminál s-et lát minden más meg hosszú ó betűt... azthiszem lassan feladom, mi a baja lehet???
(#) Reggie válasza prody hozzászólására (») Nov 8, 2010 /
 
Mondtam en, hogy ha a kiszamolt hibaarany 4% alatti, akkor egy karakternel garantaltan nem keletkezhet hiba. Esetlep probald meg egy gyari usb-soros illesztovel, valamint ellenorizd, hogy rendben van-e a vezetek (erek kozott szakada, erek ellenallasa), hogyha esetleg sodrott erparu vezeteket hasznalsz erre a celra, akkor az osszesodort parokbol mindig csak az egyiket hasznald. Ha ezek sem segitenek, akkor esetleg linux alatt kiprobaldhatnad, hatha vmi generalis hiba van a windowsban, vagy egy masik szamitogepen probald ki a utyudet.

Szerk: azt is probald, ki hogy az avr rx es tx labat bemenetnek allitod es az usartot letiltod, akkor a ket lab rovidre zarasa eseten a terminalbol kuldott karakter rendben visszaerkezik-e (ez egy remote loopback).
(#) Reggie válasza Ricsi89 hozzászólására (») Nov 8, 2010 /
 
Nem biztos, hogy kuka. Meg kell majd probalnod parhuzamos programozassal, mert azt nem lehet letiltani es egyebb orajelet sem igenyel.
(#) Reggie válasza Axel hozzászólására (») Nov 8, 2010 /
 
Az L vegut alacsonyabb feszultsegrol is lehet hasznalni. Az adatlapon van egy grafikon ahol a megengedett maximalis orajelet latod a tapfeszultseg fuggvenyeben.
(#) augre válasza Robi98 hozzászólására (») Nov 8, 2010 /
 
én a helyedben megpróbálnám WINAVR-el is, nekem eleinte azzal könnyebben ment.

és vanis itt egy cikk róla:
http://www.hobbielektronika.hu/cikkek/winavr_telepitese_es_hasznalata.html
(#) prody válasza Reggie hozzászólására (») Nov 8, 2010 /
 
Ez egy gyári Soros kábel, apa anya pont ami kell, innen egy anya csatival ami 90 fokos egyenesen a próbapanelre csatlakozik figyeltem a távolságra és a veszteségekre tehát ez sem lehet igazából baj, meg bármennyi karaktert küldök hiba nélkül megérkeznek, csak nem a jó, meg ez még mindig nem magyarázza hogy a hiperterminál miért a jó értéket látja míg az összes többi szoftver a rosszat, miben másabb az? nekem nagyon szoftver hiba gyanús a dolog de leellenőrzöm a loopbacket, és köszi a további segítséget!
(#) Reggie válasza prody hozzászólására (») Nov 8, 2010 /
 
A loopback-et mindenkepp csinald meg. A programokban jol van konfiguralva a sorosport? Bitrata, paritas, stopbitek szama egyarant mind stimmel?
(#) prody válasza Reggie hozzászólására (») Nov 8, 2010 /
 
Közben nyitottam egy kérdést és meg is érkezett a válasz.... A probléma ez volt:
UCSR1C = (1 << URSEL) | (3 << UCSZ0);

Mert ugye mondom minek írjam meg a kódot ha már más megírta.... És ugye úgy voltam vele ha nála az működött akkor biztos helyes, de nem az...

pedig:
UCSR1C = (1 << URSEL) | (1 << UCSZ10)| (1 << UCSZ11);

wáááááááááá örület, az ilyen.... Most totál amatőrnek érzem magam... :S ME gpersze minden mikrokontrollernél szépen át vannak rendezve a regiszterek hogy véletlenül se legyen ugyanaz teljesen...

Köszönöm a segítségeteket, még azért lehet fogok kérdezni hasonló hülyeséget, van amikor a friss szem mindent lát...>>>>>>>>>>
(#) Reggie válasza prody hozzászólására (») Nov 8, 2010 /
 
Csak abban a kodban bizhatsz, amit magad csinalsz. Parszor mar en is radobbentem.
Következő: »»   277 / 839
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