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
Őőő, nem de azt nem is kellene programozáskor nem?
Amúgy is nullára teszi a programozó áramkör a reset lábat.
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.
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....)
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!
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?
űdv.
PID controlt szeretnék használni egy projektemhez, ha valaki irt már ilyet Mikropascalba, Bascomba, akkor kérem jelezze. Köszönet.
Ü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
Lehet csak én nem találom. A fuse doctor-ba a mega8 belső 8mhz-s órajelről jár?
Amennyiben ezt építed: fusebit doctor, akkor a következő fuseok kellenek: H:0xE1 L:0xD1
Megjegyzem, ott van a readme-ben.
Még egyszer elolvasva tényleg ott van. :pirul:
Ez erdekes. A fuse bitek alapjan mennie kene siman. A boot reset vector nem szamit programozaskor.
Ü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?
Igazan nincs. De a kulso RC annyit tesz, hogy fogsz egy megfelelo erteku kondit es ellenallast es raforrasztod. Egyszerubb mint fuse doctort epiteni...
TavIR.
Bascom alapoktól....
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.
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.
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.
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.
Viszont cserebe ponyprog mellett megtanulod a fuse biteket, ami az itteni kerdeseket elnezve eros hianyossag...
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
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!
A fuse biteket amugy a project file-ban eltarolja az AVR Studio, nem?
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.
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.
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?
Elmeletben: Igen, barmi elromolhat... Gyakorlatban: Ahogy mar icserny emlitette, en is elsosorban az analog aramkort mernem ki elso korben.
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?
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. Idézet: 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.„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.” 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.
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.
|
Bejelentkezés
Hirdetés |