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
Saját megoldásom:
Kaptam 2 T-Bird2 panelt javításra, ezeken nem szórakoztam fóliavágással és drótozással. Volt hőlégfóvós páka, kiforrasztottam őket, beforrasztottam egy korábbi projektből visszamaradt NYÁK-ra, ISP-programozó kellett hozzá, meg egy kvarc mert arra volt állítva. JTAGEN-t vissza, majd újbóli kiforrasztás után mehetett vissza a T-Bird2 panelra. A művelet 2 panellel max. fél óra lehetett...
Szia!
Én hasonló hibaüzenetet kaptam, amikor a JTAGICE programozó kimeneteire (TCK, TDO, stb.) túl nagy értékű ellenállást tettem be. Kicseréltem kisebbre, azóta minden gond nélkül megy. Nem biztos, hogy Nálad is ez lesz a probléma, de ha nem megy sehogy sem, mindenképpen nézd ezt meg! Üdv vtnagy
Már biztos,hogy én állítottam át a fuse biteket a procin.Csoporttársam legalábbis azt tartotta valószinűnek.Sajnos sem a fejlesztő környezetet sem mást nem ismerek az egész témában.Levelezőn tanulok és ezidáig 3-4 óra foglalkozás volt.Ez egy full kezdőnek arra sem elég ,hogy felfogja milyen órán is ül(így vagyok én is!).Tegnap találtam itt a cikkek között az avr progik telepítéséről egy cikket de még most sem tiszta,hogy milyen procihoz milyen programozóval tudok csatlakozni(jtag,isp,stb)annyit kolléga elmondott,hogy a doper az isp.Az viszont nekem nincs.Most a panelt elvittem neki és a leendő tanárunkkal megoldást találnak a bajomra a panellel.(Újraprogramozzák a fuse biteket,ha tudják).Olyan kérdésem / kérésem lenne: van-e az oldalon olyan leírás ami végigviszi a lépéseket a prog megírásától a panelen való futtatásig a dolgot pl egy led bekapcsolásával.vagy megcsinálná-e vki.A suliban winavr-t használunk.makefile-ban mit kell átírni,beírni,hol találom a fájlokat,miket kell egy könyvtárba tenni,és a legfontosabb.tudom-e úgy állítani,hogy mégegyszer ne férjek a fuse bitekhez(bár szerintem ez jó lecke volt számomra,csak nem tudom hol és mikor állítottam át.)Köszi!
Üdv mindenkinek!
Egy ''Rotary Encoder''-t kellene Atmega8 mikrovezérlőhöz illesztenem, a jelet pedig számolni kéne úgy hogy ha elfordítom egy irányba az enkódert akkor minden lépésnél hozzáadjon az értékhez egyet,ha pedig visszafele akkor levonjon egyet az értékből.Ehhez kellene nekem egy kódrészlet mondjuk CodeVisionAVR-ben vagy WinAVR-ben.Ezt a kapott értéket kellene osztanom az enkóder felbontásával és akkor fordulatonként 1-et kapnék.Az érték negatív kell legyen ha többet tekerek visszafele mint előre. Ez az érték majd ki lesz iratva egy alfanumerikus kijelzőre. Ha valaki meg tudja írni ezt a kódrészletet,kérem segítsen. Előre is köszönöm!
Ha kerestél volna:Bővebben: Link
Ez pont megán fut, kicsit később írtam az osztásról is. De van cikk is írva az enkóder haszlálatáról. A hozzászólás módosítva: Ápr 4, 2013
Sziasztok!
Abba keveredtem bele hogy a képen látható beállításokat hogyan tudnám AVRStudio-ba beírni. Mármint beégetni ATMEGA 8A-ba.Megköszönném ha valaki megírná.
Lemaradt:7,3728 MHz-es kvarc+ 2X22pF az órajel.
Üdv!
Valaki segítene, hogy ez _BV(valami) mit jelent? Köszönöm.
Sziasztok!
AVR-es kísérletezéseim során szerettem volna építeni egy ilyen áramkört némi változtatással(kezdetben csak egy két LED-es villogót). Azonban akadt egy probléma: Én azt olvastam hogy az ss lábat bármelyik port bármelyik lábára kinevezhetjük, nekem viszont csak a PB2-es-re sikerül. Amikor a PB1-es lábra neveztem volna ki, akkor a latch össze vissza működött(például ha a kezemet a vezeték felé emeltem 10 centire akko rbekapcsolt a led). A hiba valószínűleg szoftveresen van, de nem tudom, hogy mi.
Szia!
Ha jól tudom, az SS lábat akkor is meg kell adni kimenetnek, ha nem azt használod arra a célra.
Köszi szépen a választ, soha nem gondoltam volna. Így már végre működik.
Azonban ha már itt tartunk, lenne még egy kérdésem: Win Avr-ben hogyan lehet beállítani azt, hogy ha nem 1Mhz-n járatjuk a processzort, hanem mondjuk 4MHz-en akkor is stimmeljen az időzítés. Pl.: _delay_ms(500); az 500 ms legyen és ne négyszer annyi?
A makefile-ban a megfelelő frekvenciát kell beállítani, meg a megfelelő fuse biteket is úgy kell beállítani (AVRStudio-ban, mert simán WinAVR-ben nem lehet).
Olyan gondom lenne hogy megépítettem egy AVR soros programozot és nem működik ponyproggal. Egy Tinity2313-at akarok felprogramozni és nem megy már szétmegy az agyam ettől a -24-es hibától.
A programozó: Programozó "Device missing or unknown device 24"
Sziasztok,
Talán tudtok segiteni: Kérem a hozzáértők segitségét Attiny45 programban. Eddig még nem találkoztam ezzel az eszközzel, nem értek hozzá. Következő problémám adódott vele. 24VDC hajtóműves motort vezérel. Nővelni kellene a fordulatszámot, ezért 2x-es fordulatú tipusra lett cserélve a motor. Ahhoz hogy a dupla fordulatszám meglegyen kellene módositani a fent emlitett proci programját. Ebben kérném a hozzáértők segitségét. A hozzászólás módosítva: Ápr 8, 2013
Kalibrálás megvolt? Jelek invertálása is? A proci kap tápfeszt?
Egyébként ezt a soros verziót nem szeretjük, mivel más jelszintekkel dolgozik. Amit művel ez a programozó, az az RS-232 szabvány megerőszakolása. Az alaplapok/sorosportok többségével működik, azonban egy részük toleranciaszintje alacsonyabb... Ha mindenképp egyszerű és olcsó programozót akarsz, a nyomtatóportos verziót javaslom: Bővebben: Link Ne felejtsd el a 2-12 és 3-11 átkötést, és azt hogy a procinak 5V táp kell!
Ha esetleg megírnád hogy pontosan mit csinál akkor valószínűleg tudnánk segíteni.
DC motor oké, PWM kimenet oké, PWM bemenet ami kérdés hogy mit csinál és mi változik. Gondolom az a jeladóé lehet, csak az a nem mindegy hogy milyen jel jön át rajta...
Köszönöm, holnap tudom szkóppal csekkelni a bemenetet. Akkor már többet tudok mondani, mert most csak annyit tudok hogy 10 lépésben változtatható a fordulatszám.
A hozzászólás módosítva: Ápr 8, 2013
Ok. Esetleg addig meg tudnád mondani, hogy hol állítod a sebességet 10 fokozatban?
Meghozták közben a szkópot.
PLC vezérli. PWM jel megy rá ami a jelen állapotban kb. 10-50% között állitható (előtte gondolom kb.10-90% lehetett), 1.76KHz a freki. A kimenete 13V-ig megy fel 24V helyett. A hozzászólás módosítva: Ápr 8, 2013
Tehát a PWM_IN bemenetre a PLC jele kerül? Akkor hogyan méri a fordulatszámot?
Én inkább hardveres problémát gyanítok, lehet hogy a FET nem tud nagyobb áramot átengedni.
Az uj motor kisebb áramot vesz fel, terheletlenül járatom. A PLC kap egy optoszenzorról egy fordulatszám arányos jelsorozatot.
Lehet hogy a PLC a ludas? Azt kellene átprogramozni hogy nagyobb kitöltésű legyen a kimenete.
Hali!
Lenne itt egy rövid kódom, de nem akar lefordulni, bocs srácok most kezdtem bele a avr-be még kezdő vagyok, de mi lehet a baj? #define piros 0b00000001 #define zold 0b00000100 #define kek 0b00001000 #define sarga 0b00000101 #define turkiz 0b00001100 #define lila 0b00001001 #define feher 0b00001101; #include <avr/io.h> #include <avr/interrupt.h> int main (void){ DDRB=0b00001101; TCCR0A=0b00000010; TCCR0B=0b00000101; OCR0A=255; TIMSK=0b00010000; SREG|=128; while(1){ } } ISR(TIM0_COMPA_vect){ switch(PORTB){ case piros: PORTB=zold; break; case zold: PORTB=kek; break; case kek: PORTB=sarga; break; case sarga: PORTB=turkiz; break; case turkiz: PORTB=lila; break; case lila: PORTB=feher; break; default: PORTB=piros; } }
Szia!
Milyen hibát ír a fordító? Milyen kontroller? Mivel fordítod? ???
Atmega 8, fordító Avr studio 4, hiba: undeclared TCCR0A, TCCR0B, OCR0A
Ez azért van, mert a mega8-ban nincsenek ilyen nevű regiszterek.
Olvasd át az adatlapot, de legalább azt, hogy milyen timer regiszterei vannak a mega8-nak.
|
Bejelentkezés
Hirdetés |