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   298 / 840
(#) Reggie válasza kala1982a hozzászólására (») Jan 13, 2011 /
 
Kivulrol adsz 5V tapot? Lehet, hogy az LPT port nem birja a terhelest. A ponyprog szerinti teszt pedig csak annyit jelent, hogy megvannak az LPT port feloli visszahurkolasok (2-12 es 3-11 lab). A ponyprog-ban a kalibraciot megcsinaltad?
(#) kala1982a válasza Reggie hozzászólására (») Jan 13, 2011 /
 
Minden indításkor kalibrálom, úgy is meg van gyorsan. Fesz.stabos tápról kapott eddig feszültséget az elektronika, de találtam egy kéttűs csatlakozót 5v-osat a számítógép tápból. Most arról megy, vagyis nem megy, de kap áramot (valahol olvastam hogy stabilabb...)
(#) neogeo2 válasza kala1982a hozzászólására (») Jan 13, 2011 /
 
Ha nem sikerül megoldani,ajánlom figyelmedbe zombee usb-s programozoját. Megtalálod a vaterán és itt a forumban is az emlitett felhasználoi néven. 3000Huf környékén jol elkészitett, bedobozolt, szépen dokumentált programozot vettem töle.
(#) kala1982a válasza neogeo2 hozzászólására (») Jan 14, 2011 /
 
Köszi, kerestem már rá ,hogy mennyiért vannak csak nem tudtam email címet szerezni sem a vateráról, sem a tesz vesz-ről.. Köszi szépen, hogy fent van a hobbi elektronikán is ugyan ilyen névvel, meg sem próbáltam itt rákeresni. Még egy két dolgot megpróbálok, ha nem működik, akkor mindenképpen megkeresem. Master_Of_The_Web-nek is ugyan ez volt a baja, semmi nem működött neki, aztán áttért PIC-re. Nekem van már 4 db AVR-em, bemenetei még egy bitet nem láttak, nem akarom hogy itt díszelegjen a monitorom tetején

Köszi mégegyszer!
(#) kala1982a hozzászólása Jan 14, 2011 /
 
Végre, működik, a rajzon látható kapcsolást csináltam meg, annyi hogy nem vezetékeltem hanem egy IC foglalatot raktam az AVR-nek +egy 10k-s ellenállást a reset lábra. 5. vagy a 6. programozó nem tudom, de működik végre... Pedig kimértem a kábeleket mindegyiknél, nincs-e zárlat, szakadás. Úgylátszik valami azzal lehetett...

Kösz mindenkinek, a segítséget. microPascal pro for AVR nincs meg valakinek eredetiben?
(#) Udani hozzászólása Jan 14, 2011 /
 
Sziasztok!
Az lenne a kérdésem hogy hogyan lehetne használni az atmega8515 analog comparatorat?
(#) sikolymester válasza Udani hozzászólására (») Jan 14, 2011 /
 
Az adatlapját olvastad már?
A megfelelő rész a 161. oldalon kezdődik.
atmega8515 adatlap

Amennyiben igen, akkor kérlek konkrétabban fogalmazd meg a kérdésed:
Milyen fordítót használsz?
Pontosan mit nem értesz benne, stb.
(#) Reggie válasza Udani hozzászólására (») Jan 14, 2011 /
 
1. Bekotod az analog jele(ke)t az icre (megfelelo labakra).
2. Beallitod megfeleloen a konfiguracios regisztereket.
3. Megszakitast keszitesz vagy pollingozol.
(#) Sallala hozzászólása Jan 15, 2011 /
 
Sziasztok!

Fuse bit állítgatás nélkül van mód kizárni magamat az AVR-ből? Az ISP programozólábakhoz tartozó PORT irányának nem megfelelő megadásával esetleg lehetésges?


A részletek:

Órák hosszát programozgattam, egyszer csak az egyik letöltés után nem tudtam újraprogramozni az Atmega32-est. Fuse bitekhez nem nyúltam, a programozó azt mondja hogy nem jó a device signature. (ff ff ff)

Ha kézzel megmondom neki hogy márpedig ez egy Atmega32, akkor írási hibát ad. Az "ISP Programmer" nevű programozót használom, 64bites XP-n egyedül ezzel tudtam programozni, egyébként tökéletesen működik, szeretm. Bővebben: Link

Nem órajel hibáról van szó, mert a program (hanggenerátor) az utoljára beégetett verzióval szépen fut.

Előkaptam egy Atmega16-ot, abba is betöltöttem a programot, az is megdöglött. (Fut a letöltött program, de a hibajelenség programozáskor ugyan az.


Talán az tett be - én erre gyanakszom - hogy a PORTB összes pinjét, - ami mega32-n az ISP programozáshoz használt port - kimenetnek álítottam be. Ez önmagában okozhat gondot?
Vagy lehet, hogy "megsütöttem" a lábakat, mert rajta lógott a programozó? (Bár elvileg a programozómon az SN74244 leválasztja magát a prociról).

A PORTB összes lába mint kimenet jól működik, az utoljára beégetett program az összes lábon ledeket villogtat.


Tanácstalan vagyok. A doksiban csak olyan részt találtam, ami talgalja az egyes portok többfunkciósságát de nem írja, hogy vigyázzak az iránnyal. Az SPI letiltó fuse bitet - ami ha jól értem okozhat kizárást - elvileg ISP progrmaozóval nem is tudtam volna babrálni még ha akartam volna sem.

Most ott tartok, hogy van itthon egy Atmega8-as, építek egy Fusebit doctort mert másra nem tudok gondolni minthogy fuse gond lenne. Csak azt nem értem hogy mitől lenne fuse bit gondom. Esetleg a programozóm viccelt volna meg, hogy tudtomon kívül biztosítékot állított?


Ha bárki tud hasznos infóval szolgálni szívesen fogadom! Köszönöm!
(#) Reggie válasza Sallala hozzászólására (») Jan 15, 2011 /
 
Nem. A programozasi uzemmodba ugy ter at, hogy a foldre huzza es ott is tartja a reset labat. Ekkor teljesen mindegy, hogy a program mit szeretne azzal a labbal kezdeni(mivel nem fut, az eloelet nem szamit).
Szerintem probald ki a programozodat egy masik uC-vel, hogy mukodik-e. Ha igen, akkor ellenorizd a programozo labakhoz tartozo aramkorok terheleset, mert az lehet, hogy tulzottan le van terhelve a lab, akkor nem tudja a programozo kello keppen meghajtani vagy ha szuro aramkor van rakotve, akkor torzithatja az atvitt bitsorozatot.
(#) Sallala válasza Reggie hozzászólására (») Jan 15, 2011 /
 
Szia!
Köszönöm a választ!

Az a helyzet, hogy a programozó elvileg működik, mert mint írtam, miután bedöglött az Atmega32 programozása, utána szépen felprogramoztam egy Atmega16-ot is. Azon is szépen elindult a programom, de utána már azt a chipet sem "látta" a letöltő.

Sőt, mindezek után most még egy Atmega8-at is felprogramoztam, betöltöttem rá a fuse doctort hex-et. Nem volt vele gond, a hibaellenőrzés is lefutott.

A reset láb is rendesen működik a "hibás" processzorokon.

Azért le fogom tesztelni a programozót is alaposan.
És ellenőrzöm majd azt is, hogy tényleg nagyimpedanciás állapotba áll-e be programozás után. Lehet, hogy nem, és akkor attól megsült a PORTB kivezetés. (Bár kimenetként jól működik, mert az utoljára betöltött program villogtat rajta ledeket)


Meg megépítem a fuse doctor áramkört is amit feljebb linkeltem. RS232-n pc-re kötve információkat tud adni a fuse bitekről. Ha kiderül, hogy fusebit baj van, akkor bizony a programozó szoftver lehet a ludas mert hogy én nem piszkáltam a fusebit menüpontot az "hótziher".


Köszönöm a megerősítést, amit írtál, ezzel szűkítetted a kört!
(#) TavIR-AVR válasza Sallala hozzászólására (») Jan 15, 2011 /
 
A programozo kabele nem kontakthibas?
Nalam ezzel volt alattomos hiba...


AVR táplábán a 100 nF kondi?
(#) edison14 hozzászólása Jan 15, 2011 /
 
Hali.

Nem tud valaki valami jó leírást vagy könyvet AVR-ek assembly nyelven való programozására?
(#) sikolymester válasza Sallala hozzászólására (») Jan 15, 2011 /
 
Felhúztad a reset lábat tápra egy 1k-10k ellenállással ?
(#) MaSTeRFoXX válasza edison14 hozzászólására (») Jan 15, 2011 /
 
Itt elég sok minta és tutorial van asm-ről
http://www.avr-asm-tutorial.net/avr_en/
(#) Beachway hozzászólása Jan 15, 2011 /
 
Sikerült felprogramozni néhány Atmega8 -at a ponyproggal. Mindenkinek köszönöm szépen a segítséget! Letöltöttem az AVR stúdió4-et is, de ennek használata nem a magam fajta kezdőnek való.
(#) edison14 hozzászólása Jan 16, 2011 /
 
Hali.

Sikerült addig eljutnom hogy írtam assemblyben egy led villogtató programot. Be akarnám állítani az órajelet de nem tudom hogy hogyan adjam meg a CKSEL értékeit. Gondoltam arra, hogy ezt használom:
  1. SBR CKSEL,3

de nem akar sikerülni. Szerintem valamit rosszul csinálok. Az adatlapot elolvastam de nincsen benne, hogy ezek a CKSEL regiszterek milyen regiszteren belül találhatóak. ATtiny2313-as processzort használok.

A segítségeteket előre is köszönöm.
(#) MaSTeRFoXX válasza edison14 hozzászólására (») Jan 16, 2011 /
 
Azért mert a CKSEL-t csak a fusebitek állítgatásánál lehet beállítani, nem programból.
(#) Knaliret válasza edison14 hozzászólására (») Jan 16, 2011 / 1
 
Szia!

Miért nem a programozón keresztül állítod a fuse biteket?
FUSE kalkulátor

AVR tutorial - Fuses
(#) TavIR-AVR válasza Knaliret hozzászólására (») Jan 16, 2011 /
 
(#) edison14 válasza Knaliret hozzászólására (») Jan 16, 2011 /
 
Értem. Látszik hogy PIC-hez vagyok szokva (__CONFIG) . Eddig is tudtam, hogy az AVR Studioban hol lehet beállítani a dolgokat csak egy kicsit reméltem hogy a programban is be lehet állítani hogy látható legyen de mindegy akkor készítek fejlécet és oda beleírom. Köszönöm a gyors választ.
(#) Reggie válasza edison14 hozzászólására (») Jan 16, 2011 /
 
Be lehet allitani programban is. Itt van rola leiras. (En mar evek ota igy csinalom. Hatranya, hogy a HEX fajl nem fogja tartalmazni emlekeim szerint, de az ELF fajl biztosan tartalmazza)
(#) edison14 válasza Reggie hozzászólására (») Jan 16, 2011 /
 
Köszönöm szépen. Több mint valószínű hogy megtanulom ezt a megoldást. Viszont kár hogy maga a HEX nem fogja tartalmazni a beállításokat. Mennyivel könnyebb volna.
(#) Reggie válasza edison14 hozzászólására (») Jan 16, 2011 /
 
Hat igazsag szerint kulon a HEX-et hasznalni mar elegge elavult dolog. Ez azert van, mert mamar sok section van, amit az ELF egyszerre is tartalmazhat, de a HEX csak kulon kulon. Mindegyik terulet tipus egy-egy sectiont alkot(azaz a flash, eeprom, fuse). (Az ELF-hez hasonlo a Microchipnel hasznalt COFF.)
(#) edison14 válasza Reggie hozzászólására (») Jan 16, 2011 /
 
Szóval ha lefordítom a programot akkor létrehoz nekem egy HEX és egy ELF fájlt és amikor égetem az AVR-t akkor ezeket a fájlokat felhasználva mindent beállít. Javíts ki ha rosszul értelmeztem.
(#) Reggie válasza edison14 hozzászólására (») Jan 16, 2011 /
 
Neked eleg csak ELF fajlt letrehozni, az tartalmaz mindent. (A 2 db HEX fajl+kulon fuse bit allitas az osdi alternativa). Az AVR Studio programozo feluleten van egy beviteli mezo(talan a 2. fulon, igazsag szerint nagyon ritkan hasznalok AVR Studiot), ahol meg lehet adni az ELF fajl eleresi utjat es nevet. A tobbi fulon levo fuse bitekkel es stb. nem kell foglalkoznod, csak a beviteli mezo mellett ranyomni a programozas gombra.
(#) kala1982a hozzászólása Jan 16, 2011 /
 
2 * 16 -os LCD. megcsináltam mindent így : Link

Nem működik, inicializálás ok mert az lcd egyik sora tele van telített négyzetekkel. Erről az oldalról : Link rátöltöttem a .hex fájlt és működött szépen. Persze lábak átkötözgetése után. Azt nem értem az egészben, hogy pl az egyik kapcsolásnál az LCD 5-ös lába GND-re van kötve a másiknál az avr egyik lábára amin 5 voltot kap.
Leírásokat kerestem, de nem nagyon találtam. Ha valaki tudja hogy miért és leírná... úgy látszik lcd-hez felejtős a bascom..
(#) Reggie válasza kala1982a hozzászólására (») Jan 16, 2011 /
 
A megfejtes az altalad linkelt oldalon van, csak el kene olvasnod.
(#) kala1982a válasza Reggie hozzászólására (») Jan 17, 2011 /
 
Tényleg ott volt, mekkora vak vagyok. Működik is rendesen... Lehet vasárnap nem lenne szabad ilyenekkel foglalkoznom..
(#) Sallala válasza TavIR-AVR hozzászólására (») Jan 17, 2011 /
 
Az elrontott AVR után a másik procit "pöccre" felprogramozta. Aztán az is elromoltt. A harmdik procit is pöccre felprogramozta.

De persze megnéztem, kicsipogtam led-el is néztem, nem tűnt kontakt hibásnak.

Köszönöm!
Következő: »»   298 / 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