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   352 / 840
(#) zombee válasza nagyi86 hozzászólására (») Aug 20, 2011 /
 
Hello!

Első körben el kell szomorítsalak: a tápellátást itt sem az LPT portról kapja, neked kell megtáplálni az IC-t is a VCC-n.
Ettől függetlenül ez egy működő programozó, én speciel ilyennel kezdtem(persze IC nélkül), PonyProg-al meghajtva.
A legtöbb alaplapon ez is tökéletesen működik, nem kell az IC-s változattal bajlódni.

Programozóra pedig nem kell 7-12 ezreket költeni, hacsak nem gyárit akarsz. Van itt pár tanult kolléga(köztük én is ) aki AVR-programozó építésre szakosodott.
Én már 2600Ft-tól(de van 4000 és 5500Ft-os is) árulok USB portos programozókat stk500 kompatibilitással amelyek egyrészt az USB-ről vannak megtáplálva(és a céláramkörnek is ad belőle), másrészt jóval gyorsabb, illetve az AVR Studio is mindet támogatja. Bár ez utóbbi gondolom nem feltételnül fontos. Kezdőknek ez tökéletesen megfelel amíg nem ír 16KB-nál nagyobb kódot...

A 8 lábúakkal jó dolgokat lehet építeni, de hamar elfogynak a lábak ami egy kezdőnél létfontosságú lenne.
Ezért ATMega16-ot ajánlok kezdésnek, ez is létezik DIP tokozásban, és ha kezdetben nem állítgatod a FUSE biteket akkor ki sem zárhatod magad. Tönkretenni ezt sem lehet, max. túlfesszel és/vagy fordított táp bekötéssel ahogy minden mást is.
USB portos programozóról túlfeszt nem sűrűn kaphat, mert az egy majdnem stabil 5V amit a legtöbb AVR szeret.
Már csak egy breadboard, egy kibelezhető UTP patch kábel, pár LED, nyomógomb és ellenállás kell, ezekkel már lehet kezdeni. Utána határ a csillagos ég!
(#) nagyi86 válasza zombee hozzászólására (») Aug 20, 2011 /
 
Köszönöm!

Egyrészt emailben felveszem veled a kapcsolatot hogy ne szemeteljünk. Másrészt ami érdekelne, hogy miért is van ez a 16KB-os limit? Illetve attól még hogy az ATmega16-ot ajánlod gondolom a kisebbeket ezzel ugyanúgy lehet programozni. Az AVR uC-k többségéről egyébként elmondható hogy ISP programozóval lehet őket égetni?
(#) zombee válasza nagyi86 hozzászólására (») Aug 20, 2011 /
 
A 16KB-os limit a programkód méretét jelenti, ATMega16-ba legfeljebb ekkora kódot tölthetsz. Még mielőtt ez elszomorítana, elárulom hogy egy AVR(de más mikrokontrollereknél is) esetében ez már hatalmas méret, mert ide színtiszta kód kerül. Nem kell rá az a sok anyámkínja(kernel, driverek, vírusölő, JAVA-motor, stb.) ami minden PC-n megtalálható, bár véleményem szerint egy normális világban a legtöbb kisirodai PC-re is elég lenne 16KB programmemória.
A kódmemória(mega16-nál 1KB) pedig még extrémebbül hangzik, de itt is elárulom hogy ha assembler-ben kezdesz és írsz pl. egy normális akvárium-óra vezérlőt akkor ebből kb.10-20 bájtot fog használni a programod, azt is csak a stack miatt. Ugyanis az általános műveleti regiszterekben(32x8bit) nagyon sok, sűrűn használt paraméter eltárolható.

ISP programozóval természetesen lehet minden ATMega és ATTiny(kivéve ATTiny4/5/9/10) típusú kontrollert programozni, meg még van pár AT89xxx ami szintén ISP felületű.
(#) Reggie válasza zombee hozzászólására (») Aug 20, 2011 /
 
Nehogy azt hidd. AVR32-nel 16kb ugy elfogy, hogy eszre sem veszed es alig csinaltal valamit.
(#) nagyi86 válasza zombee hozzászólására (») Aug 20, 2011 /
 
Aha, tehát azért 16KB mert a chip ennyi tud.

Egyébként jó hogy a Java-t felhoztad, a napokban pont a NanoVM miatt támadt kedvem nézelődni ismét az AVR-es lehetőségek után. Melóban Java-val fejlesztek. Persze indulásnak inkább szeretném megérteni a C-s fejlesztést.

Kicsit más kérdés: Szegeden nem tudtok javasolni üzletet ahol ilyen alkatrészeket lehet vásárolni? (mármint AVR procikat és alap alakatrészeket) HEStore-ból rendelnék szívesen de kezdő projekthez eléggé aránytalan a szállítási költség.
(#) zombee válasza Reggie hozzászólására (») Aug 20, 2011 /
 
Hát igen, ebben én is egyetértek. Más architektúra, más környezet, stb. Hívsz egy könyvtári függvényt egy nem feltétlenül legjobb optimalizáló mellett és már be is telik az egész.
Na ezért is ragadtam le az AVR8-aknál...
(#) zombee válasza nagyi86 hozzászólására (») Aug 20, 2011 /
 
Szegeden ott a RET, a munkahelyemen is általában onnan rendelnek mert 15k fölött a szállítás ingyenes és az árai sincsenek elszállva.

Havalakinek kész cuccra fájna a foga, ilyen fejlesztőpaneleket(lásd:kép) is készítek. Ez már ATMega32-vel
van szerelve(úgyis kitalálod: 32KB programmemória).
De lehet hogy ennek a "ki mit épített" topikban lenne a helye...

PICT0220.JPG
    
(#) zoly15 válasza Ricsi89 hozzászólására (») Aug 20, 2011 /
 
A 10,7V-ot közvetlen söntölés után, mert a söntölés után jön a "mérés kiértékelés"
(#) Reggie válasza zombee hozzászólására (») Aug 20, 2011 /
 
Hat legjobb optimalizacional is ez van. Mondjuk itt ugye eleve nagyobbak az utasitasok es cimek, igy egy indirekt cimez is tobb helyet visz, valamint a bonyolultabb periferiak kezelesehez is tobb hely kell. Peldaul a megszakitas es kivetelkezelo helybol kb 1kbyte (es nem a gyarit hasznalom, hanem ujrairtam egy kicsit jobbat).
Nagy elonye, hogy alacsony orajelen is jo gyors, arban meg kb. ugyan annyi.
(#) nagyi86 hozzászólása Aug 20, 2011 /
 
Köszönöm a segítséget mindenkinek!
Megpróbálok előre lépni ezek alapján. Ha már lesz kezemben tesztelhető eszköz és nem értek valamit, jövök kérdezni
(#) neogeo2 válasza nagyi86 hozzászólására (») Aug 20, 2011 /
 
Szeretnék adni jó tanácsot... Ha valahonnan messziről rendelsz avr-t, akkor rendelj belőle többet. Minimum 2-3 darab kell, mert eleinte jó esély van rá, hogy kinyírj belőle 1-2 darabot. Esetleg ki tudod zárni magad a fuse bitek állítgatásával. Ekkor jól jön, ha van másik...

Amikor próbálkoztam az stk200 programozóval, jó tapasztalataim voltak vele. 2 félét csináltam belőle, de nekem csak az egyszerűbb fajta működött (ic nélküli). Amit linkeltél az sehogyan sem akart összejönni. Biztosan én voltam az ügyetlen, de ez a sikertelen projecteim számát gyarapítja.

zombee féle usb-s programozót használok jelenleg. Hibáltanul megy már jó ideje. Bátran ajánlható a cucc... Nem is tudom hogyan tudja ezen az áron adni, hiszen csak anyagárban közel ott van. Kár nekiállni építgetni.
(#) Ricsi89 válasza zoly15 hozzászólására (») Aug 20, 2011 /
 
Elvileg söntölés közben mér. Program szerint sönt be, vár 1s-et, mér, majd kikapcsolja a söntöt.
(#) nagyi86 válasza neogeo2 hozzászólására (») Aug 20, 2011 /
 
Köszi a tapasztalatokat. Gondolkodom is rajta hogy az egyszerűbb LPT portos verziót is összerakom, épp most sikerült életet lehelni a vékony kliensembe. Viszont közben az USB-s égetőről is egyeztetünk. 2600Ft-ért korrekt, még ha hozzá számolom a postázási költséget is.

Egyelőre el kell mennem venni alkatrészeket, addig nem tudok előrébb lépni.
(#) zombee válasza neogeo2 hozzászólására (») Aug 20, 2011 /
 
Örülök hogy innen is kapom a pozitív visszajelzéseket, használd még sokáig jó egészséggel!
Az otthoni megépítéshez elég sok türelem is szükséges, pár becéző szó is kell főleg a női rokonai meg felmenői felé, mert elsőre semmi nem sikerül. Olcsóbb biztosan nem lesz, csak az érzés hogy "ezt is én építettem".
(#) geri12 hozzászólása Aug 21, 2011 /
 
Üdv mindenkinek!

"Unalmamban" meg csináltam a Topi féle egyszerű dallamcsengőt. Alap dallamokkal működik is szépen. Viszont én saját dallammal is kipróbálnám. Na szóval. Ez az első AVR-es projektem, a fordító nem okozott gondot. A mellékelt rövid dallamokat is be tudtam szerkeszteni és újra le tudtam fordítani. Azonban most ott tartok hogy egy hosszabb dallamot is szeretnék rárakni, mint a megszokott. A pc-s RTTL-es átalakítással nem is volt gond. Az átalaktott programsor is bekerült a fordítóba szépen, de élesztésnél sajnos a dallamot nem játsza végig, hanem levágja a negyedénél és újrakezdi. Van ebben valami idő limit? Jó tudom hogy csengőnél nem kell egy percig szólnia egy dallamnak, de másra kéne. Ha valaki ismeri a forráskódot is tudja mit kell átváltoztatni, azt megköszönném. A c-s kódot nem mellékelem, mert kapcsolások között megtalálható. Topi munkája... Köszi előre is!
(#) Reggie válasza geri12 hozzászólására (») Aug 21, 2011 /
 
Az ilyen jellegu problema abbol adodhat, hogy egy valtozo tulcsordul.
A te esetedben konkretan ez a ChrIndex valtozo, ezert a tipusat valtoztatsd meg u08-rol u16-ra.
Mivel ezt a valtozot kapja meg a GetByteFromData, ezer a fuggvenyben az ind valtozo tipusat is at kell irni u16-a.
(#) geri12 válasza Reggie hozzászólására (») Aug 21, 2011 /
 
Oké! Köszi az extra gyors választ. Alvás elött még gyorsan megnézem jó lesz-e...
(#) geri12 válasza Reggie hozzászólására (») Aug 21, 2011 /
 
Sajnos evvel a változtatással a dallam olyan gyors lett hogy pár másodperc alatt vége. Viszont nem vágja le. Lehet azonban én szúrtam még el valamit, nem jó ilyen későn ilyennel foglalkozni... Ha nem jutok előre a módosított fájl-t mégis fel fogom tölteni.
(#) Reggie válasza geri12 hozzászólására (») Aug 21, 2011 /
 
A cimzest vegzo valtozo meretenek valtozasanak semmilyen koze sincs a sebesseghez. Ez egy masmilyen hiba lehet.
(#) geri12 válasza Reggie hozzászólására (») Aug 21, 2011 /
 
Mellékeltem az éjszakai átírást. Evvel a dallam pillanatok alatt lefút... Csak a main-t írtam át. Ha van benne valami hiba szívesen tanulnék belőle. Bocsi, avr világában kezdő vagyok. Még az USB-s égető áramkört is tegnap csináltam meg...

main.c
    
(#) DJanosi hozzászólása Aug 21, 2011 /
 
Üdv ! Elkészítettem a Topi fele AVR programozót ! Az elején mikor csatlakoztattam a számító géphez kijelezte hogy hobbielektronika meg ez az ! Raktam hozza drivert aztán most ha csatlakoztatom nem írja hogy van e csatlakoztatva valami a számítógéphez vagy sem ! Az AVR Stúdióhoz sem akar csatlakozni ! Milyen mondban kell legyen mikor akarjuk csatlakoztatni? Az ISP csatlakozót el kell távolítani ? A jumperek közül pedig a VCC t hagyni?
(#) latyika hozzászólása Aug 21, 2011 /
 
Üdv Mindenkinek!
Egy kérdés. Egy konyhai sütő elektronikája tönkre ment a rossz bekötés miatt. A vezérlés egy ATMEGA16l 8au adja a kerámia lapoknak. Lecseréltem eme kis alkatrészt, majd egy működőből, a pony prog-al kiolvastam a Flash tartalmat, ezután be írtam az új mikrokontrollerbe, és nem megy. Van egy gyanúm, hogy védelem lehet a kiolvasást illetően. Külső kvarc is van a panelon, és az újra programozott mikrokontroller kvarcja nem hajlandó menni. Ha rossz a program, akkor nincs oszcilláció sem?
Vagy az független, és annak kellene akkor is mennie?


Latyi
(#) huba válasza DJanosi hozzászólására (») Aug 21, 2011 /
 
Erre a kérdésre már egyszer válaszoltam. Nem értrem mi van mostanában veled.
(#) geri12 hozzászólása Aug 21, 2011 /
 
Közben foglalkoztam a dallamcsengővel. Egyéb zenék reflénjét raktam bele, ami szépen megy is, de pár dallamnál (nem mindnél!) sok helyen hangot téveszt. Egy sima web-es RTTL playerrel pedig jól adja vissza, tehát vagy a RTTL konvertálás vagy az AVR nem tudja megfelelően kiadni azt a hangot. Tovább nem is foglalkoznák ezért vele, épp elég volt belőle ennyi. Tanulásnak jó volt. A segítséget azért köszönöm.
(#) Reggie válasza geri12 hozzászólására (») Aug 22, 2011 /
 
Szemre jonak tunik. Ki kell debuggolni.
(#) Reggie válasza latyika hozzászólására (») Aug 22, 2011 /
 
Ha vedett az IC, a kodot ugyan ugy ki tudod olvasni(azaz hibat nem jelez a szoftver), csak az a trukk benne, hogy nem a programot kapod vissza.

Ha a fuse biteket nem programoztad be, akkor azert nem rezonal. A Fuse biteket kulon kell kiolvasni es programozni is. (Kivetel, ha elf fajbol programozol.)
(#) jodri2003 hozzászólása Aug 22, 2011 /
 
Sziasztok!
Korábban DIP tokozású AVR procikat már programoztam sikerrel. A kérdésem az lenne, hogy az AVR32-es DIP 40-es lábkiosztású processzor és a TQFP64 tokozású AVR128 processzor élesztésében programozásában van-e valamilyen különbség azon kívül, hogy a programozás során és a projektnél beállítom az AVR128-as processzort.
Köszi:Jodri
(#) painkillerperoxi hozzászólása Aug 22, 2011 /
 
Hello mindenkinek!

A segítségeteket kérném: egy .bas file-t szeretnék .hex-be compilerezni, de eddig nem jártam sikerrel, mivel tudnám ezt elvégezni?
Előre is köszi!

an39-prog.bas
    
(#) puli122 válasza painkillerperoxi hozzászólására (») Aug 22, 2011 /
 
(#) zombee válasza jodri2003 hozzászólására (») Aug 22, 2011 /
 
Ha AVR32-n ATMega32-t értesz(nem mindegy, mert így hívják a 32 bites AVR családot) akkor a programozásnál ugyanazokat a lábakat tudod használni.
Az ATMega128-nál több port(E,F,G) és periféria van, de lényegében ugyanúgy lehet mindent programozni. Ha assemblerben programozol akkor ügyelj arra hogy néhány portot(pl. PortG) nem érsz el az in/ot paranccsal, az lds/sts-t kell használni.
Következő: »»   352 / 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