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
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!
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?
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ű.
Nehogy azt hidd. AVR32-nel 16kb ugy elfogy, hogy eszre sem veszed es alig csinaltal valamit.
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.
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...
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...
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"
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.
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
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.
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.
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.
Ö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".
Ü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!
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.
Oké! Köszi az extra gyors választ. Alvás elött még gyorsan megnézem jó lesz-e...
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.
A cimzest vegzo valtozo meretenek valtozasanak semmilyen koze sincs a sebesseghez. Ez egy masmilyen hiba lehet.
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...
Ü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?
Ü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
Erre a kérdésre már egyszer válaszoltam. Nem értrem mi van mostanában veled.
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.
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.)
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
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!
Ezzel: BASCOM-8051 DEMO
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. |
Bejelentkezés
Hirdetés |