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
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?
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...)
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.
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!
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?
Sziasztok!
Az lenne a kérdésem hogy hogyan lehetne használni az atmega8515 analog comparatorat?
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.
1. Bekotod az analog jele(ke)t az icre (megfelelo labakra).
2. Beallitod megfeleloen a konfiguracios regisztereket. 3. Megszakitast keszitesz vagy pollingozol.
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!
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.
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!
A programozo kabele nem kontakthibas?
Nalam ezzel volt alattomos hiba... AVR táplábán a 100 nF kondi?
Hali.
Nem tud valaki valami jó leírást vagy könyvet AVR-ek assembly nyelven való programozására?
Felhúztad a reset lábat tápra egy 1k-10k ellenállással ?
Itt elég sok minta és tutorial van asm-ről
http://www.avr-asm-tutorial.net/avr_en/
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ó.
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:
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.
Azért mert a CKSEL-t csak a fusebitek állítgatásánál lehet beállítani, nem programból.
Szia!
Miért nem a programozón keresztül állítod a fuse biteket? FUSE kalkulátor AVR tutorial - Fuses
É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.
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)
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.
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.)
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.
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.
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..
A megfejtes az altalad linkelt oldalon van, csak el kene olvasnod.
Tényleg ott volt, mekkora vak vagyok. Működik is rendesen... Lehet vasárnap nem lenne szabad ilyenekkel foglalkoznom..
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! |
Bejelentkezés
Hirdetés |