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
Hali!
Mit egettel bele? A leiras szerint letoltotted Linux-ra az avr-gcc-t, meg mindent, es azzal vegigcsinaltad a dolgokat? Lefordult hiba nelkul? Alapkapcsolasnak jo az, amit te is megepitettel (avcc tapon!). SW-t nem merek kuldeni, mert nincs itthon atmega16-om, hogy kiprobaljam, tesztelni meg teszteletlen programmal eleg nagy butasag volna.
Sziasztok!
Nemrég kezdtem ismerkedni ezzel a tudománnyal, és elakadtam a programozómmal. A kapcsolások között van egy Első AVR Programozóm (szerző: szilva, trudnai) cikk, ami alapján megépítettem. Bascom-avr-el szeretném kezdeni a programozást majd. Visszatérve a programozóra. A bascom-avr tudja azonosítani az attiny2313-at, de írni bele már nem. Az írás befejeztével kiírja az ablak aljára, hogy verify failed! Próbáltam már 1nF-os kondit kötni a reset és a Gnd közé, de akkor sem tudtam írni bele. Hogyan tudnám beüzemelni a programozót? Mindent a cikk alapján csináltam, a nyák tökéletes többször nagyítóval átvizsgáltam. Valakinek van-e ötlete, mit ronthattam el? Üdv.Robi
Most windows alatt próbálkozok avrstudioval. A linuxos oldal amit linkeltem, az csak a kapcsolás miatt kellett, meg kipróbáltam azt a c kódot is.
Itt találsz infót az SPI-ról, C-ben: AVR SPI
Az egyik vezérlőt Master, a másikat Slave módba állítsd. AVR SPI GCC
Ok kösz! Egy soros portos programozót összedobok állítólag azzal bele tudom rakni a firmwaret poniprog nevű programmal! AVR-t még soha nem progiztam csak PIC-et! Gondolom hasonló a menete
Bővebben: Link Erre gondoltam!
Üdv!
Már egy ideje tanulgatom az AVR témát, de eddig csak a belső oszcillátort használtam. Most vettem néhány kristályt és szeretném kipróbálni. Egy órát csinálnék első körben. A gond az, hogy sima soros programozóm van. Az IC-t belerakom, majd programozás után kiszedem és beteszem az áramkörbe. Jól sejtem, hogy így nem fog menni a programozás? Mert ha beállítom a fuse biteket, utána visszarakom a programozóba, ott nincs külső órajel. Így kizárom magam, igaz ? Mivel lehetne ezt kiküszöbölni? Ha a programozóra rakok 1 kvarcot, vagy ez felejtős? Vagy ISP kellene?
Pontosan... rakj a programozóba is egy kvarcot.
Üdvözlök mindenkit!
A következő problémám van AVR studiót használok WIN AVR fordítóval. Ha egy PL T0-ába egy változó értékét növelem (m_Wait++) és volatile WORD m_Wait; ,akkor a kódom kb 2k-val :eek2: nagyobb mint akkor, ha elhagyom a volatile kulcsszót. Az m_Wait egy függvényben van felhasználva mint késleltető, ahol egy while nézi az értékét. Mi lehet az oka a horrorisztikus kódméret növekedésnek? Előre is köszönöm a válaszokat.
Sziasztok!
A következőben szeretnék segítséget kérni: ATtiny13 -mail szeretnék csinálni egy áramkört ami 3 vezetéken mérné a feszültséget és eldöntené, hogy az 1-esen mérhető feszültség nagyobb-e mint a 2-esen mérhető és kisebb-e mint a 3-ason mérhető... szóval (2<1<3)=? (Mind3 vezetéken 0 és 5V közötti feszültség mérhető) A kapcsolás egyenlőre próba szintyén így néz ki: Bővebben: Link (a 3 potméterrel beállított feszültségeket akarnám összehasonlítani, és ha igaz h 1<2<3 akkor viláítson mondjuk az egyik ledsor, ha nem akkor a másik... De valahogy nem akar összejönni. Valaki segítene, hogy mit rontottam el a mellékelt kódban? Előre is köszi a segítséget! Üdv! Andris
Habár konkrét választ nem tudok adni, de én valahogy így tárnám fel a hiba okát:
if (pot1>500) {led_bekapcsolása;} else {led_kikapcsolása;} Az adc 0-1023 terjedő értéket ad vissza, így az 500 esetén kb fél állás után bekapcsol a led. Ha mégse így lenne akkor visszább van a hiba. Ha mind a 3 potméterrrel jó külön-külön, akkor lehet tovább menni.
A volatile használatakor a fordító nem optimalizál.
"Variables declared to be volatile will not be optimized by the compiler because the compiler must assume that their values can change at any time." Bővebben: Link
Sziasztok! Megépítettem EZT a programozót és egy ATMEGA8-16PU-t szeretnék vele programozni! A programozót ha beteszem a soros portba és a beállításoknál (ponyprog) nyomok egy tesztet akkor azt írja ki,hogy ok de ha írni akarom a hexet nem indul el csak hibaüzenetet dob ki Az AVR-t tudásomhoz mérten kapcsoltam rá az eredetiről lesve a lábneveket és becseréltem a megfelelő lábszámra ennél a tipusnál de semmi Vajon mi lehet a gond vele? Usb felismeri ismeretlen eszközként de nincs bent a firmware ezt akarom belerakni az usb programozóba! Esetleg bent a programozóba a helyén valami soros portra drótozással nem lehetne felprogizni mert ez nem igen megy amit építettem:8
Táp van az IC-n?
A teszt nem tudom mennyit ér... nekem például FAILED lett, mégis fel tudtam programozni az IC-t. Esetleg ezt is kipróbálhatod:STK200
Köszi! Kipróbálom holnap az LPT külső tápost! Csak 8MHz-es kvarc van itthon azzal is menni fog?
Még valami! Az AVR-nél létezik olyan programozópanel mint a PIC-nél? Van bent négy DIP foglalat 8,18,28,40 lábú és össze vannak kötve a panelen mindegyik a megfelelő kiosztás szerint! Ha van ilyen nyákrajz valakinek azt nagyon megköszönném! Inkább DIP tokozatúakat csinálgatok hobbi szinten
Helló! Olyanra gondoltál ami a képemen van. Az a Topi féle AVR - Doper kiegészítő panelje nállam. Szerintem még próbapanelen is megfelelne neked. Nekem ez a panel így megfelel, ezen egyből kitudom próbálni mit csinál a program, ha nem tetszik egyből áttudom irni.
Kösz! Úgy látom még olvasgatnom kell!
Sziasztok!
Érdeklődnék, hogy létezik-e olyan IC aminek a segítségével tudok egy atiny 45-el 28 LED-et vezérelni? Olyasmire gondolok, mint a ledsoros hőmérő. A procinak 5 szabad lába lenne.
Sziasztok! Sajnos megint elakadtam Szóval megépítettem a vzoole által javasolt programozót és szerintem működik is de van egy gondom! A Topi féle usb AVR programozó hex filet ha betöltöm a BASCOM AVR programban errort ír de ha átugrom a hibaüzeneteket kihagyva a programozó részbe akkor be tudom tölteni és bele is írja az AVR-be meg törli is mert kiolvasással ellenőriztem! A helyén sajna nem indul el azzal mit beleírok!
Bocsi, hüle kérdés, de:
Újratelepítettem vistát gépemen, és jelenleg nem ismeri fel AVRstúdió a Topi féle AVR programozót A gépen megjelent, mint COM4, driver is fenn van, winavr is. Van valami ötletetek, hogy mi lehet már megint? Kétszer telepítettem eddig, és mindig eljátszottam ezt. Sokórás szenvedés... Köszi!
Ajánlom figyelmedbe ezt.
Logikai kapukkal lehetne kiegészíteni, vagy nagyobb proci!
A fordítási optimalizálást kikapcsolva is tapasztalom a jelenséget. Ha nem optimalizálok, akkor még a flash-méretből is kilép (programja válogatja) Azonban egy rövidke progi esetében semmi változást sem tapasztaltam a kód méretének változásában. A nagyobb kódok esetén van jelentősége, ahogy észrevettem. Visszanéztem az ASM kódot és volatilével teljesen mást fordított mint nélküle.
Köszi!
A 7 szegmenses óra rávilágított a lényegre, igazából én is egy négy digites kijelzőt csinálnék. |
Bejelentkezés
Hirdetés |