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? ![]()
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
![]() ![]()
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
![]()
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 |