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
Ja okés! Néztem is hogy ez egyátalán hogy fordul le neki
Sziasztok!
Egy AVR-el megvalósított TV-ábragenerátort szeretnék építeni. Bővebben: Link A mikrokontroller egy ATTiny2313. Megépítettem egy STK200 kompatibilis égetőt (lásd: csatolt kép) A BASCOM-AVR demó változatát elindítva a Chip programozás menüben szépen meg is találta a kontrollert. DE!!! A Fuse bitek beállításait vizsgálgatva véletlenül felprogramoztam a fuse biteket és nem is tudom, pontosan milyen értékekre. A lényeg, hogy most már nem is tudja beazonosítani a kontrollert a program. Ki lehet valahogy resetelni a fuse biteket, vagy eldobhatom a 2313-at? A válaszokat előre is köszönöm! Üdv: Gyula
Hali!
Problémámmal fordulnék a nagyközönség felé. Van egy Mega16os vezérlőm, ami portbővítőkkel van ellátva.Egy szalag vezérlését oldanám meg vele.A program szimulálva jól működik, sőt a valóságban is jól működik. DE néha csinál olyat amit nem kellene, illetve az adott pillanatban NEM LEHETNE azt csinálnia. Mi okozhat ilyen hibát? A bővítők külön panelen vannak, a vezérlő tápfeszültsége LC taggal szűrve. A bővítők reléket és szelepeket vezérelnek ill. a 24Vos optikai szenzorok vannak rajtuk (néhol a kábelek hossza 15m). A kábelek különválasztva az erősáramtól(külön fém tálca). Vélemény és javaslatok? A kód ASM-ben van. Olyan(vagy ahhoz hasonló) a jelenség, mintha egy elágazásnál (vagy a visszatérésnél) nem a megfelelő címre ugrana. Üdv és köszi:Kiborg
Hat igy eleg nehez barmit is mondani. Azt sem irtad le mi az amit nem szabadna csinalnia es mi az amit kellene. Ha hardveres a hiba akkor elsosorban zajokat mernek a tap es jel vezetekeken, megneznem nem okoz-e valami resetet stb. es onnan mennek tovabb. Ha szoftveres hiba akkor meg nehez barmit is mondani mert nem tudom hogy van megoldva, gondolom valami allapot geped van, van-e benne valami szamitott ugras/elagazas? Indirekt cimzesu valtozok hasznalata stb -- ezeket amugy keruln illene egy nagymegbizhatosagu kornyezetben.
Probaldd meg kitalalni a veletlenszeru esemenyekben van-e valami osszefugges, kotheto-e valamilyen esemenyhez (valami szerszamot beinditanak epp akkor stb stb stb).
Szia! Ez egy szerelőszalag lenne.Két végén pneumatikus lifttel.Felül szerelnek,alul visszamegy előre a tálca.
A kapcsolószekrénytől távolabb levő lifttel van az, hogy néha gondol egyet és leenged a lift amikor félúton van tálca a lift és a szalag között. (ugye csak akkor kellene lemennie a liftnek, amikor teljesen lement a liftről a tálca) Az eredeti kábeltálcában vegyesen mentek erősáramú és gyengeáramú kábelek, de már szétválasztottuk őket. Nincs benne indirekt címzés. Eddig használtam call és ret-et, de átszerkesztettem, hogy csak rjmp legyen benne. Az stb alatt mit értesz mit még érdemes kerülni? Üdv és köszi Kiborg
Hát, tulajdonképpen nem is tudtam, hogy így nevezik. Tudnál-e segíteni,hogyan lehet ezeket a módokat beállítani? Ja,és lenne még egy kérdésem. Nem tudom,hogy ha az AVR Sudio-t megnyitjuk mi a külömbség az AVRGCC es az Atmel AVR Assembler mód között.
A válaszokat előre is köszi!
Közben megoldódott. Az oszcillátor típusa lehetett elállítva. Először oszcillátor nélkül próbáltam. Alapból a belső oszcit használja, de miután elálítottam, az már nem működött. Ráraktam egy 20MHz-es kristályt, és láss csodát: működik.
Végül is megválaszolom magamnak. (A legjobb vitapartner: Önmagunk. )
Az Atmega8 adatlapjában ill. egy külföldi összefoglaló oldalon találtam választ. A fenti beállítás a belső quartz alkalmazásával operál. http://www.scienceprog.com/programming-avr-fuse-bits-oscillator-settings/ Ez az oldal különösen hasznos: http://www.engbedded.com/fusecalc/
Üdv!
Most ismét egy igen láma kérdéssel fordulok szerintem hozzátok, de már megőrülök hogy mi miért hogy működik! Szoval a kvarc kristályt hogy kell bekötni az avr-nek órajelhez ? Minden ábrán ugy van, hogy a 4-5 láb közé , majd rá két kondi, és föld! Ám ha igy csinálom akkor nem működik! Viszont ha csak simán a kvarcot a 4-5 láb közé teszem, és semmi mást nem csinálok vele, akkor műküödik! Most akkor hogy van ez ?
Szia!
Milyen kondival próbáltad? 10-33pF között próbálkozz. Egyszer én is elnéztem és 1nF (vagy 100nF ) kondit tettem be véletlenül és én is agyaltam mire rájöttem, hogy mi a baj... Kiborg
Szerintem jo kondit teszek bele, most igy fejböl nemtudom, de talán 333 van ráirva!
Számolási mód:
ráírt érték első két számjegye x 10^-utolsó számjegy x 10^-12. pl:104 = 10 x 10^-4 x 10^-12 =100nF (vagy 10 x 10^-(12-4) Az utolsó -12 azért annyi,mert az ilyen kondik alapegysége a pF (10^-12). tehát: 333= 33 x 10^-3 x 10^-12 = 33nF éshát nF-os értékkel meg nem indul be az oszcilláció. Mondtam, hogy én ezt már benéztem. Kiborg ui:pF-es kondikra csak két szám szokott lenni ráírva .
Akkor majd megnézem!
Mi történik akkor ha kondi nélkül használom a kvarcot ? NEm lesz pontos ? ? Egyébként köszi a segítséget!
Szia!
Kondi nélkül nem biztos, hogy bekapcsoláskor elkezd rezegni a kvarc az adott frekin. De majd jönnek a nagyok és kijavítanak, ha tévedtem. Kiborg
Hali.
Egy modulrendszerű fejlesztőrendszert építek magamnak és volna egy-két kérdésem. Ezek már elhangzottak a PIC-miértek hogyanok fórumban de mivel az AVR és PIC processzorok között van egy kicsike különbség inkább felteszem itt is. Biztosra akarok meni . Íme a kérdések: az első hogy a RESET lábra egy reset gombot tervezek. Programozáshoz az AVR Dopert fogom használni. A reset nevű képen látható kapcsolás jó lesz? Nem fog bezavarni a programozásba és a tesztelésbe? A második kérdésem, hogy az XTAL1 és XTAL2 lábakra egy 3-as tüskesor foglalatot teszek hogy különböző kristályokat és rezonátorokat lehessen csatlakoztatni. A két 22pF-os kondenzátor nem fog bezavarni hogyha rezonátort, belső oszcillátort vagy külső órajelet használok? A válaszokat és segítséget előre is köszönöm. köszönöm.
Szia!
Véleményem szerint JP2 és JP3-t elhagyhatod(fix rövidzár), a két kondi nem fog zavarni, ha belső oszcit választod, sőt ha a kvrac lesz rajta az se fogja zavarni. Resethez én kicsit nagynak találom a 4,7u-s kondit, 100nF-t használok, vele párhuzamosan kötve egy nyomógombot (mindenféle ellenállás nélkül) és egy felhúzó ellenállás, a 10k-s megfelel. Üdv Kiborg
Köszönöm szépen a válaszodat. Nekiállok áttervezni.
Sziasztok!
A mai nap megépítettem a Topi féle AVR-Dopert felismerte a gép, az AVR Studio is, viszont amikor fel akarom tölteni vele a hex file-t akkor úgy kb 20% környékén hibát dob. 5cm-es kábelt használok. A másik kérdésem viszont az volna, hogy az ATmega128 kiolvasása közben befagyott a program és lehúztam a programozóról a kábelt, utána egyáltalán nem tudom szórabírni, ez mitől lehet, van rá esély hogy visszahozzam? A válaszokat előre is nagyon köszönöm!
Sziasztok
Van egy 12v-os rx-tx modulom, a baj az hogy az adat bemenetére is 12v kellene. De az avr csak 5v-ot tud. Hogyan hidaljam át a problémát. Segítségeteket előre is köszönöm.
Szia zsozsoX!
A megfejtés tekintetében javaslom nézz meg egy ICL232 v. MAX232 v. UCL232 ,( meg a fene tudja még ki mindenki gyártja), típusú tok adatlapját. Üdv, vf
Szia!
Remélem ez segít, csatoltam egy sematikus ábrát ami a kimeneti ill. bemeneti jelszinteket is mutatja, így tudsz 5V-ból ~12V-ot csinálni.
Sikerült megoldani a problémát.
Az volt hogy 3.3V-os áramkörrel nem kompatibilis a programozó, kis átalakítással alkalmazkodik 2V-6V-os áramkörökhöz.
Üdv mindenkinek!
Egy olyan programot szeretnék amely a következőt tudja: egy telefon rezgőmotor-kivezetése menne egy attiny 45-re és az behúzna egy relét, amely egy adott ideig (fél, 1 mp) behúzva maradna. A baj csak az, hogy kezdő vagyok, és nem tudom hogyan kezdjek hozzá, azt sem hogy a kapcsolást hogyan építsem meg! Esetleg van olyan már kész progi, ami hasonló? Ha valaki tud egy segítsen! Köszönöm!
Ha csak ez volna a megoldandó feladat akkor szerintem ugyanezt a kérdést tedd fel az "555-ös IC-s kapcsolások" topikban, sokkal könnyebb dolgod lesz mint az AVR-el hidd el.
Sziasztok
A Topi féle ISP programozóval programoznék Atmega8-at. Megy minden rendesen (Read signature, tudom állítani az órajeleket,stb.) De amikor a programot beírja a végén megjelenik a szokásos hiba üzenet ablak és nem írja be a programot. Köszönöm előre is segítségeteket. Ui.:legutóbbi kérdesemre köszönöm zsuscsinyo válaszát, tutin müködik
Nekem nemrég mondták, hogy 1MHz-es órajellel ez előjön. Próbáld meg 8MHz-es órajelen felprogramozni, úgy nem fog ez előjönni
Sziasztok! Volna egy olyan problémám, hogy egy frekvencia mérőt szeretnék építeni, ami később több áramkörömben is kellene. Régebben próbálkoztam egy megírt progival, hátha az megy, de mivel szenvedések árán sem indult be és nem is volt a céljaimnak tökéletesen megfelelő, így saját, új program írásába kezdtem. Az a célom, hogy az AVR-em lábára kötött jel frekvenciáját mérjem, amit a későbbiekben tovább feldolgozhassak. A frekvencia az egységnyi idő alatt bekövetkezett periódus változás, tehát gondoltam felhasználom az AVR-ben levő Timer-t és az időmérése közben számolom a periódus változásokat megszakítással, majd a Timer, ha megszámolta az időt , akkor a periódusváltozás értékét átadja egy másik változónak és nulláz. Természetesen ez sem megy. Kéne egy kis segítség.
Sziasztok!
Szükségem lenne a segítségetekre... ATmega8 az alany, a feladat ismételten I2C... Most véletlenül sem hardveres a probléma, hanem inkább szoftveres jellegű! A következő kódot az adatlapjából másoltam, megjegyzem, azonos ez a rész a mega32 ezen kódrészletével.
Amit tapasztaltam. Ez a kódrész eddig gyönyörűen működött. Most a mega8-ra való fejlesztés közben, nem akar működni. Szimulátorban tesztelve sem azt teszi ez a rész, amit kellene, és gyakorlatban sem! Elvileg indításkor 0xA4 értéket töltök a TWCR regiszterbe, hogy elinduljon az I2C startjellel. Ezután figyelem a TWINT bitet, ha az 1, akkor megy tovább a program. Namármost a TWCR regiszterbe, miután betöltöttem a 0xA4-et, csak 0x24 "marad", vagyis a TWINT nem áll 1-be... Ha azt külön akarom beállítani "sbi" paranccsal, akkor az AVR studio hibát ír ki a regiszter maximális értékét tekintve. Ez a "folyamat" mega32 alatt hibátlanul szimulálható. Nem találtam erre semmi utalást a mega8 adatlapjában. Ismét figyelmetlen voltam, vagy valamiről tényleg nem tudok?!
**************
Elég csak az apróban hirdetni. Itt tilos! --vicsys |
Bejelentkezés
Hirdetés |