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 Idézet: „A kérdésem az, hogy (lehet már sokszokr volt ) létezik-e valamilyen leírás ami szájbarágós mintaprogramokat tartalmaz a ledek villogtatásától kezdve, gondolok itt nyomógomb lekérdezésre először és szépen haladhatnék előre” Topi cikksorozatat olvastad mar? A Nyolc labbal-t? Kapcsolasok koztt megtalalod, ill a kezdo lapon is mintha ez lenne...
Persze, láttam és figyelgetem is egy ideje ezen cikkeket csak ő, ahogy láttam nem bascommal dolgozik ami nem is lenne akkora baj számomra, hanem inkább az ott közzétett programkód bonyolult kicsit még. Tényleg a kezdetektől akarom tanulmányozni, hogy meg is maradjon a megtanult dolog és ne csak a kész, mások által megírt kódot égessem be.
Továbblépésként több ledet szeretnék az avr-re kötni mivel van még pár kivezetése az atmega16-nak csak nem tudom, hogy hogyan kellene egyesével elnevezni a lábakat. Simán a led villogót szeretném működtetni párhuzamosan, más más villanási ciklussal két vagy több leddel de mivel a PORTA kimenetnek van konfigolva, így minden lábon ugyanazt csinálja.
Az hogy a PORTA kimenet az teljesen rendben van. Az egyes lábakat pedig első körben felesleges külön elnevezni (bár lehet). Sokkal egyszerübb ha a 2-es számrendszer felöl közelíted meg a kérdést. PortA -hoz tartozik 8db láb és PortA-ra a programban 0...255 közötti számot (egy byte) küldhetsz ki. Ha minden lábra a port A-n kötsz egy LED-et, akkor a következő módszerrel tudod őket vezérelni:
Ha egyszerre több LED-et akarsz működtetni, akkor egyszerüen csak össze kell adni a számokat. Mondjuk az első, harmadik és negyedik LED bekapcsolása : PORTA = 1 + 4 + 8 Remélem segítettem valamit. Igyekeztem úgy megfogalmazni, hogy egy teljesen kezdő is megértse.
Áhhá, értettem, és köszönöm a segítséget, majd kipróbálom.
A ledek vezérlése ezzel megoldott de a párhuzamos programfuttatás több lábon egyszerre megint más mivel a minta villogtató így néz ki: config porta = output do porta = 255 waitms 50 porta = 0 waitms 50 loop end ehhez képest én ugyanígy kimenetnek konfigolom az A portot de: config porta = output do porta = 1 // világít az A port első ledje waitms 50 // 50ms-ig világít porta = 0 // na innentől mivan? mivel tudomásom szerint ilyenkor nem megy sehova semmi az egész portól ha az érték nulla
Sziasztok!
Meg szeretném építeni a TOPI féle AVR DOPERT.. De a SAN féle SMD verziót.. már meg van hozzá mindenem csak össze kéne raknom! Annyi lenne a kérdésem hogy: - ha a processzor beforrasztom utána pedig a többi alkatrészt akkor ugyan úgy be lehet programozni vagy csak akkor hogyha "magában van" azaz nincsen a céláramkörből körülötte semmi? Másik kérdés: - Mivel tudnák felprogramozni (soros porti égető) egy Atmega8 16AU processzort? Valaki nem tudna valami linket, kapcsolási rajzot adni egy ideiglenes égetőről? Üdv! Előre is köszönöm! AVR Doper rajz SAn féle verzió ( az oldal közepe felé a 3 kép közül a középső)
Ezen a linken van egy programozókészlet leírása:Bővebben: Link
Neked a base board és valamelyik AVR-es kiegészítő, valamint az Általad használni kívánt (mega8) adatlapja alapján kellene összeállítani egy áramköröcskét a soros portra. Én tiny2313-at sikeresen programoztam egy ilyesmivel, külső táp nélkül is. Esetleg nézd meg itt a Kapcsolások között az "Első AVR programozóm" c. cikket, abban a tiny2313 programozására összeütött mütyürt be is mutatom. Szerintem valami olyasmire lenne szükséged, csak 28 lábú tokra átdolgozott lábkiosztással. A fenti linkről a PonyProg 2000 progi is letölthető, ami kezeli ezt a hardvert.
Köszönöm!
Akkor összerakom és jelentkezem! Üdv!
Nos igen, ez a kód nem fog soha párhuzamosan több leded villogtatni egymástól teljesen különböző ütemben. Egészen más felépítésű programot kell írni ha te a 8db LED-et egymástól függetlenül (de egyidőben) szeretnél villogtatni. Ráadásul ez a kód már nem is lesz olyan egyszerű. Én azt javaslom kezdőként ne pont a párhuzamos folyamatok programozásával próbálkozzál, hanem valami lineális dolgot találjál ki.
Akkor nem én voltam a hülye, legalább már ezt tudjuk hirtelen ezt tudtam kitalálni magamnak, futófény már megy, random villogtatás szintén megoldott, most nyomógombos dolgokat szeretnék kezdeni de ahogy néztem az sem egyszerű.
Sziasztok
Szeretnék olvasni, ehhez pedig szeretnék tőletek segítséget kérni. Mindenhol látom hogy két IC a regiszter bitekkel kommunkál, de én ebből nem tudok az ég adta világon semmit . Tehát egy kis olvasnivaló kellene nekem a regiszterekről. Ha valaki tudna linket adni ilyenről, vagy esetleg egy kis leírása van, vagy példaprogramot tud valahol, annak nagyon örülnék. Minél több összejönne annál jobb lenne. Előre is köszönöm Információ... ii...ii.iiinformáció...
Idézet: „Mindenhol látom hogy két IC a regiszter bitekkel kommunkál” Valami konkrétabbat írhattál volna, vagy valami, hogy tudjuk, hol olvastál ilyeneket.
Nem, nem én tényleg k.u.k.a vagyok ezen a téren, én csak így gondolom, de gondoltam hogy nem így van.
Semmit de semmit nem tudok - azt sem mire jók - a regiszterekről, épp ezért kérnék valami ii.iinformációt.
Nem értem a problémádat. Atmega8-ra ott van az oldalon mit hova kell kötni.
Azon az oldalon, amit Te linkeltél be! Mellesleg semmi garancia nincs arra, hogy ez menni fog. A sorosport nem erre való. Miért nem volt jó a párhuzamosportos garantáltan működő? De a procit csak a helyén programozd, mert kell kristály és táp is.
Egyik ismerősömnek ez már működött...
Jah hogy ott van az oldalon? szóval AVR eken belül nem változik a bekötés Ezt nem tudtam.. Elnézést kérek Üdv!
Üdv mindenkinek!
Kérdésem az lenne hogy van-e olyan progi, vagy van-e valamiféle beépülő modul az AVR Studio-ba amivel virtuálisan le tudodm tesztelni hogy működik a progim amit be akarok égetni az AVR-be?? Előre is köszünöm a választ...
Helló ha van kedved próbáld ki ezt a párhuzamos programozó panelt. A port csatlakozó közé csak be kell dugni a panelt és a testet átvezetékezni.
Még nem teszteltem, tehát nézd át! Ezt olvasd el, plusz infó. Ez az alapjaa kapcsolásnak.
Végre megjött az AVR programozóm, 22:00 óta itt szenvedek vele, megépítettem, összeraktam, de nem működik.
Felismerés tökéletes, telepítés ok. Új port megvan, COM 16-os lett. Mintaprogram beírva, videó szerint csinálnék mindent, de a programozó kiválasztásánál a connect gombra való klikkelés után nem a kérdés jön be, hanem újra megkérdezi, h milyen programozót választok... Mi lehet a baj? Arra gondolok, hogy a win rontott el vmit, esetleg én....
COM16 a gond. AVRStuido COM8 felett nem lát (4.14 verz)
Átirtam COM1-es, majd COM2-es-re is. Ugyanaz az eredmény. 4.15. verzió, de winavr se látja.
Jött telepítő üzenet? Kis bubi "Hobbielektronika.hu:: AVR-Doper"...
Aztán driver telepítés. Vista / XP? Portnév váltás útán volt restart? Ha kihúzod majd visszadugod ugyan arra a portnévre áll vissza? A kiválasztott portot meg tudod nyitni kézzel? (Pl HyperTerminal / Realterm / WXTerm) Kicsit kevés infó az, hogy "nem működik"
Igen, Minden megvolt, most újraraktam mind a drivert, mind az AVRStudiót, most megtalálta, felismerte, de ezt az üzenetet adja ott, ahol a videóban neked azt írja, hogy "ISP sebességet csökkentsd".
Ez az üzenet ugyan az. Ott van a második bekezdésében, hogy az órajelnek procisebesség /4-nél kevesebbnek kell lennie.
De nézd meg először, jól csatlokozol-e a processzorhoz. Akkor is ezt adja üzenetnek, ha egyáltalán nem tud kommunikálni vele.
Kábelt kimértem...
Órajelet levettem legkisebbre is... Lábakat ujra kerestem, hogy jó-e a kapcsolat, de semmi. Kicseréltem az Attiny45-öt, és láss csodát. MŰKŐDIK Rossz, hibás procit kaptam volna? Gyanakszom az antisztatikus zacsik hiányára. SMD-s Attinyi45-öket például celofánba csomagolva kaptam meg Jehujj! Juhéjj! Viszont nem mindig ismeri fel avrstudió a programozót! Áltlában csak akkor, ha bedugom az usb kábelt, és egyből nyomom a connect gombot... Köszönöm!
Áhh... Azért ennyitől az ATtiny45 nem hal meg. Inkább rossz táp, stb.
Azért az ATtiny45 nem az a rettentően ESD védelemre szoruló alkatrész. AVRStudio nem mindig ismer: Ilyet még nem nagyon tapasztaltam, pedig én is használtam / használom Kriszta alatt. Ilyen, hogy bedugás után egyből kell konnektálni különben nem találja, kicsit furcsa... Max akkor, ha portcserénél olyanra állítottad, amit valaki, valamelyik program használni akar. És ha Te vagy a gyorsabb akkor megcsíped a jogot használatra. (Te nyitod meg előbb)
hihi. Valószínűleg win-es probléma lesz ez, néha megy jól, néha meg kötegszik egy kicsit.
Próbálgatom a már bemutatott 8 lábú projecteket. A szervóteszternél 5 hibát ad AVRstudió, hogy nincs deklarálva "DIDR0, ADC1D, ADCSRB" változók. Illetve #warning "F_CPU not defined for < util/delay.h >" (szóköz nélkül) Ez miért lehet?
Nem hajtottad végre azt, ami a cikkben van. Project Options. Proci típust és órajelet be kell állítani!
Olvasd el a cikket rendesen! |
Bejelentkezés
Hirdetés |