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   353 / 840
(#) painkillerperoxi válasza puli122 hozzászólására (») Aug 22, 2011 /
 
Köszi, működött!
Szép napot!
(#) Reggie válasza zombee hozzászólására (») Aug 22, 2011 /
 
Biztos azt erti, AVR32 nincsen DIP tokban.
(#) jodri2003 válasza zombee hozzászólására (») Aug 22, 2011 /
 
Igen, ATMega32 és ATMega128-ról van szó. A kérdés oka pedig az, hogy készítettem egy panelt, beforrasztottam TQFP64-es tokozású ATMega128-at, de az élesztéssel gondjaim támadtak, nem tudom a programozóval (gyári AVRISP mkII) programozni. A programozó jól működik másik procikkal, de nem is látja az ATMega 128-at. Tekintettel arra, hogy eddig smd alkatrészekkel nem dolgoztam, talán ez lehet a hiba. Megpróbálom ellenőrizni újra a lábakat, hátha ott van a gond. Köszönöm az infót. Jodri
(#) TavIR-AVR válasza jodri2003 hozzászólására (») Aug 23, 2011 / 1
 
M128 programozás: NEM MOSI/MISO/SCK és RESET lábon át megy:
PDI/PDO/SCK és RESET.
A PDI/PDO a sorosporttal közös! (PDI: MISO, PDO: MOSI) Valamint a #PRG lábat is illik bekötni (azt hiszem +ra...)
(#) TavIR-AVR válasza painkillerperoxi hozzászólására (») Aug 23, 2011 /
 
Ez nem AVR hanem 8051-es chip családra készült!
(#) joco53 hozzászólása Aug 23, 2011 /
 
Sziasztok!

Olyan Veszprémi forumtársat keresek,aki segitene nekem egy Atmega8 felprogramozásában.

Elöre is köszönöm: Joco
(#) zombee válasza joco53 hozzászólására (») Aug 23, 2011 /
 
Szabad megkérdeznem hogy miért nem megy? Hátha innen távolról is tud valaki segíteni, erre (is) jó a fórum...
Programhiba? Nincs/nem működik a programozó?
(#) zsuscsinyo hozzászólása Aug 23, 2011 /
 
Sziasztok!

Sajnos sikerült rosszul kattintanom a fuse beállításoknál, és véletlenül "Low external crystal" volt kiválasztva és ezt programoztam be az ATmega64-be. Tettem bele 32kHz-es kristályt, viszont az ISP frekijét nem tudom visszavenni sehogy sem. Programozóm a HESTORE-ból való. Van valkinek valami ötlete mitévő legyek? Nagyon köszönöm a válaszokat!

üdv: Zsuscsinyo
(#) zombee válasza zsuscsinyo hozzászólására (») Aug 24, 2011 /
 
A hestore-s programozó sajna bugos. Az obdev.at oldalról frissíteni kéne ha tudod. Akkor már használható lesz a SLOW_SCK mód is.
Ha ez nem lehetséges akkor programozz fel egy másik AVR-t hogy egyik lábán X frekis négyszögjelet adjon ki. Ezt a mega64-es az XTAL1 lábra kösd! Kezdd 1MHz-el, ha nem adja akkor csökkentsd!
(#) zsuscsinyo válasza zombee hozzászólására (») Aug 24, 2011 /
 
Sajnálattal hallom, hogy bugos. Nem tudom hogy kell frissíteni, megcsináltam amit mondtál a programozó ISP frekije 250kHz (szkóppal mértem) és ha jól számoltam az minimum 1MHz-es órajelet kíván, meghajtottam róla de nem indult el, úgy 400kHz-nél mutatott életjeleket, de programozni még nem tudtam. Arra gondoltam hogy írnék én egy másik avr-re egy kis progit ami csak a fuse-bit programozására elegendő, viszont ahhoz tudnom kellene a kommunikációs protokollt.

Ebben esetleg tudna valaki segíteni? Addig is harcolok a google-val.
(#) zolee1209 válasza zsuscsinyo hozzászólására (») Aug 24, 2011 /
 
Szia!

Ilyen áramkör már létezik, FUSEbit doctor néven, ha jól tudom. A kommunikációs protokollt pedig megtalálod az AVR adatlapjában.
(#) zsuscsinyo válasza zolee1209 hozzászólására (») Aug 24, 2011 /
 
Igen valóban ott van, most találtam meg Köszönöm! Azért szeretném ezzel megoldani, mert már szépen be van építve a TQFP tokkal az áramkörbe, és nehézkes lenne beforrasztani a csatlakozásokat más programozóhoz.
(#) zolee1209 válasza zsuscsinyo hozzászólására (») Aug 24, 2011 /
 
Nem akarok hülyeséget mondani, de úgy rémlik, hogy a FUSEbit doctor is az ISP felületen kommunikál, így a csatlakozókkal nem lenne gond szerintem.

Bővebben: Link De nézd át, és majd kiderül, hogy megfelel-e neked.
(#) edison14 válasza zolee1209 hozzászólására (») Aug 24, 2011 /
 
A FUSEbit doctor nem ISP felületen kommunikál!
zsuscsinyo-nak: Ahhoz hogy a fusebit doctorral vissza tudd állítani a vezérlőt ahhoz legalább 20 láb kell táppal valamint egypár portlábbal együtt. Valamint ara is kell ügyelni hogy a RESET lábra a fusebit doctor 12V-ot kapcsol és ha ezt áramkörön belül teszi és a RESET-ed fel van húzva egy ellenálláson keresztül a +5V-ra akkor komoly gond lehet belőle. Tehát vagy kiforrasztod a vezérlőt és úgy állítod vissza vagy a te ötletedet használva építesz egy egyszerű fusebit programozót.
(#) zolee1209 válasza edison14 hozzászólására (») Aug 24, 2011 /
 
Igazad van, a doctor végülis egy HVPP-t valósít meg, csak nem szükséges hozzá PC...
(#) jodri2003 válasza TavIR-AVR hozzászólására (») Aug 24, 2011 /
 
Bizony, bizony! Nagyon köszönöm neked, ez volt a probléma!
Nem gondoltam, hogy MOSI, MISO lábakat ne MOSI, MISO néven keressem, csak automatikusan a név alapján bekötöttem. Egyébként a leírás a 300. oldalon egyértelműen írja a helyes bekötést. Mégegyszer köszi!
Jodri
(#) zsuscsinyo válasza edison14 hozzászólására (») Aug 24, 2011 /
 
Köszönöm a segítségeteket! Sikerült megoldani a problémát a következő képpen:
- Tettem egy 200kHz es órajelet az AVR-re
- Másik AVR-re írtam egy kis programot ami kb 48kHz-es SPI-n keresztül az adatlapban található kódok alapján sikerült felülírni a fusebiteket belső 8MHz-re. Szóval most nagy az öröm
(#) zombee válasza zsuscsinyo hozzászólására (») Aug 24, 2011 /
 
Gratula, szép teljesítmény a protokollból akár egy kiebb szelet leprogramozása is!
(#) krcko hozzászólása Aug 24, 2011 /
 
Sziasztok!
Tudna valaki segíteni az összecomagolt C nyelven írt forráskódból Hex fájlra konvertálni? Egy AtMega8-16PU -ra szeretném felteni a szoftot. Előre is köszönöm a segítséget.
(#) zombee válasza krcko hozzászólására (») Aug 24, 2011 /
 
Hello!

Főképp a kihívás vezérelt arra hogy lefordítsam neked mert engem is érdekel a cucc. Betettem egy AVR Studio projektbe, beimportáltam mindent, de nem fordul.
A korábban még sosem látott hibaüzenet után átgugliztam pár helyet, aminek az lett a vége: nem fér el a kód 8KB memóriában, hiába van -Os - en az optimalizálás.
Átállítottam mega16-ra és láss csodát: lefordul!
A kapott 11572 bájt azért nagyobbnak tűnik 8KB-nál. A sok lebegőpontos művelet miatt én el se kezdtem volna ATMega8-ra írni, akkor inkább az ATMega88/168/328 vonal, ezek periféria-és lábkompítíbilisek!
20100110-es WinAVR-t használok ami elvileg a legfrissebb.
Azért a projektet(benne van a HEX is) feltöltöm neked, ez mega16-ra van fordítva, és még a frekit nem mondtad, erre 8MHz-et állítottam be. AVR Studio be tudja tölteni a projektet, szóval lehet döngetni, hátha valakinek belefér 8KB-ra, de a double-t int-re átírni nem ér!

kw1281.zip
    
(#) krcko válasza zombee hozzászólására (») Aug 24, 2011 /
 
Köszönöm szépen!
(#) zsuscsinyo válasza zombee hozzászólására (») Aug 24, 2011 /
 
Köszönöm, igyekszem! Nemsokára fent lesz a Ki mit épített topikban. Csak még hiányzik a dobozolása
(#) sikolymester válasza zombee hozzászólására (») Aug 24, 2011 /
 
Volt olyan, amikor egy 2006 os WINAVR-en egy kód pont lefordult 2Kbyte ra (valamelyik attiny-re), annál újabbakkal viszont pont nem fér el a 2 Kbyte-ba.
Bár az az igazság, hogy az említettnél ez jóval nagyobb különbség, szóval kérdéses, hogy az eredeti szerző tényleg atmega8-ra szánta-e?
(#) Reggie válasza zombee hozzászólására (») Aug 25, 2011 /
 
En 10388-ra mar le tudtam vinni.
(#) krcko válasza sikolymester hozzászólására (») Aug 25, 2011 /
 
Én a kapcsolást a cseh Amatőr Rádió című újságból vettem ki, és ott volt adva egy link a forráskódhoz. A kapcsolás egy fedélzeti számítógép régebbi autókba(pld. Skoda Felícia). Csatoptam a rajzot.
(#) sikolymester válasza krcko hozzászólására (») Aug 25, 2011 /
 
Szerintem próbáld ki az összes korábbi winavr builddel. Bővebben: Link

Hátha valamelyik befordítja pöccre. Ha mindig C:\WINAVR mappába telepíted, ahelyett, hogy ezt a sémát követed: C:\WinAVR-20100110 , akkor egyből tudod buildelni és nem kell még megváltoztatni a "path" okat.

zombee volt olyan kedves, hogy összeröffentette egy AVRStudio 4 projektbe. Töltsd le azt és próbálkozz a fordítással mint mondtam. Persze ott most atmega16 van beállítva, azt állítsd át atmega8-ra.
(#) sikolymester válasza sikolymester hozzászólására (») Aug 25, 2011 /
 
Egy kis extra:

Avrstudiora nem is lesz szükséged, elég a WINAVR feltelepítése. Bemész parancssorral ide: d:\kw1281\default\
Tolsz egy "make clean" -t, majd egy make -t. Megnézed mit dobott eredménynek majd lecseréled a WINAVR-t. Átírtam neked a zombee által linkelt projekthez a makefilet. Ezt cseréld le a default mappában. Át van benne írva az avr típus atmega8 -ra.

Makefile
    
(#) joco53 válasza zombee hozzászólására (») Aug 25, 2011 /
 
Szia!Teljesen járatlan vagyok az Amtmega programozásában,ezért keresek olyan forumtársat aki itt Veszprémben tudna segiteni.Mindenem meg van hozzá (programozo),csak a tudás nincs.Eddig csak Pic-ket programoztam.Köszönöm elöre is a segitséget
Joco
(#) Robi98 hozzászólása Aug 25, 2011 /
 
Sziasztok!
Az az egyszerű kérdésem lenne,hogy egy programban lehet e több végtelen ciklust használni?
Pl.:megnyomjuk a gombot egyszer és elindul egy oda-vissza futófény;ha már kétszer nyomtuk meg akkor egyszerre villognak a LED-ek stb.

Köszönöm!
(#) Stefan hozzászólása Aug 25, 2011 /
 
Ha mindenképp végtelen ciklussal akarod csinálni akkor
  1. while(1)
  2. {
  3.    while(1)   //futofény
  4.    {
  5.       if(valami) break;
  6.    }
  7.  
  8.    while(1)   //villogo
  9.    {
  10.       if(valami) break;
  11.    }
  12. }
Következő: »»   353 / 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