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
Ha jól tudom a belső oszci nagyon pontatlan és a hőmérsékletre, feszültségre stb... elég nagy eltéréseket tud produkálni?
Annak idején a PIC-es adatlapok engem is megtréfáltak, mert mindenhol azt írták a timer1-nél, hogy "built-in 32kHz low-power crystal oscillator" vagy valami hasonló, és össze-vissza kotortam, hogy tulajdonképpen mi is van a PIC-ben. Kiderült, hogy csak egy olyan oszcillátor van benne, amit kifejezetten a 32768Hz-es órakvarcokhoz terveztek, ez tud működni alvás közben is, és a timer1, amit tud hajtani, az tud menni aszinkron módban (amikor számol alvás közben is). De A KVARC NINCS BENNE A CHIPBEN (egyébként furcsállottam volna, ha benne lenne), noha az összes szöveg nekem is azt sejtette, hogy az az oszcillátor úgy komplett, működő egység, ahogy van. Úgy tűnik, az AVR-nél is ez a helyzet. Marketing...
Egyébként még mindig az egyik legjobb módszernek azt tartom időmérésre, ha kihasználod ezt a lehetőséget és az AVR mellé teszel egy órakvarcot, amiről a valós időt számoló interruptod megy. A program működéséhez meg használhatod a sokkal pontatlanabb, de MHz-es nagyságrendű belső órajelet, ráadásul ha nincs épp szükség a CPU-ra, akkor altathatod is.
CTC-vel meg tudod csinalni kristaly nelkul,..Itt attol fugg minden hogy Neked mekkora pontossag kell. A hofok fuggeset meg nezd meg az adatlapban. A belso oszci szoba homersekleten olyan 10% elteressel dolgozik azt hiszem..
Sajnos kint lenne a szerkezet ahol eléggé ingadozik a hőmérséklet.
De project lefújva mivel nem lesz nyúl sajnos, pedig már készen van a ketrec is meg a nyitó is stb....
Tudod az utóbbi időben már nincs is kedvem nagyon hozzászólni, mert már azért letámadják az embert, hogy hogyan merészelt valamit kifelejteni amikor segített. Orrba-szájba jönnek az idiótábbnál idiótább kérdések, kérések, mit kérések szinte már követelések. Pedig egy kis utánajárással utánaolvasással megtalálható lenne a válasz. Túl kényelmessé tett titeket ez a fórum Kedves Kezdők (tisztelet a kivételnek, mert az is van).
Idézet: „Komolyan úgy leszólják már az embert mintha szakember lennék nem hobbi szinten érdeklődő” Én kérek elnézést, hogy rávilágíthattam a számodra lényeges pontra. Bocs!
Sziasztok!
Van egy topi féle avr droperem, mindent úgy csinálok, ahogy a videó mutatja, de nem akar működni, mert sose tetszik neki a freki. Készítettem egy kis videót(csatolva) hátha abból jobban kiderül, hogy mit bénázok el. A segítséget előre is köszönöm.
Nekem is hasonló volt az elején első pár alkalommal. De mindig valamit elbénáztam.
Amit ellenőrizz még szoftveres beállításokon kívül: jó a céláramkör bekötése? tápot megkapja? működik a cél IC? nem túl hosszú a programozó kábel? nincs zárlat benne?
Sziasztok!
Csak nemrég kezdtem foglalkozni, mind az elektronikával, mind az AVR-ekkel. Éppen egy órán dolgozok ami kettes számrendszerben írja ki az időt és van egy kis problémám. Az ATMega88 -as tipusú procim C portjait nem tudom kimenetként használni, vagyis hát nem adnak ki jelet, de az összes többi igen. :S Kerestem Gooooglében meg fórumon, meg adatlapon is, de nem találtam érdemi információt. Egyedül egy helyen írták a Goooglén hogy ATMega38-as procinál ki kell kapcsolni a JTAG-et és akkor jó lesz, de ilyet az adatlapon nem találtam az én procim esetén. Kódot nem írok be, mert abban nincs semmi különös. DDRC-be beállítom a kimeneteket, PORTC-be írom a bitjeimet és ennyi. Ugyan úgy mint a D vagy a B portok esetén. Előre is köszönöm szépen a válaszokat, remélem sikerült leírni a problémámat...
Hali!
Én mega16-ot használok, így csak tippelek. Ha jól láttam az adatlapon ezen nincs is JTAG. Ellenben a C porton van a reset, csomó megszakítás, AD konverter, soros ki/be menet. Nem használod ezeket valahogy ? Másrészt a fuse bitek be vannak rendesen állítva ? Gondolok arra, hogy a reset-et pl azt hiszem ott kell tiltani, ha PC6-ot is használni akarod. Röviden ennyi. Üdv Kiborg
Ha ISP programozóval dolgozol, akkor a RESET tiltása elég rossz ötletnek tűnik, mivel RESET nélkül ISP-n keresztül nem fogod tudni megszólítani az AVR-t. A PC0-PC5 lábaknak illene működniük, én legalábbis nem látok olyat, amit még külön állítani kellene ehhez.
Az eddigi 20cm-es kábelt levágtam 13 cm-re és újra bekötöttem+átvizsgáltam a bekötést, tiszta új IC-vel próbálkoztam, de ugyan ezt a hibaüzenetet kapom és ugyan így megáll a programozás.
A 20 cm kabel nem lehet kritikus, kar volt szetvagni.
Hát igazából a RESET lábat nem mertem kikapcsolni tényleg, mert még szeretném programozni. De egyébként minden mást próbálgattam kikapcsolni pl az AD konvertert de nem igazán érdekli, lehet, hogy a procim lenne gyárihibás? :S
És bemenetként tudod használni ?
Próbáld ki. Másik portra raksz ellenállást leddel és irsz egy olyan progit, ami másolja C port lábait B portra. Hozzáérsz fel/lehúzó ellenállással és látod, hogy változik-e. Haigen, akkor bemenet és nincs kimenetre állítva. Miben programozol ? Üdv Kiborg
Üdv!
beprogramoztam egy attiny 13-at a 8lábbal c. cikk aksitöltőjéből nem volt semmi gond 0 warnings 0 error, de aztán megpróbáltam később még egyet és ott már az originál programra amit át se írtam és 3 warningot meg 2 errort hozott le Ez mitől lehet? a segítséget előre is köszönöm!
Sok-sok hibaüzenet létezik, ha nem írod le konkrétan akármitől lehet...
Szerintem azért nézd meg a Project/ Configuration Option ablakot. Elképzelhető, hogy nincs megadva az uC típusa és, vagy órajele. Onnan gondolom, hogy használ a kód delay.h fejlécfájlt, de nincs F_CPU definiálva a kódban. Projekt készítésekor állítsd be a szimulátort is, akkor nem felejti el, a fenti beállításokat. Üdv!
Köszi ott volt a probléma ahol mondtad. Kicsit feledékeny vagyok.
Mostmár minden ok. Üdv!
Sajnos egyéb dolgok miatt csak szombaton tudom kipróbálni, hogy működik-e bemenetként a PORT... elnézést és köszönöm az eddigi válaszokat.
Hello!
Érdeklődnék, hogy milyen könyvet javasoltok nekem ahhoz, hogy az alapoktól kezdve megismerkedjek az AVR mikrovezérlőkkel és programozásukkal. Fontosak lennének a "közérthető" példák és magyarázatok. Létezik egyáltalán ilyesmi vagy ne is álmodjak róla?
Saját magamból kiindulva:
Nyolc lábbal cikksorozat Én ezeknek a harmadik átolvasása által zúgtam bele az AVR-ekbe. Előtte nem PIC-eltem, de az bonyolultabbnak tünt. Szerintem elég jól le vannak írva az alapok, illetve sokszor elhangzik, hogy sok adatlap olvasás kell hozzá. Ez tényleg igaz! Belelapozol az adatlapjába egy AVR-nek, és látod, hogyan épül fel hardveresen, hogyan lehet beállítani egy előosztót, egy timert, egy ADC-t stb. Ezeket kell tanulmányozni a Nyolc lábú cikksorozat mintapéldáival összefésülve, ezekután már érthető az adatlap is. ATtiny weboldala, itt is vannak jó kommentek, a kész projektekben. Hála neki és Topinak, elég érthetővé vált az AVR használata számomra is. Na meg itt a fórumon is segítettek komplett programkóddal, pl eeprom írása, vagy megszakítás kezelés. www.AVR.tavir.hu itt is lehet keresgélni.
Megépítettem a Topi féle AVR programozót.
Az asztali gépen tökéletes, a laptopon is, de ha a laptop dokkolójában lévő USB-re dugom ott nem. Pedig minden más(ICD2, fényképező, PDA, telefon, pendrive, stb...) megy rajta. Először a dokkolóra dugtam, és fel is ismerte, kérte a drivert, fel is ment rendesen. De amikor az AVRstudio-ban kiválasztom, hogy STK500orAVRISP Com3 majd connect, akkor please select a device from the devicelist hibaüzenet. Ha kiveszem a dokkolóból és közvetlenül a gépbe dugom a kábelt minden OK. Fontos lenne, hogy a dokkolóban legyen a gép. Dell latitude D600, Xp sp3, de sp1-el és 2-vel se ment. Mi lehet a gond? Előre is Köszönöm. Attila
Általában másik USB-be dugva, a Windóz teljesen másik "Virtuális" COM portot rendel hozzá.
Tehát majdnem 100% hogy másik USB-be dugva, nem ugyan az a COMx lesz.
Egyébként a dokkolók tudnak furcsa dolgokat művelni. Soros TTL konverterektől kezdve mindennel. Így a LowSpeed Bulk is sokszor beteg.
Dokkoló nélkül is tud a windows dolgokat...
Nekem ugyanezt a programozót nem éri el az AVRStudio, ha valamilyen USB-s eszközt használtam közben. Programozok, működik jól, kihúzom, bedugok ugyabba az USB csatlakozóba pl. egy pendrive-ot, utána újra csatlakoztatva az AVR programozót, nem biztos, hogy kapcsolódik. Ugyanannak a portnak veszi fel (pl. COM2), portbeállítások ugyanazok, mégsem megy. Néha a csatlakozó kihúzása, újra bedugása segít, de sokszor csak a COM port eltávolítása, majd a programozó kihúzása, bedugása, újratelepítése segít. (Már olyan gyakorlatom van benne .)
Én azt vettem észre, hogyha egyszer eldobja a kapcsolatot, lehúzom, majd visszadugom, nem látja a portot az AVRStudio - portként a programozó látszik, kommunikálni is lehet vele, csak az AVRStudio nem látja - ilyenkor kihúzom mégegyszer majd vissza és akkor megy.
Tehát valahogy kétszer kell kihúzni majd visszadugni és akkor hajlandó az AVRStudio felismerni. Nem kezdtem el az okát keresni, mert pontosan ugyan ez a helyzet a gyári AVRDragon-ommal is, ugyan ez a teendő. Kétszer kell kihúzni és kétszer kell bedugni, amikor valami miatt megszakad vele a kapcsolat. Így mivel a gyári AVRDragonnal is ilyet csinál, így nem is nagyon tudnék mit kutatni.
Ugyanaz a Com port van hozzárendelve. Ki be húzogatást már próbáltam nem egyszer .
Amúgy az ICD2-vel is hasonló a helyzet, de az ki-bedugás után helyrejön. Veszek egy USB elosztót és megpróbálom azzal, a gépen csak kettő van, elég kevés. Köszönöm a válaszokat.
Erdekes dolog..Nekem Spartan3E KITnel van hasonlo. Elso csatlakoztatasnal USBre csak "reszben" mukodik, firmware updatelni akar. Lehuzom, vissza, es mukodik. Egyszer emiatt a fw. updatet megcsinaltam.. De Linux alatt is igy mukodik.
Na vettem egy USB elosztót, a gépbe közvetlenül megy az ISP, a hub-ba a többi. Így már minden OK.
Szép napot mindenkinek.
Hello mindenkinek!
Egy quad-ban at 89c2051-24pu-val épített vezérlés van.Lehetséges-e, hogy beázástól meghülyült?És ha igen, tud-e valaki újat programozni nekem?Bármilyen megoldás érdekel.Van egy másik fórum kifejezetten ezzel a kontroller?el, Balut kérdeztem is, de nem válaszol. hegusp |
Bejelentkezés
Hirdetés |