Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
 
Témaindító: pakibec, idő: Márc 11, 2006
Témakörök:
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
Lapozás: OK   94 / 840
(#) trudnai válasza Router hozzászólására (») Jan 15, 2009 /
 
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...
(#) Router válasza trudnai hozzászólására (») Jan 15, 2009 /
 
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.
(#) Router hozzászólása Jan 15, 2009 /
 
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.
(#) ATtiny válasza Router hozzászólására (») Jan 15, 2009 /
 
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:

  1. PORTA = 1 //(LED 1 világít)
  2. PORTA = 2 //(LED 2 világít)
  3. PORTA = 4 //(LED 3 világít)
  4. PORTA = 8 //(LED 4 világít)
  5. PORTA = 16 //(LED 5 világít)
  6. PORTA = 32 //(LED 6 világít)
  7. PORTA = 64 //(LED 7 világít)
  8. PORTA = 128 //(LED 8 világít)


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.
(#) Router válasza ATtiny hozzászólására (») Jan 15, 2009 /
 
Á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
(#) zoly15 hozzászólása Jan 15, 2009 /
 
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ő)
(#) szilva válasza zoly15 hozzászólására (») Jan 15, 2009 /
 
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.
(#) zoly15 válasza szilva hozzászólására (») Jan 15, 2009 /
 
Köszönöm!
Akkor összerakom és jelentkezem!

Üdv!
(#) ATtiny válasza Router hozzászólására (») Jan 15, 2009 /
 
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.
(#) Router válasza ATtiny hozzászólására (») Jan 15, 2009 /
 
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ű.
(#) TavIR-AVR válasza zoly15 hozzászólására (») Jan 15, 2009 /
 
STK200 néven LPT poros fut sokfele.
(#) vtsoftware hozzászólása Jan 15, 2009 /
 
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ó...
(#) Norberto válasza vtsoftware hozzászólására (») Jan 15, 2009 /
 
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.
(#) vtsoftware válasza Norberto hozzászólására (») Jan 15, 2009 /
 
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.
(#) zoly15 hozzászólása Jan 16, 2009 /
 
Sziasztok!
Ismét segítségre lenne szükségem...
Fel kéne programoznom az AVR doperemet...
összedugdostam próbapanelen Ezt...
Eddig rendben van minden..
De nem tudom hogy melyik lábakat hova kösszeg az AVR en
ITT az adatlap!
Valaki segítene mit hová kössek?

Üdv!
Melyik párhuzamos portira gondolsz?
(#) Topi válasza zoly15 hozzászólására (») Jan 16, 2009 /
 
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.
(#) zoly15 válasza Topi hozzászólására (») Jan 16, 2009 /
 
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!
(#) Topi válasza zoly15 hozzászólására (») Jan 16, 2009 /
 
Ezt sem értem... Atmega8 van az oldalon, neked meg atmega8-at kell beprogramozni. Megmondod mi különbség van egy atmega8 és egy atmega8 között?
(#) Grebi hozzászólása Jan 16, 2009 /
 
Ü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...
(#) vzoole válasza zoly15 hozzászólására (») Jan 16, 2009 /
 
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.
(#) Sir-Nyeteg hozzászólása Jan 17, 2009 /
 
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....
(#) TavIR-AVR válasza Sir-Nyeteg hozzászólására (») Jan 17, 2009 /
 
COM16 a gond. AVRStuido COM8 felett nem lát (4.14 verz)
(#) Sir-Nyeteg válasza TavIR-AVR hozzászólására (») Jan 17, 2009 /
 
Átirtam COM1-es, majd COM2-es-re is. Ugyanaz az eredmény. 4.15. verzió, de winavr se látja.
(#) Topi válasza Sir-Nyeteg hozzászólására (») Jan 17, 2009 /
 
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"
(#) Sir-Nyeteg válasza Topi hozzászólására (») Jan 17, 2009 /
 
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".

avrstudio.JPG
    
(#) Topi válasza Sir-Nyeteg hozzászólására (») Jan 17, 2009 /
 
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.
(#) Sir-Nyeteg válasza Sir-Nyeteg hozzászólására (») Jan 17, 2009 /
 
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!
(#) Topi válasza Sir-Nyeteg hozzászólására (») Jan 17, 2009 /
 
Á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)
(#) Sir-Nyeteg válasza Topi hozzászólására (») Jan 17, 2009 /
 
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?
(#) Topi válasza Sir-Nyeteg hozzászólására (») Jan 17, 2009 /
 
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!
Következő: »»   94 / 840
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem