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   345 / 840
(#) Fish válasza zolee1209 hozzászólására (») Júl 27, 2011 /
 
Köszönöm, azt viszont nem tudtam, hogy van ilyen már itt. Meg is nézem tüstént...

(#) Petroimro hozzászólása Júl 28, 2011 /
 
Sziasztok!

Azt szeretném kérdezni, hogy a Topi féle AVR-Doper működne-e ATmega8L-8PU típusú mikrokontrollerrel 8MHz-es kvarcal? Sajnos csak ilyet tudtam beszerezni.

Köszi!
(#) zolee1209 válasza Petroimro hozzászólására (») Júl 28, 2011 /
 
Szia!

Ismerősömnek ilyen AVR-be égettem bele a doper programját, és működik vele! Persze ugyanúgy 12MHz-es kvarc kell hozzá!
(#) Fish válasza Petroimro hozzászólására (») Júl 28, 2011 /
 
Sziasztok

Az ATmega8L szinte teljesen megegyezik az ATmega8-al, egy különbség van, Max 8MHz az órajele. Tehát 12MHz-ról nem megy.
(#) Robi98 hozzászólása Júl 28, 2011 /
 
Sziasztok!
Bajban vagyok!
ATTiny45-ös mikrokontrollert használok.
Órajelnek megadtam 4000000hz-t.
ISP frekvencia:115,2Khz=115200hz
Én úgy tudom,hogy az ISP frekinek az órajel 1/4-énél kisebbnek kell lenni:4000000/4=1000000hz;115200<1000000.
Vagy nem?
Ennek ellenére mindig kiírja,hogy az ISP-nek kisebbnek kell lenni az órajelnél.(a CKDIV8 ki van kapcsolva)
Mi lehet a baj?

Köszönöm előre a válaszokat.>
(#) zombee válasza Petroimro hozzászólására (») Júl 28, 2011 /
 
Tökéletesen működik ATMega8L típussal is, nem lesz vele semmi probléma. Amikor hasonló programozókat kezdtem gyártani, csak 8L-eseket tudtam beszerezni(de abból jó sokat) és abból építettem az első 40 darab Doperemet. Probléma azóta sincs velük!
(#) Hurka hozzászólása Júl 28, 2011 /
 
Hellosztok!

Szeretnék összehozni a jövő héten egy áramkört (a lelke egy SD kártya és egy ATMEGA644), ami egy SD kártyáról sorban olvassa be a WAV fájlokat (mintavételi frekvencia: 44100 Hz, 8 vagy 16 bit, mono), és az a kérdésem, hogy lehet-e építeni 5 voltos táphoz R-2R létrát (DAC-nek)?

Köszönettel: Hurka
(#) zombee válasza Hurka hozzászólására (») Júl 28, 2011 /
 
Persze, miért ne lehetne? Úgyis kondis leválasztás lesz meg aluláteresztő szűrő, vagy tévedek?
Esetleg I2C-s DAC IC-vel is lehet próbálkozni, igaz, ha már van 40 vagy 44 lábad akkor egyszerűbb az R-2R, ami elvileg bármennyi bites is lehet. 16 bites DAC-nál sem kell megijedni ha 8 bites a felvétel, akkor csak a felső 8 bitet kell birizgálni. Ha pedig 12 bites a DAC 16 bizes zene mellett, akkor a zene alsó 4 bitjét kell eldobni.
(#) Hurka válasza zombee hozzászólására (») Júl 28, 2011 /
 
Köszi a válaszod, megnyugtattál
Köszönettel: Hurka
(#) Robi98 hozzászólása Júl 29, 2011 /
 
Sziasztok!
Elkészítettem tegnap életem 1. avr programozását,egy 2 LED-es villogót.A programot úgy készítettem el,hogy a két led másodpercenként villog( 1000ms)
A végeredmény az lett,hogy az 1 másodpercből 4 másodperc lett.
Mi lehet a hiba?
(#) zolee1209 válasza Robi98 hozzászólására (») Júl 29, 2011 /
 
Milyen órajelre írtad a programot, illetve milyen órajel beállítást alkalmaztál?
(#) Robi98 válasza zolee1209 hozzászólására (») Júl 29, 2011 /
 
4Mhz-s órajellel írtam.Az órajel beállítás alatt mit értsek?
(#) zolee1209 válasza Robi98 hozzászólására (») Júl 29, 2011 /
 
A FUSE-biteknél ki kell választani az órajelforrást. Az AVR-ek gyári beállításban csak 1MHz-en ketyegnek. Ez meg is magyarázza, miért 4 másodpercenként villognak a LED-ek. A program 4MHz-re számolta ki az időzítést, de te csak a negyede órajelről hajtod...
(#) Robi98 válasza zolee1209 hozzászólására (») Júl 29, 2011 /
 
Szóval 1Mhz=1 másodperc?
(#) Ricsi89 válasza Robi98 hozzászólására (») Júl 29, 2011 /
 
Dehogy! 1Mhz hogyan lehetne 1másodperc. Zoli azt próbálja mondani, hogy te azt mondtad a procinak, hogy majd 4MHz-en fogsz menni. A program eszerint számolja hogy mennyi is lehet 1 másodperc. Viszont valójában csak 1Mhz-en jár a proci, így 4szer lassabb minden, mint amit te beállítottál.
Ha átírod a 4MHz-et 1MHz-re, akkor jó lesz.
(#) zolee1209 válasza Ricsi89 hozzászólására (») Júl 29, 2011 /
 
Vagy az 1MHz-es órajelet megváltoztatja 4MHz-re...
Utóbbinak jelen esetben több értelmét látom, akkor legalább megismeri, milyen lehetőségei vannak az órajelforrások kiválasztására.
(#) Ricsi89 válasza zolee1209 hozzászólására (») Júl 29, 2011 /
 
Ha valaki azt írja, hogy 1MHz egyenlő 1 másodperccel, az nagyon leragadt a kőbaltánál. Neki egyszerűbb átírni a programot, minthogy az általa ismeretlen fuse bitekkel "játszani".Persze ha valaki veszi a fáradtságot és jó szájbarágósan leírja neki, majd még legalább kétszer, akkor hajrá.
(#) zolee1209 válasza Ricsi89 hozzászólására (») Júl 29, 2011 /
 
Ez is igaz. Nem mindig vagyok kellően türelmes, így lehet hallgatok rád!


Robi! Írd át a programban 1MHz-re az FCPU-t...

Hogy ez az FCPU AVR-nél van, vagy PIC-nél... Ne kérdezzétek.
(#) tojci hozzászólása Júl 29, 2011 /
 
Sziasztok,

most vettem egy AVR programozot (leirását csatoltam pdfben). felinstaláltam a driverjét, az AVR Studiot ill. hozzá a WinAVRt is, mivel kell a forditáshoz. most szerettem volna rákapcsolódni a programozóra, de állandoan kidob valamit és nem tudom, h mit tegyek. a figyelmeztetést szintén csatoltam kép formájában. tudna nekem valaki segiteni ebben? Egy ATTiny45öst kötöttem rá...

Köszi szépen előre is!
(#) zombee válasza tojci hozzászólására (») Júl 30, 2011 /
 
jól kötötted be? tápot kap?
(#) tojci válasza zombee hozzászólására (») Júl 30, 2011 /
 
mármint a programozó vagy az ATTiny45ös?

A programozó USB-n keresztül van a gépre kötve és világit rajta a zöld LED szval a programozónak van tápja. De mértem a kimeneti feszültséget ami megy a kis ICre, az csak 0,5V volt... ha jol tudom ott 5Vnak kell lennie... hogy miért van csak 0,5V azt már nem tudom...
(#) zombee válasza tojci hozzászólására (») Júl 30, 2011 /
 
Hát minimum 1.8V kell, az biztos, de inkább 5V.
A programozó megkapja az USB-ről a tápot, de úgy látszik hogy az IC tápellátását neked kell biztosítanod.
És ha ez még nem elég, ezt a külső tápfeszt be is kell vezetned a programozóba hogy a kimeneti
buffert mágtápláld, és az esetleges tápfesz-érzékelős részt is megnyugtasd.
Így működik minden "rendes" gyári USB portos programozó.
A korrektebb klónok tervezői már gondoltak az USB fesz kivezetésére is...
(#) tojci válasza zombee hozzászólására (») Júl 30, 2011 /
 
köszi szépen. már sikerült felprogramoznom az AVRt, csak az a gondo, h nem működik. a Topi által irt nyolc lábbal cikk első progiját nyomtam fel AVRstudioval, az AVRstudio szerint a program felment gond nélkül, de valahogy nem villognak a LEDek... ha Flaschbe töltöm akkor nem szabad levenni a táprol, mert akkor elveszik a progi ugye?

De probáltam ugy is, h nem vettem le, és ugy sem müködik, valamit még mindig rosszul csinálok

Sajna igaz a mondás: minden kezdet nehéz

DSCN4850.jpg
    
(#) sikolymester válasza tojci hozzászólására (») Júl 30, 2011 /
 
A flash és ez eeprom nem felejtő memóriák. Tehát a tartalmuk akkor is megmarad, hogyha a tápot leveszed róluk.

Az AVR-ekben az ún. Sram az ami analóg a PC-k RAM-jával, ennek a tartalma elvész tápelvételnél.

A programkód természetesen a flashben van, hogy mindig le tudjon futni a pirítós programja, és ne kelljen minden kerénypirítás előtt feltölteni rá.
(#) zombee válasza tojci hozzászólására (») Júl 30, 2011 /
 
ATTiny45: ezt a típust a fordítónak és a programozónak is külön-külön be kell állítani. Más hibára nem tudok gondolni! Ja, és a Flash+EEPROM tartalom kikapcsolás után is megmarad, de szerintem ezt már leírták előttem...
(#) Petroimro hozzászólása Júl 30, 2011 /
 
Sziasztok!

Egy ATmega128 Timer-ét szeretném beállítani, de a fordító hibát ír:

main.c||In function ‘timinit’:|
main.c|51|error: ‘TIMSK1’ undeclared (first use in this function)|
main.c|51|error: (Each undeclared identifier is reported only once|
main.c|51|error: for each function it appears in.)|
||=== Build finished: 3 errors, 0 warnings ===|


Órák óta a google-t bújom, de nem találok megoldást.

Köszi!

main.c
    
(#) Ricsi89 válasza Petroimro hozzászólására (») Júl 30, 2011 /
 
TIMSK1 regiszter nincs az atmega128-ban, csak TIMSK. Töröld ki az 1-est és nézd meg mit csinál.
(#) zombee válasza Petroimro hozzászólására (») Júl 30, 2011 /
 
Az adatlapot sem ártana megnézni, sok hasznos dolog van benne.
Például az AVR-ek időzítői különbözhetnek. Akár...
(#) sikolymester hozzászólása Júl 30, 2011 /
 
Ez többeknek is érdekes lehet: AVRISP-MKII Clone
(#) zombee válasza sikolymester hozzászólására (») Júl 31, 2011 /
 
Kár hogy az IC(MAX3002) beszerezhetetlen. Ja és kétoldalas panelnek nézem egészen finom rajzolattal, szóval az sem lenne nyerő.
Pár hete már belinkeltem valami hasonlót amit én építgetek, MAX3002 IC nélkül. És működik!
Már készülget a bufferelt verzióm amin az ISP-10 mellett ISP-6, TPI-6 és PDI-6 is ki van vezetve, szabványos csatlakozón. Természetesen egyoldalas panelon.
Következő: »»   345 / 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