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
Furcsa értékeket olvas a signature-nek, vagy semmit?
Saját táp OK, de földben legyen ugye közös.
Semmit sem olvas. A GND közös.
A letöltés sebességét be lehet állítani.
Sejtésem szerint a tippjeink alapján az ISP frekvenciát alaposan lecsökkentetted. Próbáld ki magasabb frekvenciákon (lépésenként ellenőrizve), de nem kell írni, elég olvasni is. Amelyiken hibázik, vedd visszább, és az lesz a jó. Egyébként alacsony ISP frekvencia (x kHz) esetén akár a sok másodperc is normális lehet. Magasabbnál (x MHz) 1-2 másodperc körül lehet, de ez a procitól (memória méretétől) is függ, mivel egy byte-nyi program esetén is az egész memóriát átírja. Most milyen ISP freki van beállítva?
Sziasztok
Egy érdekes dolgot tapasztaltam de nem tudok rájönnni az okára. Írtam egy rgb led vezérlő progit mikropascal for avr-el, betöltöm egy atmega168-ba (mivel ez van itthon) avrprog programozóval, szépen üzemel minden. A problém ha ki-be kapcsolom az áramkört olyan mint ha az időzítése nem lenne jó mert kb 1 másodpercenként villog a led, hol ott 1kHz-el kellene kitöltést szabályoznia. Nem értem hogy betöltés után miért megy, és újraindítás után meg nem.
Sziasztok!
Az miért van, hogy az avr-re kötöt lcd-n villog a kurzor ha külső kvarcra van állítva, ha belső órajelre akkor nem.
3,6...-ról kicseréltem 14,7..-ra, de ugyan az.
És a belső oszcillátor mennyin ketyeg?
Arra gondolok, hogy magasabb frekvencián, mint a Te külső kvarcod. De mondom, ez csak egy tipp.
Szia!
Mas kulonbseg is van a mukodesben, vagy csak a kurzor villogasa? Ja, es milyen LCD-rol beszelsz (kerdezel...)? Udv, Andor
Hali
Sikerült a problémát megoldani. Elöször arra gyanakodtam,hogy a kijelző egyik adat lába az avr xck portjára van kötve és az zavarja. Átkötöttem az egészet ehez át kellett írni az lcd programját, átírás után is ua. csinálta. A kijelző tőrlése parancs elé és után kellett betteni egy kis késleltetést ez volt a baj. Azért köszönöm a segítséget.
Hali.
Megépítettem az AVR Dopert és elsőre nagyon szépen működik és programoz. Viszont volna egy kérdésem. Az első az hogy miután kiválasztom a programozót kidob egy ablakot melyben figyelmeztet, hogy frissítenem kell a firmware-t mivel ami most bele van töltve az régi. A program amit beleégettem az itt található az oldalon Topi cikkjében. Esetleg azóta már készített valaki újabb programot? Esetleg ha van újabb program el tudnátok küldeni vagy be tudnátok linkelni? amúgy ha a 'Mégse' gombra kattintok akkor továbblép és kidobja a programozó szoftvert és mindent be tudok állítani és rendesen működik. ATmega8-as processzort használok és 4.0 SP2-es AVR Studio-t. A segítségeteket előre is köszönöm.
Sziasztok
Lenne egy olyan problémám, hogy Timer-ral megy egy időzítő és az RF kapcsolattal az usart-on keresztül meg akarom állítani. De amikor bekötöm a vevőt elkezd akadozni a számlálás. Lehet ez ellen tenni valamit? Segítséget elöre is köszönöm.
Hali
Itt az oldalon van egy cikk annak a programozónak a használatáról. Ott az van, hogy abban az ablakban mindig a mégse-re kell kattintani, mert ha frissíted utána nem lesz jó.
Sziasztok!
AVR-eknél a nem használt lábakat ugye célszerű tápra vagy földre húzni beépítés során? Melyikre érdemesebb (már ha van különbség)? Resetet nyilván tápra. Köszi!
Szerintem teljesen szükségtelen... És igen, a RESET lábat tápra érdemes húzni!
Hali. OK. Kár hogy nem lehet mindig frissíteni a firmware-t.
Igen, digitalis bemeneteknel a FET-eknek nem jo, ha lebegnek -- tul azon, hogy nagyobb aramfelvetelt okoz akar mukodesi zavarokat is eloidezhet.
Firmware-bol is lehet ezeken javitani, pl bekapcsolod a belso felhuzo ellenallast, vagy analog bemenetet valasztasz de akar digitalis kimenetre is kapcsolhatsz. Sokan megis kulso fel vagy lehuzora eskusznek pl mert pl a firmware nem fix dolog, az hibas is lehet, nem azonnal kapcsolja ki/be a dolgokat mikor a tap rakerul az aramkorre stb... Amugy az, hogy fel- vagy lehuzol talan fugg attol is mit szoktal meg vagy melyik az erosebb vagy kevesbe zajos stb. Resetnel egyertelmu, hogy felhuzast kell alkalmazni -- de felhuzast, nem direktbe rakotest!
Sziasztok
Egy kis segítséget kérnék az alábbi sematikus móricka rajzhoz.Hogy jól gondolom-e? Alant látható egy hőmérő modul. 12 V ról megy, ebből állítjuk elő a +5v -ot ez működteti a az Atmega8-at, a 12 V továbbá meghajt egy osztót, melynek egyik tagja egy NTC vagy PTC ez ADC kimenetén 0 - 5 V közötti fezs jön ki. Azért is kell a 12 v mert még jó néhány eszközt szeretnék vezérelni ezzel, relék min 2 vagy 3, és egy másik AVR-t is működtetnie kell Attiny2313, ez egy kezelő egységet alkot alfanumerikus kijelzővel, amely az Atmega8-al I2C-n kommunikál, továbbá egy soros interfész is kapcsolódik a hőmérő modulhoz. A hőmérséklet mérése a következő képpen zajlódik Pszeudo nyelven
Nos eddig jól gondolom-e? ezt az egészet magamtól, és az itteni topikok átlapozásával, tűvé tételével értem el. És persze a kép: Köszönöm segítségeteket, és kritikátokat, bármilyen is legyen ez utóbbi
Hali.
Azt szeretném kérdezni, hogy a fusebit doctor programozó működik e ATmega32-es processzorral. Volna pár ATmega8 amit fel kéne élesztenem és van egypár Atmega32-esem amivel ezt megpróbálnám. Ebben szeretnék segítséget kérni, hogy hogyan kössem be és melyik hex-et égessem be az Atmega32-es prociba. A segítségeteket előre is köszönöm.
SZiasztok
Én még csa k kezdő vagyok a programozásban és azt szeretném kérdezni,hogy az AVR studio4 -ben ,hogy kell a forráskódot lefordítani és felprogramozni . Sajnos még nem találtam róla leírást ,csak a beálításokról. Előre is köszi!
Üdv mindenkinek!
Kezdő vagyok és egy olyan áramkört szeretnék építeni ami: Először is 4,8 V-os feszültségről megy, tartalmaz egy IC-t amelynek lenne kb 10 olyan kimete amelyet két vezérlőgomb segítségével tudok le-föl egymás után sorba kapcsolgatni. a lényege az lenne, hogy ha pl. a "fölfelé" gombot nyomogatnám akkor mindig a sorban következő kimeneten jönne áram (amelyre később persze tranzisztort kötnék). lefelé pedig fordítva.... Fontos lenne az is, hogy ha megszüntetem a tápellátást, akkor az újabb bekapcsolás után az a kimenet működjön amelyiknél kikapcsoltam, tehát jegyezze meg, hol járt... Gondoltam, hogy legkönnyebben AVR-el lehetne megoldani a dolgot, azonban sajnos ehhez nem értek, szóval ha lenne valaki, aki tudna egy számomra megfelelő előre megírt programot, amit max. csak kicsit át kellene írni, vagy egy kapcsolási rajzot amit megépíthetnék, az legyen szíves szóljon! A segítségeteket előre is köszönöm!!
Hello! Ez most Robi98-nak is szól! Ha c-ben akarsz írni, akkor azt, ha assemblyben, akkor pedig a másikat kell kiválasztani az induláskor és a project nevét is meg kell adni. (nem igazán pontos, de ha valaki látja maga előtt, akkor úgyis tudja) Utána beírod a forráskódot a "nagy fehérbe" és ha megvagy, akkor nyomsz egy F7-et vagy a "build" menüben kiválasztod a legelsőt. Ha minden OK, akkor nem ír ki semmit piros vagy sárga színnel alul a dobozba. Miután ez megvan kell találnod egy .hex- fájlt a projected nevével megegyező nevű mappában. Ezt lehetne szebben is leírni, de úgy hosszabb és egy teljesen amatőr úgyis csak pislogna. Egyébként nem kell messze mennetek a megoldásért, mert EZEN az oldalon is van egy videó az avr-studio használatáról.
Viszont most én kérdeznék: most kezdtem el a bemenetek használatát, de nem akar összejönni.
ez a forráskód elvileg azt csinálja, hogy ha a PINB4-es lábon rajta van a tápfesz (5V) , akkor a PINB3-on lévő ledet bekapcsolja. Ennek ellenére: a led bekapcsol, de nem kapcsol ki, amikor már nincs rajta az 5V. Szóval olyan mintha az if után megállna a program. Gondolom egyszerű lehet a megoldás, de nem sikerült még rájönnöm, ezért egy erős idegzetű embert szeretnék megkérni arra, hogy segítsen.
else
{ PORTB = 0x0; } Vagy: else { PORTB = 0 << PINB3; }>>
Helló!
1-2 hibát látok benne, meg van egy észrevételem. Én a nyomógombokat testre szoktam kapcsolni, mivel úgyis kell fel/lehúzó ellenállás attól függően, hogy melyik szintet akarod nézni. Ha magas szintet nézed, akkor kell lehúzó ellenállás, ami a nyomógomb nyitott állapotában alacsony szinten tartja az adott bemenetet. Ha alacsony szintet akarsz nézni, akkor ugyanígy felhúzó ellenállás kell. Viszont itt van egy jó dolog, mivel az avr-ben vannak beépített bekapcsolható felhúzó ellenállások. Így nem kell a kapcsoló mellé még egy plusz alkatrész. :yes: Ha jól tudom a DDR regiszter is alapból nulla értékű, így minden láb alapból bemenet, amit nem is kell akkor állítani, csak a kívánt lábakat kell kimenetre állítani, a többi úgyis bemenet lesz.
Ez elvileg jó. Idézet: „Szóval olyan mintha az if után megállna a program.” Mivel nem közölted vele, hogy egyébként kapcsolja ki a ledet, ezért nem is csinál semmit. Azt is bele kell írni, hogy mit csináljon, ha az if(feltétel) nem igaz.
Hello! Köszi mindenkinek, nem is értem, hogy az else ágat miért nem raktam bele. Mégegyszer köszi mindenkinek! Ha abban a helyzetben leszek gyorsan ki is próbálom...
echo11
Srácok az AVR árakat ki robbantotta fel???
Most nézem egy CAN-es 128 10500huf???
Tudtommal fogyóban vannak a készletek és még nem ért ide a gyárból a friss szállítmány vagy hasonló.
Helló mindenkinek!
Nekem az lenne a kérdésem, hogy programozásban abszolút kezdő hol/hogyan tanulhat meg legegyszerűbben AVR-t programozni? Valahol csak van valmi leírás a programozás menetéről és a parancsokról ami szerény személyem számára is felfogható, remélem! Köszönöm! |
Bejelentkezés
Hirdetés |