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   299 / 840
(#) Sallala válasza sikolymester hozzászólására (») Jan 17, 2011 /
 
Őőő, nem de azt nem is kellene programozáskor nem?
Amúgy is nullára teszi a programozó áramkör a reset lábat.
(#) Reggie válasza Sallala hozzászólására (») Jan 17, 2011 /
 
Lehet, meg kene probalni az altalad mar nem programozhato AVR-eket valaki massal megnezetni. Igy kiderulne, hogy a programozaskor pl a fuse bitek serulnek, vagy csak hardveres gond van a programozoddal.
(#) TavIR-AVR válasza kala1982a hozzászólására (») Jan 17, 2011 /
 
Megy az rendesen

bascom a karakteres LCD-ket "pöccre" kezeli (ált a lábak vannak rosszul bekötve, illetve a JTAG lábakra szokták rátervezni - ahol persze nem megy....)
(#) Sallala válasza Reggie hozzászólására (») Jan 18, 2011 / 1
 
Sziasztok!

Nem hagyott nyugodni ez a dolog, próbapanelon összeraktam a Fuse doctort. Szerintem ennyi idő alatt míg összedugdostam meg is építhettem volna nyákon - lásd kép - de most már mindegy...

HVPP módban szépen kiolvasta a FUSE biteket, RS232-n meg is tudtam nézni terminálban, majd szépen gyári beállításra visszaállította.
Az Atmega16L-nél a fuse így volt:
L: EE H: D9 E: 00

Az Atmega32-nél pedig így:
L: CE H: CC E: 00

A fuse calculátorral megnéztem, hogy a hibát okozó fuse byteok pontosan milyen beállítást takarnak, de onnan nekem nem derült ki, hogy miért nem lehetett progamozni. (Pl boot reset vector be volt állítva, talán az okozta?)

Az más kérdés, hogy mi a fenétől állítódott át? Tuti nem piszkáltam a fusebit beállítást. De ha mégis akkor pl. boot bitet biztos nem állítottam.

Na mindegy előbb-utóbb ki fog derüni mi van. Örülök, hogy nem ment tönkre a chipem és hogy most már meg tudom javítani ha megint gond lesz. Ezt a Fuse doctort ajánlom mindenkinek! Az RS232 kimenet külön jópofaság. Egy ellenállással meg egy tranzisztorral simán rákötöttem a PC soroportra, nem kellett maxim IC-vel sem szőrözni. (De PC nélkül is megjavítja, de akkor csak a ledekről látod hogy mi a helyzet)

Mindenkinek köszönöm a tippeket!
(#) edison14 válasza Sallala hozzászólására (») Jan 18, 2011 /
 
Hali én is most akarom megépíteni a Fusebit doctort. De elárulnád, hogy miért kellett betenned azt a tranzisztort az RS232 kommunikációhoz? Úgy tudom alapból működnie kellene? Csak mert ha így jobb akkor én is beleteszek egyet. Ha szabadna kérdeznem melyik vonalra tetted és hogyan van a bekötése?
(#) zacc hozzászólása Jan 18, 2011 /
 
űdv.

PID controlt szeretnék használni egy projektemhez, ha valaki irt már ilyet Mikropascalba, Bascomba, akkor kérem jelezze.

Köszönet.
(#) suhanc hozzászólása Jan 18, 2011 /
 
Üdv mindenkinek.
Kérdésem az lenne hogy tudtok e olyan oldalt ajánlani nekem ahonnan a programozástól kezdődően a fejlesztésig mindent találok.
Jelenleg csak pascallal tudok kicsit irkálni és jó lenne ha legalább tudnám hogy megy a programozás.
Azaz alapokkal.
nagyon köszönnöm
üdv. suhanc
(#) huba válasza Sallala hozzászólására (») Jan 18, 2011 /
 
Lehet csak én nem találom. A fuse doctor-ba a mega8 belső 8mhz-s órajelről jár?
(#) sikolymester válasza huba hozzászólására (») Jan 18, 2011 /
 
Amennyiben ezt építed: fusebit doctor, akkor a következő fuseok kellenek: H:0xE1 L:0xD1

Megjegyzem, ott van a readme-ben.
(#) huba válasza sikolymester hozzászólására (») Jan 18, 2011 /
 
Még egyszer elolvasva tényleg ott van. :pirul:
(#) Reggie válasza Sallala hozzászólására (») Jan 18, 2011 /
 
Ez erdekes. A fuse bitek alapjan mennie kene siman. A boot reset vector nem szamit programozaskor.
(#) Jamesssssss hozzászólása Jan 18, 2011 /
 
Üdv!

Ma kezdtem az ATMega8-asom programozását és rögtön elrontottam... Be akartam állítani külső kristályt frekvenciának, de véletlen külső RC-t állítottam... Most már nem tudom programozni, így a beállítást visszacsinálni. Van erre más megoldás azon kívül, hogy szerzek egy külső RC-t vagy veszek egy másik AVR-t?
(#) Reggie válasza Jamesssssss hozzászólására (») Jan 18, 2011 / 1
 
Igazan nincs. De a kulso RC annyit tesz, hogy fogsz egy megfelelo erteku kondit es ellenallast es raforrasztod. Egyszerubb mint fuse doctort epiteni...
(#) TavIR-AVR válasza suhanc hozzászólására (») Jan 18, 2011 /
 
(#) Sallala válasza edison14 hozzászólására (») Jan 18, 2011 /
 
Szia!
Keresgettem a neten primitív TTL->RS232 átalakítót és láttam, hogy mindenütt volt benne tranzisztor. Tranyó nélkül nekem nem ment, össze-vissza jelek érkeztek meg a PC-re. Hiába állítgattam az átviteli sebességet. Egyébként nekem 4800 bps-en kezdett el működni, holott mintha a honlapon azt olvastam volna, hogy 33400-ra kellene állítani az általam letöltött firmwarenél.
A tranyó amúgy nem azért kellhet, mert invertálja a jelet? Szeintem azért!
Innen vettem a bekötést, BC557-es tranyót használtam 10k-s bázisellenállással: Bővebben: Link
2.06 firmware hex-et égettem be.
A fenti képen látod a soros port bekötését.

Még annyit, hogy nekem nem írta ki a proci nevét hogy atmega32, lásd korábban mellékelt screenshotom. De megjavította.

Reggie: ha lesz időm, szerintem építeni fogok egy rendes USB-s programozót. Köszönöm!

Huba, meg aki még megépíti: ahogy Sikolymester írta, egy gyári Atmega8-al semmi teendő nincs, belső 1MHz órajelről megy. A honlap szövegében is írják.
(#) sikolymester válasza suhanc hozzászólására (») Jan 18, 2011 /
 
Amennyiben beszélsz németül, akkor feltétlen javaslom a következő két oldalt:

AVR tutorial
AVR-GCC tutorial

Itt a Hobbielektronikán is van egy jó cikksorozat:
AVR 8 lábbal

A Bascom Basic nyelvű fordító az AVR-hez.
Személy szerint én javasolnám, hogy C fordítót tanulj meg használni az AVR-ekhez. Ez például lehet az ingyenes AVR-GCC. C nyelvet használó fordító gyakorlatilag minden mikrokontrollerre létezik, így ennek a nyelvnek az elsajátítása kecsegtet nagyobb jövővel.
Természetesen ha van már tapasztalatod a Basic nyelvben, míg C-ben nincsen, akkor az más.
(#) Beachway hozzászólása Jan 18, 2011 /
 
Mindenkit üdvözlök a fórumban. Megépítettem a Topi féle AVR programozót, és szeretnék valami egyszerű programot amivel működik. Az AVRstúdió4 elég bonyolult egy kezdőnek. A neten keresgélve találtam ezt. Bővebben: Link Mit gondoltok működne vele? Vagy esetleg lenne valami egyszerű program erre a célra. Valami olyanra gondolok mint a Ponyprog. Előre is köszönöm a hozzászólásokat.
(#) sikolymester válasza Beachway hozzászólására (») Jan 18, 2011 /
 
A Ponyprog szerintem sokkalta bonyolultabb mint az AVRStudio. Ponyproggal ha fuseokat akarsz állítani, akkor adatlapot kell túrnod, hogy tudd pontosan milyen fuseok kellenek pl külső kristályhoz, míg AVRStudioban, csak kiválasztod a legördülő menüből, hogy milyen órajeled legyen.
Ha meg a lefordított programot szeretnéd rátölteni, akkor csak betöltöd a HEX-et.

Ennél egyszerűbben nem nagyon lehet.

Ha mégis alternatívát keresel, akkor itt van ez: ChipBlasterAVR

Amit te linkeltél azzal az a baj, hogy csak az USBasp -vel működik. A Topi féle programozó pedig egy STK500 klón.
(#) Reggie válasza sikolymester hozzászólására (») Jan 18, 2011 /
 
Viszont cserebe ponyprog mellett megtanulod a fuse biteket, ami az itteni kerdeseket elnezve eros hianyossag...
(#) Jamesssssss válasza Reggie hozzászólására (») Jan 18, 2011 /
 
Hú, újra életet leheltem bele, köszi

Egy kis kutatás után ezt találtam, hátha másnak is segít

http://www.freeweb.hu/t-t/elokep/pic/felhkk/kk/sz0304.htm

3db 1KOhm-os ellenállással és egy 22pF-os kondival minden simán futott, beleesett a 3-8MHz intervallumba, visszaállítottam belső 8MHz-re és másodjára sikerült a kristálynak megfelelő beállítást kiválasztani
(#) Beachway válasza sikolymester hozzászólására (») Jan 19, 2011 /
 
Lehet, hogy mi nem ugyan az az AVR stúdió4-ről beszélünk? Amit én a cég oldaláról letöltöttem azon annyi lenyíló fül, meg kis ablak, állítási lehetőség van. Azt kimondottan program írásra készült profik számára minden lehetőség kielégítése céljából, nem kimondottan a kezdők tanulási céljaira. Szerintem. A ponyprog egy egyszerűen kezelhető kis program. Amit belinkeltél az is hasonlóan egyszerűnek látszik. Köszönöm a segítséget!
(#) trudnai válasza sikolymester hozzászólására (») Jan 19, 2011 /
 
A fuse biteket amugy a project file-ban eltarolja az AVR Studio, nem?
(#) attila1 hozzászólása Jan 19, 2011 /
 
Sziasztok.Ezt a topicot ajánlották,talán tudtok segíteni nekem.Egy diszkós robotlámpával lenne egy kis gondom.A baj az,hogy nem áll le a program a prociban szerintem.Bekapcsoláskor az előtt néhány másodperc után leállt készenlétre,most viszont folyamatosan világít az ütem jelző led,és folyamatosan forog az egyik motor is ezért. Ez egy hangra reagáló vezérlés,két motort működtet.A 12V,és 5V-os stab. ic-k jók,kivettem a mikrofonos panelt,így sem áll le.A procit kivettem,persze így már leáll.Lehet az,hogy a proci a hibás?És ezt lehetne újra programozni valamilyen módon?Vagy megnézni,hogy mi a jelenlegi tartalom?Ebben kérnék segítséget.Hozzá kell tennem,hogy a programozáshoz sügér vagyok,tehát ha valaki segítene ebben az jó lenne.Persze nem kívánom ingyen.Köszönöm előre is a válaszokat! A proci típusa: Atmel AT 89C51 Képeket mellékeltem.
(#) trudnai válasza attila1 hozzászólására (») Jan 19, 2011 /
 
Idézet:
„A baj az,hogy nem áll le a program a PIC-ben szerintem”


Csak a pontossag kedveert: Epp ezert ajanlottuk ezt a topicot (is), mert a kontroller nem PIC, hanem egy Atmel. En ugy sejtettem nem is AVR, hanem MCS51-es darab.
(#) attila1 válasza trudnai hozzászólására (») Jan 19, 2011 /
 
Szia. Értem,hogy mit mondasz,meg nem is.Túl sok helyen nem akarnám feltenni a kérdésemet sem.A kérdésem még mindig az,hogy a jelenséget szerinted okozhatja-e az Atmel hibája?
(#) trudnai válasza attila1 hozzászólására (») Jan 19, 2011 /
 
Elmeletben: Igen, barmi elromolhat... Gyakorlatban: Ahogy mar icserny emlitette, en is elsosorban az analog aramkort mernem ki elso korben.
(#) attila1 válasza trudnai hozzászólására (») Jan 19, 2011 /
 
Kiforrasztottam azt a panelt az alaplapról,amin a mikrofon van,és így is ugyanazt a jelenséget produkálja.Akkor talán kizárhatjuk ezt az áramkört.És akkor hogyan tovább?
(#) trudnai válasza attila1 hozzászólására (») Jan 19, 2011 /
 
Kellene kapcsolasi rajz, valami elkepzeles ez hogyan is mukodik es a kontrolleredben levo programnak mi a feladata, es nem utolso sorban, hogy mit is forrasztottal ki. Ezek nelkul az infok nelkul csak tapogatozni lehet.

Amugy ez is off itt, mert ilyen kontrolleres topikokban a kontroller programozasaval szoktunk foglalkozni. Ne kerdezdd meg hova illene, nem vagyok modi.
(#) icserny válasza attila1 hozzászólására (») Jan 19, 2011 /
 
Idézet:
„Kiforrasztottam azt a panelt az alaplapról,amin a mikrofon van,és így is ugyanazt a jelenséget produkálja.Akkor talán kizárhatjuk ezt az áramkört.”
Helytelen a következtetés. A kiforrasztás következtében szabadon lógó bemenet egyáltalán nem biztos, hogy olyan potenciálra kerül, ami a leállás feltétele.

Tisztázni kellene, hogy az eltávolított panel mit tartalmaz, milyen jelet (analóg/digitális) és milyen jelszintet (alacsony/magas) szolgáltat akkor, amikor le kell állni vagy el kell indulni.
(#) Reggie válasza attila1 hozzászólására (») Jan 19, 2011 /
 
A legegyszerubb az lenne, hogyha van meg egy ilyen lampa, ami hibatlan, akkor a ketto kozott elkezded cserelgetni a paneleket, es figyelni hogy melyik panelnel jon elo a hiba. Ha meg van a hibas panel mar nem kell akkora elektronikat elemezni mint igy.
Következő: »»   299 / 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