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
Köszi, működött!
Szép napot!
Biztos azt erti, AVR32 nincsen DIP tokban.
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
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...)
Ez nem AVR hanem 8051-es chip családra készült!
Sziasztok!
Olyan Veszprémi forumtársat keresek,aki segitene nekem egy Atmega8 felprogramozásában. Elöre is köszönöm: Joco
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ó?
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
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!
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.
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.
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.
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.
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.
Igazad van, a doctor végülis egy HVPP-t valósít meg, csak nem szükséges hozzá PC...
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
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
Gratula, szép teljesítmény a protokollból akár egy kiebb szelet leprogramozása is!
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.
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!
Köszönöm, igyekszem! Nemsokára fent lesz a Ki mit épített topikban. Csak még hiányzik a dobozolása
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?
É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.
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.
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.
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
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!
Ha mindenképp végtelen ciklussal akarod csinálni akkor
|
Bejelentkezés
Hirdetés |