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   230 / 840
(#) Reggie hozzászólása Máj 31, 2010 /
 
Mondjuk en most betankoltam sokmindenbol.
(#) zombee válasza Reggie hozzászólására (») Máj 31, 2010 /
 
Van esetleg pár darab ATMega8-asod eladó?
DIP és SMD is megfelel...
(#) Reggie válasza zombee hozzászólására (») Máj 31, 2010 /
 
mega8 nincs, mert soha nem is hasznaltam. csak 1-2 db van azokbol amit hasznalok. esetleg van 5db mega169p amire egyaltalan nincs szuksegem. Illetve kb 2 hete meg kaptam mscbpnel mega168-ast, szerintem az van nekik.

(ja amugy a keszlethianyoknak lehet az az oka is, hogy nagyon sok tipusnak most keszult el az A vegzodesu kivalto tipuse, es lehet hogy az is benne van a dologban,hogy a regi tipus kifuttatjak.)
(#) zombee válasza Reggie hozzászólására (») Máj 31, 2010 /
 
Hello!

Pénteken azt írta az MSC-BP, hogy csak ezek az AVR kontrollerek vannak(ami nem foglalt), a többi minimum 3 hét, de csak októberre lesz meg minden:
- ATMEGA48PA-PU
- ATMEGA48-20AU
- ATTINY2313-20SU
- ATTINY13A-PU
- ATTINY45-20PU
- ATTINY45-20SU

Legutóbb ATMega48-ból vásároltam be, egyrészt rendeltek tőlem, na meg nekem is kellett tartalékba.
Azaz csak ATMega48P volt nekik aminél a signature más.
Szerencsére láb-és kód kompatíbilis, simán ráment a korábban P nélkülire fordított hex(saját tervezésű VGA meghajtó), nem is értem mi a különbség...
(#) (Felhasználó 4577) válasza Reggie hozzászólására (») Máj 31, 2010 /
 
Szállítanak házhoz. Gyakran figyelem a weboldalukat, de még soha se vettem észre, hogy frissítették volna.
Az a baj velük, hogy ha jól emlékszem csak szerdánként adnak fel csomagokat.
(#) (Felhasználó 4577) válasza trudnai hozzászólására (») Máj 31, 2010 /
 
E-bay-en még van fent pár darab és nem is tűnik drágának.
(#) Reggie válasza (Felhasználó 4577) hozzászólására (») Máj 31, 2010 /
 
Eztet en is lattam. kb 800-ra jon ki darabja. De ha nincs mas

(Darabaron ez is kb ugyan annyi)
(#) Reggie válasza zombee hozzászólására (») Máj 31, 2010 /
 
a P vegzodes pico-power-t jelent. Itt van leiras, hogy miben mas a normalhoz kepest.
(#) (Felhasználó 4577) hozzászólása Jún 1, 2010 /
 
Valakinek nincs véletlenül egy PID szabályzó algoritmusa (amibe csak a P, I, T tagoknak megfelelő értékeket kell beírni)?
Próbáltam írni a Wikipédiás cikk alapján, de nem nagyon sikerült.
(#) gtk hozzászólása Jún 2, 2010 /
 
Sziasztok !

Van egy Mega128, es hozza egy hex.
A fuse bitekkel kapcsolatosan kerdeznek...Eddig az volt, hogy kulon irtam be a fuse biteket avr-dude -al, es a fuse bitek a Makefile-ban voltak bejegyezve.
Ebben az esetben meg fogalmam nincs mi az eljaras,...ugyanis van egy hex es kesz. Koszi.
(#) (Felhasználó 4577) válasza gtk hozzászólására (») Jún 2, 2010 /
 
Nézz szét ott, ahol a hex-et találtad, hogy van-e leírás a Fuse bitekről. Ha nincs akkor nem nagyon tudsz mit csinálni, maximum próbálgatni. Esetleg ha van kép a kész eszközről, kapcsolás, akkor az alapján az órajelet be lehet állítani.
(#) gtk válasza (Felhasználó 4577) hozzászólására (») Jún 2, 2010 /
 
Az orajel Ok, azt beallitom. De a tobbi,...
Nincs semmi egyeb anyag rola.
(#) Axel hozzászólása Jún 2, 2010 /
 
Sziasztok!

Korábban már írtam nektek egy banális probléma kapcsán ami azóta sem oldódott meg, de nem adom fel.
Tehát mátrixbillentyűzetet is használó programot tervezek AVR-re. Ami ugye abból áll hogy egymás után kiadunk egy portról 5V-ot a bill. oszlopaira és a sorokat pedig bemenetként működő portokra kötjük így vizsgálva meg, hogy éppen melyik gomb van lenyomva.
Tesztként (!) mielőtt hozzáfognék a teljes program megírásának gondoltam megcsinálom az alábbi kódot mert ha ez működik akkor működni fog mátrixbill.-el is. Ezt csak azért írtam most le mert már mondták itt nekem, hogy miért írok ilyen hülye, haszontalan programot.
  1. #include <avr/io.h>
  2. #include <util/delay.h>
  3. int main()
  4. {
  5.         DDRB = (1<<PB1)|(1<<PB0); //PB1, PB0 kimenet, minden más bemenet
  6.         while(1) //Végtelenciklus...
  7.         {
  8.                 PORTB = (1<<PB1);
  9.         if(PINB3){
  10.                                 _delay_ms (250);
  11.                 PORTB = (1<<PB0); //PB0 bekapcsolása, ha a gomb nyomva van
  12.                                 _delay_ms (1500);
  13.                  }//if
  14.                 }//while
  15. }//main

A lényeg, hogy a PB1 folyamatosan magas szintet ad ki ami egy nyomógombon keresztül csatlakozik a PB3-ra. Amennyiben a gomb nyomva van úgy a PINB3 értékének egynek kéne lennie amit az if fejében vizsgálok meg. Amennyiben így van jön egy 250ms-es delay a pergés miatt és utána kigyullad a PB0-ra kötött led. A gond esetemben az, hogy az if törzse akkor is végrehajtódik ha a gomb nincs lenyomva és elvileg a PINB3 értéke nulla, mert nem érkezik meg az 5V. Mi lehet a gond? Egy biztos, hogy szerintem az if-nél, méghozzá a feltételvizsgálatban van a hiba. Próbáltam többféle feltételt megadni de vagy ugyanez történik vagy az, hogy a led a gomb állapotától függetlenül sötét marad. Attiny45-öst használok egyébként.
Aki segít megoldást találni annak előre is köszönöm.
(#) Reggie válasza (Felhasználó 4577) hozzászólására (») Jún 2, 2010 /
 
Nezd meg itt. AVR221 amit keresel szerintem.
(#) Reggie válasza Axel hozzászólására (») Jún 2, 2010 /
 
Az AVR io input labain alapertelmezetten a belso felhuzo ellenallas engedelyezve van. Igy ha nem kotottel a labra lehuzo ellenallast, akkor a tapon lesz. A felhuzo ellenallasokat a PUD bit egybe allitasaval tudod letiltani, de mindenkeppen hasznalj lehuzo ellenallasokat, hogy stabil allapotban legyenek az inputok, ha nincs gomblenyomas.

Ha pedig erdekel a szemelyes meglatasom: a logikat forditsd meg, es a lenyomott nyomogomb a fold fele huzza a bemenetet. Igy hasznalhatod elofeszitesre a belso felhuzo ellenallast(nem kell felhuzo ellenallas), valamint az alacsony aktiv logikanak szamos elonye van mint pl nagyobb elofeszito ellenallas elegendo(azaz a beepitett), igy kisebb a gombnyomas fogyasztasa, kisebb zajt general stb...
(#) Reggie válasza gtk hozzászólására (») Jún 2, 2010 /
 
Ha az orajel ok, akkor a tobbi kvazi lenyegtelen. Ha a wdt-t nem engedelyezed, akkor minden bizonnyal maradektalanul fog mukodni. CLKDIV8-at kell majd pocoktetned, ha nem jok az idozitesek stb.
(#) Axel válasza Reggie hozzászólására (») Jún 2, 2010 /
 
Szia!

Köszi a tippet!
Azt még le tudnád írni nekem, hogy pontosan milyen utasítás az ami kikapcsolja a pullup-okat?
Nem csak annyi, hogy megtoldom a programot egy (1<>
(#) Axel válasza Axel hozzászólására (») Jún 2, 2010 /
 
Na valamiért nem küldte el a végét. Ez lett volna:

"...megtoldom a programot egy
  1. (1<<PUD);
sorral"
(#) zombee válasza Axel hozzászólására (») Jún 3, 2010 /
 
Hello!

Az AVR kontrollerekbe a felhúzó(pull-up) ellenállások a kontroller indulásakor vannak kapcsolva.
Amikor a port DDRx regiszterének megadott sorszámú bitje 0, akkor bemenetként szolgál a portláb. Ilyenkor tudod kapcsolgatni a felhúzó ellenállásokat úgy, hogy a PORTx porton a megadott bitet törlöd. Bekapcsolni meg úgy 1-re állítod. A beolvasás a PINx-el történik.
(#) (Felhasználó 4577) válasza Reggie hozzászólására (») Jún 3, 2010 /
 
Köszönöm! Próbálkoztam ez alapján is, de sajnos nem sikerült.
(#) (Felhasználó 4577) válasza Reggie hozzászólására (») Jún 3, 2010 /
 
Axel fórumtársunknak hiába magyarázol. Már vagy harmadszorra teszi fel ugyan azt a hasonló programot ugyan azokkal a tipikus problémákkal. Én már írtam is neki egy mintaprogramot, magyarázattal, amiben benne van például az, hogy hogyan írjuk a feltételbe egy port logikai vizsgálatát, vagy a felhúzó ellenállások. A programban volt egy apróbb hiba, amit trudnai le is írt, de még arra se vette a fáradtságot, hogy kijavítsa.
Még egy komplett billentyűzet kezelő programot is küldtem neki, mert ezt akar csinálni, de szerintem meg se nézte.
(#) ATtiny válasza Axel hozzászólására (») Jún 3, 2010 /
 
Szia!

Ez a sor értelmetlen:
  1. if(PINB3)


Én sem tudok mást mondani, mint variszabi. Ha nem veszed a fáradságot, hogy elolvasd amit írnak neked, akkor ne csodálkozz, ha nem működnek a dolgok.
(#) sztojanov hozzászólása Jún 3, 2010 /
 
egy kérdés, semmi több

van egy Arduino Duemilanove panelem, meg egy ilyen usbtinyisp bootloader íróm hozzá: kép1

valahogy így néz ki összedugva: kép2

minden oké, rendben működik, de csak 168-as atmegát tudok írni vele, 88-asat nem... mi lehet a gond?

előre is köszi a választ! üdv nektek, jó építgetést!
(#) szoto válasza sztojanov hozzászólására (») Jún 3, 2010 /
 
Atmega88-ra nincs bootlaeder tudtommal, csak atmega8-ra.
Más procira írt bootloader pedig nem fog felmenni rá.
(#) sztojanov válasza szoto hozzászólására (») Jún 3, 2010 /
 
oh, hát akkor ez a baj...

de akkor hogy tudok feltolni a 88-asra progit, mert nekem bootloader nélkül nem megy fel rá... nem tudom használni?
(#) szoto válasza sztojanov hozzászólására (») Jún 3, 2010 /
 
Arduino nélkül fel tudod programozni.
1. A programozót rákötöd a 88-as megfelelő lábaira
2. adsz neki tápot, ha kell
3. pl. avrstudio-ban felprogramozod

vagy:

1. Ha az arduino-ban szeretnéd használni beteszed a 88-ast rákötöd a programozót
2. adsz neki tápot, ha kell
3. pl. avrstudio-ban felprogramozod

Így tudod használni a 88-ast, de az arduino fejlesztő környezetet bukod.
(#) sztojanov válasza szoto hozzászólására (») Jún 3, 2010 /
 
köszi a gyors választ! akkor maradok a 168-asnál, bár kicsit most borsos az ára!

jó építgetést nektek!
(#) gtk hozzászólása Jún 3, 2010 /
 
Sziasztok !
Probalta valaki hogy ATMega128L megy 8 MHz folott is? Csak L-es van itthon es 14.7456 MHz orajel van.
(#) (Felhasználó 4577) válasza gtk hozzászólására (») Jún 3, 2010 /
 
0 - 8 MHz ATmega128L, 1. oldal A válasz nem, az L-es csak 8MHz-ig megy.
(#) gtk válasza (Felhasználó 4577) hozzászólására (») Jún 3, 2010 /
 
Koszi, de ezt en is latom. En tapasztalatokra vagyok kivancsi. Plane hogy ilyen kemeny ara lett az AVRnek (is).
Következő: »»   230 / 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