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
Csatoltam az asm file-t , remélem segít és tudsz vele mit kezdeni.
Én ezt a programozót építettem meg, és kifogástalanul működik! Amúgy az LPT port beállítását is figyelembe kell venni, ugyanis énis jártam úgy, hogy nem akart az istenért sem működni, aztán kiderült hogy a BIOS-ban a port címe sem volt jó meg a típusa sem (EPP/ECP), ezeket nézd meg. Az I/O tartománya nálam 0378h - 037Fh.
Bővebb infó: Tavir AVR
Pont ez az érdekes, hogy én is ezt építettem meg még 2 éve és akkor működött rendesen, de ott minden szabvány volt: A céláramkörről vette a delejt, stb. Ott viszont -ahogy az előzőben írtam- a céláramkörön lévő programozó csati és az ATmega16 lábai közt voltak 330Ohmos ellenállatok. Ezért kérdeztem, hogy azok mindenképpen kellenek-e, vagy attól még meg kéne találni az AVR IC-t, csak mondjuk hibás lenne a kiolvasás/írás.
A BIOS-t már ellenőriztem. És akkor a programozáshoz szükséges dolgok, csak, hogy nehogy az egyértelműnek látszó dolgokban legyen a hiba a Tavir AVR oldalon lévő STK200 és ATtiny2313 esetén a lábak összekötése: 74LS244N -> ATtiny2313 3 -> 1 (RESET) 11 -> 18 (MISO) 16 -> 17 (MOSI) 18 -> 19 (SCK) És akkor az ATtiny2313 tápja 20 -> VCC (+5V) 10 -> GND Tehát ezeknek kell bekötve lenni programozás alatt, ha mindent jól értelmezek. Behalok, hogy ilyen egyszerű, de mégsem akar működni. Nem tudna valaki segíteni Újpesten a mai napon beletolni a szoftot ebbe az ATtiny-be? Akkor ráérnék majd később foglakozni a programozóval, vagy venni egyet készen.
Jelenleg ott tartok, hogy PonyProgban teszt képpen rányomok a Read Device gombra. Bedobja a folyamatjelzőt 0%-al, majd feldobja a hibát. Itt, ha ignore-t nyomok, akkor kiolvas valahonnan 2176 bájtnyi kódot, de közel sem vagyok benne biztos, hogy ez az üres ATtiny IC tartalma. Megőrülök.
Sziasztok
Lenne egy kérdésem ezzel a programozóval. AVR-Doper Megépítetettem. Windows Vista 64Bit-em van. Felismeri USB-HID eszköznek úgy hogy nincs rajta a USBHID jumper és ha rajta van akkor is. Viszont próbáltam módosítani a drivert ott rajz után lévő driverrel de nem engedi. Azt szeretném megtudni hogy kell-e módosítanom Bascom-AVR hez a drivert vagy felismeri így is? Amúgy ami az oldalon a rajz után van hex fálj az lett a ATMega8 ba égetve egy másik égetőből és visszzatéve amit csináltam és utána ismeri fel a gép USB-HID nek. Akinek vista 64bitje van kérem segítsen nekem Előre is köszönöm
Hello.
Nagyon kezdő vagyok az mcu progik terén. azt szeretném megoldani hogy egy atimega8 as mcu portc jén levő 3 led vilogjon ugy hogy az egyik mondjuk 200 ms időközönkent egy másik 300 ms időközönkent es egy harmadik 500 ms időközönkent.A nagy baj az hogy basic nyelvben kelene megirodjon mivel hogy a bascomot használjuk a suliban. Segitségeteket elöre is kösz.
Programváz:
Definíciók: $regfile $crystal =10000000 Alapbeállítás: Config portb.3=output és ez egyéb LEDlábakra is Config timer =timer , ....'100msec periódusidő dim szamlalo as byte on timer 1 TIMERrutin enable timer1 enable interrupts start timer1 do nop loop TIMERrutin: szamlalo=szamlalo+1 if szamlalo mod 5 =0 then toggle portb.2 '500 msec valtas if szamlalo mod 2 =0 then toggle portb.1 '200 msec valtas if szamlalo mod 3=0 then toggle portb.2 '300 msec valtas tobbszoros if szamlalo=30 then szamlalo=0'legkisebb kozos tobbszoros return
Szisztok!
Nem tud akkor senki segíteni Vista 64bit rendszerbe nagyon szeretnék már programozni de sajnos nem tudom feltelepíteni a Com drivert. A gép felismeri Com port ként de felkiáltó jelezve hibát ír ki. és ha frissítem az oldalon lévő driverrel akkor is ott marad a felkiáltó jel. Segítsen valaki köszönöm.
Hi.
Szeretnék egy kis infot kérdezni. Rendeltem 1 Slirvercard smartcardot amibe PIC controller van,de a srác küldött funcard4-et ami ugye AT90S8515 alapu. Az lenne a kérdésem hogy ezt hogy tudom felprogizni utána illeszteni áramkörbe ha a XTAL 1ik lába van csak kivezetve. Vagy van benne belső qvarc is? Pic-et tudok progizni de a Ponyba is be van kötve 1 qvarc. http://www.wlsmartcard.com/images/funcard.gif Thx
Az AT90S8515 -ben nincsen belső oszcillátor. Azért van kivezetve az XTAL1 -es láb, mivel az használható külső órajel bemenetnek. Amúgy meg ha megnézted volna az adatlaját Bővebben: Link akkor ez egyből kiderült volna. Szerintem elég szerencsétlen választás volt pont a AT90S8515 -ös. Ennél sokkal jobb AVR-eket lehet kapni azonos árban.
Thx,de sajnos nem volt választásom mert ez volt a chipkártyába.
Az XTAL1 az ki van vezetve de az XTAL2 nincs , hová kötöm a qvarc másik lábát? Köszi.
Oszcillatort kell hasznalni ez esetben nem qvarcot, mert nincs belso oszcillatora ennek a procinak.
A külső órajel bemenetre négyszögjelet kell adni programozás során. Kvarcot nem tudsz használni XTAL2 nélkül. Lásd adatlap. Ha már belinkeltem neked az adatlapot, vehetted volna a fáradságot, hogy megnézed. 86. oldalon le van írva minden.
Egészen konkrétan: Idézet: „Either an external clock is supplied at pin XTAL1 or crystal needs to be connected across pins XTAL1 and XTAL2.” Magyarul XTAL1-en kell külső órajel programozáskor vagy kell egy kvarc a XTAL1 és XTAL2 láb közé.
Az adatlap 6. oldalan megtalalsz mindent. Hasznalhatsz qvarcot, de akkor kell az XTAL2 is. Ha nem, akkor hasznalj kulso oszcillatort.
Sziasztok!
Lenne néhány kérdésem akkumlátoros üzemről. Egy készülék 4db NiMh akkuról menne (kb.:120 mA fogyasztással). Ez feltöltve 5,64 V, lemerülve 4,4 V. 1 - Hogyan kéne szabályozni a feszültség maximumát? -gondolok itt arra, hogy ha esetleg a töltőt is rádugom, akkor már túl magas lehet a feszültség az AVR-nek. -esetleg tegyek rá egy 3,9 V-os zener diódát, vagy van erre jobb megoldás? 2 - Még nem néztem nagyon utána, de gondolom analóg bemenetnél az AREF lábhoz viszonyítva mér. -mert jó lenne, ha bekapcsoláskor végrehajtana egy akkutesztet a készülék, és mivel van kijelző rajta, így ki is jelezhetné a feszültséget (vagy a töltöttséget %-ban). -ehhez is kell egy stabil referenciafeszültség... zener dióda megfelel ehhez, vagy hogy szokás megoldani? 3-Mennyire jó ötlet beleapplikálni a főprogramba az akkutöltés programját? -tehát a készülék ugyanúgy üzemelne tovább, de ha rádugok egy sima tápot akkor rákapcsolná a töltést pár másodpercig, majd mérné a feszültséget... pont mint az AVR 4 cikkben. Köszi Zoli
Nem tudtok egy rövid magyar nyelvű leírást az SPI-ről, hogy mi is az pontosan és hogyan működik?
Nem a részletei, hanem egy általános leírás a működési elvekről.
Na, csak a cikkek között nem kerestem
Köszi. Idézet: „1 - Hogyan kéne szabályozni a feszültség maximumát? -gondolok itt arra, hogy ha esetleg a töltőt is rádugom, akkor már túl magas lehet a feszültség az AVR-nek. -esetleg tegyek rá egy 3,9 V-os zener diódát, vagy van erre jobb megoldás?” Regulatort kell hasznalnod. Ez lehet egy zener is akar, vagy stab kocka, de figyelembe kell venned nehany tenyt. Pl a stab kockaknal kb 2V-tal tobbnek kell lennie a bemeno feszultsegnek, hogy jol dolgozzon, egy zener pedig fesz oszto tulajdonkepp es viszonylag nagy a fogyasztasa egy akksis uzemhez -- min 1mA kell neki, hogy jol dolgozzon, raadasul az sohasem lesz teljesen tokeletesen 3.9V -- nezd meg az adott dioda adatlapjat milyen korulmenyek kozott kb mekkora a breakdown feszultsege. Aramfelveteltol fuggon akar egy egyszeru LDO regulator is jo lehet, amiknek 100uA tol egeszen lemehetnek 1-2uA-ig is. Ezek mar altalaban homerseklet kompenzalt aramkorok es tipustol fuggoen 50mA-tol parszaz mA-ig szoktak elerhetok lenni. Ha ennel tobb kell akkor ezeket lehet fesz referncianak hasznalni egy regulatorhoz.
Stabilizátor kockákból van olyan típus is, amelynek elég 0,5-0,7V-al nagyobb bemenőfeszültség, mint a kimeneti feszültség.
Szerintem ilyesmivel kellene megoldani. Az LT1129 változtatható kimenőfeszültségű, de van belőle fix 3,3 és fix 5 V-os is (LT1129-3.3 és LT1129-5).
Pontosan, ez egy LDO amirol beszeltem (LDO = Low DropOut).
Sziasztok!
Atmega8-at szeretnék assamblyben programzni. Rutint szeretnék irni, amit CALL utasítással hívnék meg, de a fordító AvrStudio4 azt írja, hogy a CALL "unsupported instruction". Mit lehet ilyenkor tenni? Ez azt jelenti,hogy egyáltalán nem lehet assembly rutint írni Atmeg8ra? A választ előre is köszönöm!
Amikor programozol a Help->assembler help menüben tudod megnézni az utasításokat és a szintaktikát.
A Call - nak működnie kell.
Az Atmega8-nál én csak RCALL utasítást látok a help végén, a Device specific instruction set summaries-ben.
Az viszont használható, én már dolgoztam vele.
Így van Indirect Call ( ICALL) és Relative CALL ( RCALL) van.
(Az adatlapon megtalálható az utasításkészlet.)
Sziasztok, nemrég kezdtem el foglalkozni az avrrel. És megszakítást szeretnék használni, de sehogy se sikerül beállítanom hogy csak felfutó élre csináljon megszakítást nyomógombnál. akár hogy is állítgattam az EICRA értékét sehogy se sikerült. A használt avr : ATMEGA644
Szia!
Kódot rendesen beszurni így kell: (code=c) (/code) természetesen szögletes zárójelekkel. Na most amibe nem vagyok biztos, de beleszólok Szerintem PCINT-nél nem lehet hardveresen szűrni a fel és lefutó éleket. Az csak INTx-nél van. Szoftveresen kell szűrnöd egy IF-el a megszakításon belül.
Ez a kód... fogalmazzunk úgy.. hogy érdekesen néz ki Pár tanács: Jó lenne tagolni, mert így összefolyik és olvashatatlan. SIGNALT felesleges eröltetni ISR jobb. Ha golbális változót használsz megszakításbol, akkor KELL a volatile előtag.Mert nem fog működni.
|
Bejelentkezés
Hirdetés |