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
Van kb. 7 féle szabvány jelsorozat...
Távszabályozók protokollja: -ITT Protocol -JVC Protocol -NEC Protocol -Nokia NRC17 -Sharp Protocol -Sony SIRC -Philips RC-5 -Philips RC-6 -Philips RC-MM -Philips RECS80 -RCA Protocol -X-Sat Az RC5 a legelterjedtebb. Protokollok: http://www.sbprojects.com/knowledge/ir/nec.htm Bascom alatt a Sony és a NEC valamint a RC5 van készen...
Nos, kipróbáltam Topi szervó teszterét is és az sem működött.
A potmétert érzékeli kipróbáltam egy LED-el. Valami jelet is küld, de a szervó csak kb egy mp-nként szépen elkezd jobbra menni lassan semmi mást nem csinál. Kipróbáltam másik szervóval azon is ugyanez. TowerPro SG-50 Micro Servo Ezzel próbáltam ki először. Most kipróbáltam egy induló készlettel amiben egy ATMega8-as van és külső kristály. Igaz csak fényellenállásom volt, de az is megtette az tökéletesen működött az is amit pár hsz-el ezelőtt írtam. (Vagyis a Bascom beépített servo-s cucca) Így aztán teljesen tanácstalan vagyok. Kipróbáltam úgy is, hogy nem potmeterrel, hanem Topi cikkében szereplő kódot szépen a két végállásba akartam forgatni a szervót, de úgy sem ment.
Sziasztok!
Megépítettem Topi AVR-Doper programozóját és csak ezt a hibaüzenetet kapom windows alatt "Az USB eszközt nem lehet felismerni" - saját nyákot készítettem - SMD alkatrészeket használtam(kivéve a kvarc és a két zener) - forrasztás után a gyantát lemostam denszesszel - szakadást zárlatot nem találtam - az Atmega8 és a HC126 megkapja a tápfeszültséget - az Atmega8-at PonyProg-al programoztam fel Bővebben: ezzel a programozóval - írás előtt töröltem az AVR-t - írás OK - írás után csináltam egy visszaellenőrzést - eredmény OK Csatoltam a nyák rajzot is hátha valaki észrevesz rajta valamit amit elszúrtam.Várom a segítő hozzászólásokat.Mit nézzek meg? Konfig biteknél be kellett volna valamit állítani?
Szia. A biztositékbiteknél beállitottad a nagyfrekvenciás külső kristályoszcilátort? Divide clock by8-at kiszedted?
Ez lesz akkor a baj Tudtam hogy nem kellene nekem AVR-el foglalkozni, de muszáj mert van pár AVR-es kapcsolás amit meg akarok építeni.
Még ez a legkisseb baj. Akkor kezdödnek a bajok amikor kizárod magad a procibol. :no:
Köszi a linket igen hasznos Na a soros kommunikáción túl vagyok végre valahára.
Most jöhet a következő lépés az INTERRUPT. Nagyjából értem melyik regisztert és engedélyező biteket kell állítani azonban még mindig nem tiszta. Eddig így csináltam: (Atmega128) RXD1/INT2 (27-es láb) a megszakítás EIMSK 2.bit 'Engedélyezve az INT2 EICRA 5.bit 'ISC21 van csak bekapcsolva vagyis: Eső él interruptol SREG 7.bit 'Globális megszakítás engedélyezve Idáig jó minden? Ha a Flag-et akarom nézni akkor az EIFR (Külső IT Flag) 2.bit-jét kell figyeljem? Mikrobasic-kel összehoztam egy progit de még valami nem OK!
Ezek közül mit kell beállítani mert itt nincs benne a CKDIV8?
Szia lehet hogy ez segít beállítani, nekem bevállt. Mondjuk nem programozónál, hanem hogy hogy állítsam a Fuse biteket.
Bővebben: Link
Köszi de ezen én nem igazodom ki!!Mondjuk ez az én hiányosságom!!Közben szilva segítségével életet leheltünk a programozóba.Köszönet neki érte!!
Természetesen neked is és hubának is köszönet a segítségért!
Sziasztok!Én egy Atmeg16-ot szeretnék felprogramozni!A program megvan hozzá csak égtőm nincs, ahogy olvasgattam a fórumot láttam hogy 7 kábellel lehet ilyet csinálni....Gondolkodtam azon is hogy megveszem a STK200 as programozótBővebben: Link csak felmerült bennem az a kérdés hogy ezzel hogy programozom fel a 40 lábú AVR-emet!?Ha valaki tud egy nagyon egyszerű AVR égetőt ehez a Atmega 16 hoz vagy tuggya hol lehet olcsón ilyet vásárolni az kérem ossza meg velem!
üdv:tony994
Ez elég egyszerű Bővebben: Link Szerintem az STK200 is megfelel a célnak, a tüskesorhoz kell csatlakoztatni az AVR megfelelő lábait, azt hogy melyik tüske melyik AVR-en lévő lábnak felel meg az függ attól, hogy milyen sorrendben vannak kivezetve a programozáshoz szükséges lábak és hogy milyen AVR-t akarsz programozni.A programozni kívánt AVR adatlapja nagy segítséget nyújt ahhoz hogy beazonosítsd a programozáshoz szükséges lábakat MOSI, MISO, CLK, RESET,SCK, VCC, GND, Az AVR ezen lábait kell összekötnöd a programozó ugyanezen kivezetéseivel.
Találtam egy rajozot ATTiny45-re.
Ebből nekem csak a kristály bekötése az érdekes. Jó úgy ahogy a rajzon van? Kristály bekötése...
Igen, jó. Egyébként manapság egyre többen használnak még egy plusz alkatrészt, ez pedig nem más, mint egy 1 megaohm-os ellenállás, párhuzamosan kötve a kvarccal.
Mi a szerepe ennek az ellenállásnak a kvarccal párhuzamosan?
Végül is 6 Ft nem oszt nem szoroz.
A kondik és a kvarc közé kössem? vagy egyből a lábakhoz? Amúgy tényleg mi a szerepe?
Ha jól tudom segíti a kvarc gyorsabb berezgését. És ha jól emlékszem szénréteg ellenállásnak kell lennie, mivel annak van egy pici induktivitása is.
Sziasztok.
Ugyanez a problémám... mi a megoldás? köszi.
Sziasztok!
Két nagyon primitív kérdésem lenne az AVRstudiót ismerőkhöz. 1. Van-e itt is olyan változó ami mindig a program counter aktuális értékére mutat? (mint pl az MPLab alatt a $) 2. Hogy lehet egy portlábnak nevet deffiniálni, amire később hivatkozhatok a programozás során? Ilyennel próbálkoztam: "equ MTXD =PORTD. 3" de elkergetett vele.
Sziasztok!
Lehet nagyon pontatlanul fogalmaztam, ezért nem kapok választ? Tehát assembliben programozom az ATMEL procit, az AVRStudio software-vel. 2 dolgot nem tudok. 1 hogy lehet portot definiálni, azaz szeretnék adni valamely port 1 I/O bitjének nevet, amivel később hivatkozni tudnék rá. pl.: sbi PORTD, 3 ; H-ba viszi PD.3-at De ide nem PORTD, 3 at szeretnék írni hanem valami előre definiált változót. 2. A PIC-es assemler progikban mindig hivatkozhatok a PC (program counter) aktuális értékére a $ jellel. Itt meg tudom-e ugyanezt tenni valahogyan? PIC-es példa: BTFSC PORTA, 0 GOTO $-1 ez mindaddig visszaugrál a port tesztre amég a PORTA 0. bitjének értéke 1. Az ATMEL procinál a $ funkcióra nem találtam megoldást. Itt hogy kell? Bocsi a hszzú levélért, remélem most érthetőbben írtam le a bajaimat, és valaki megírja a megoldást.
Üdv!
Ponyprog-ot szeretnék használni easyi2cbus hardwerrel, 24lc256 eeprom programozására. Használ valaki ilyet? Azt írja, hogy állítsam AVRISP I/O-ra. Ezzel a teszt is hibát ír ki. Ha easyI/O-ra állítom akkor a teszt ok. de nem tudom kiolvasni -11 hiba miatt. Hogyan kell beállítani?
Hmmmm...
Egyre több bajom van. Ez szerintetek miért nem jó? sec1: ldi temp, 256-61 ; 3D09 = 15625 out TCNT1H, temp ldi temp, 256-9 out TCNT1L, temp Ezt a hibaüzenetet kapom rá: C:\avrsoros\avrsoros.asm(42): error: Operand 1 out of range: 0x85 C:\avrsoros\avrsoros.asm(44): error: Operand 1 out of range: 0x84 Addig értem, hogy túllépek valami határt, de nem értem miért? Csak nem itt is lapozgatni kellene mint a PIC16xxxx-eknél? Légyszi ha valaki tud küldjön valami linket ahol az ATMELEK assembler szintű programozásárol esik szó, mert amit találtam azok mind vagy a C, vagy a Basic-ot tárgyalják. Igérem most már nem fogom zavarni a listát ilyen levelekkel, de nem gondoltam, hogy ennyire zavaros lesz átállni erre a procira, mástól meg nem tudok kérdezni.
Sziasztok!
Valaki tud olyan programot a 4*4*4-es led cubébe amit a Winamp vezérel soros porton? üdv:tony994
Szia!
Sajnos az .equ es .set parancsokkal csak egyetlen változának lehet nevet adni és a sbi es cbi két változót vár. Viszont használhatsz macro utasításokat a következő formában:
Ezután pedig a makró nevét illeszted a programba a megfelelő helyen. Én ilyen módon szoktam nevet adni a lábaknak, főleg olyankor amikor menet közben megváltozhatnak a használt lábak. 2. Az aktuális Program Counter-t a PC cimkével használhatod:
Javítva: Frankye Idézet: „C:\avrsoros\avrsoros.asm(42): error: Operand 1 out of range: 0x85 C:\avrsoros\avrsoros.asm(44): error: Operand 1 out of range: 0x84” Melyik AVR ez? ATmega8 es ATmega88 kozott pl elteres, hogy hova kerul a TCNT1. 88-as eseteben atkerult egy olyan IO cim tartomanyba ami nem erheto el az IO utasitasokkal, azaz SRAM cimzessel kell rairni (sts TCNT1H, temp). Ha megnezed az INC file-t, akkor ott is van megjegyzeskent... Idézet: „Légyszi ha valaki tud küldjön valami linket ahol az ATMELEK assembler szintű programozásárol esik szó, mert amit találtam azok mind vagy a C, vagy a Basic-ot tárgyalják.” Nekem is ez volt a gondom, nem tlaltam semmi normalisat a neten, kiveve talan ezt a linket: AVR Tutorial Idézet: „Igérem most már nem fogom zavarni a listát ilyen levelekkel, de nem gondoltam, hogy ennyire zavaros lesz átállni erre a procira, mástól meg nem tudok kérdezni.” Ha masokat zavar letre kellene hozni egy AVR Assembly forumot, mert engem pl kifejezetten erdekelne egy ilyen forum.
"Megmentőm" Köszönöm.
Valószínű tényleg ez lesz a gond, mert valóban ATMega88 a proci. Én is szívesen támogatnám az Atmel procik assembler programozásáról szóló fórumot, de sajna ez nem az én hatásköröm. Rögtöm ki fogom próbálni amit írtál, és majd beszámolok az eredményről. A másik kérdéere nem tudsz valami megoldást, vagy az Atemeleknél nincs erre lehetőség, itt mindig cimkézni kell? Mégegyszer köszi!
Nem akarok tolakodni... de erre nem tudja senki sem a választ? Bővebben: Hozzászólás
Szia KrunCH!
Neked is nagyon szépen köszi a leírtakat. Trudnai levelének annyira megörültem, hogy nem is néztem vissza a listát, csak később. Mindkettőtök tippjei nagyon jónak bizonyultak, és sokat haladtam előre. Mégegyszer kösz! Üdv: Placi
A $0006 címre raktál egy JMP utasítást, ami az interrupt rutinodra mutat?
|
Bejelentkezés
Hirdetés |