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
Sziasztok!
Atmel Studio program szimulátorát hogyan tudom rávenni, hogy léptetés során beugorjon az esetleges timer IT-be is? Ha beteszek egy töréspontot az IT kiszolgálóba, akkor is csak néha, számomra kiszámíthatatlan módon ugrik bele. A debug képernyőn az IT flagek megfelelően váltokoznak. (Na meg a program is jól működik.)
Mindkét file lényegében egy speciális txt file, ami az avr lefordított kódját tartalmazza.
Ami a hex fileban így néz ki: Idézet: „...000102030405...” bin fileban így: Idézet: „...0b1000000,0b1000001,0b1000010,0b1000011,0b1000100,0b1000101,...” Ez 6 byteot jelent 0tól 5ig bezárólag. Szerintem a te két fileod nem ugyan azt a kódot tartalmazza. Nekem az AVR kód hex fileba konvertálva kisebb mint a bin file. Nálad ez fordítva van.
A bin az bináris, kettes számrendszerben tárolt adatfájl, a hex pedig 16-os számrendszerben tárolt adatfájl.
Név szerint ugyan az,tudom,hogy ez semmit nem jelent,de így töltöttem le,hogy egy mappában voltak.
Ok így már más.
![]()
Na feladom,nekem ez az AVR nem akar menni,PIC-el sosem szívtam még ennyit.
Van 2db USBASP-m,az egyikkel felprogramoztam a másikat,hibátlan lett. Utána beleégettem a Fuse Dr hex fájlt és az is hiba nélkül megcsinálta,kiforrasztottam belőle. Fogtam beletettem a fuse dr-ba,de valamiért nem akart működni,gondoltam kiszedem belőle és vissza teszem a ASP-be és rátöltöm azt a hex-et amit az smd fuse dr változathoz kell,de sajnos már nem működött,ugyan azokat a hibaüzeneteket dobja ki amit még a legelején amikor elkezdtem.A Fuse dr nyákot vagy 100x átnéztem,de semmi hibát nem vettem észre. Lehetséges,hogy a ki-be forrasztástól elhalálozott az atmeg8??!
A DIP IC-ket foglalatba illik tenni.
Nem tudom, hogy hogyan forrasztottad ki. Én úgy szoktam, hogy levágom az összes lábát, az IC kuka, utána egyesével kiszedem a lábakat, hogy a panel ne égjen szét. Ha van hőlégpáka lehet, hogy egyszerűbb, de mezei otthoni pákával nem tudsz szerintem IC-t kiforrasztani. Az összes youtube videó láblevágással kezd.
Azért az nagyon durva lenne, ha egy mezei dip tokos IC-t nem lehetne simán kiforrasztani. Furatgalvános nyákból kissé nehezebb, de az sem akkora gond, hogy a lábait keljen vagdosni.
A hozzászólás módosítva: Szept 14, 2015
Akkor csak én nem értek hozzá.
Nálam mindig leégtek a vezetékek a furatgalvános nyákról. Próbáltam ónszippantóval, meg solder wick-kel is, de a vége mindig túlmelegedés és panel sérülés volt. Lehet, hogy ügyetlen vagyok, de most már fogóval kezdem a műtétet. A hozzászólás módosítva: Szept 14, 2015
Csúnya lenne ha minden egyes ki-be forrasztásnál kukáznám a Uc-t.Semmi vagdosás nem kell,hőlégpákával kb 1 perc és kint is van.Azóta már sikerült megoldanom.
Az SCK lába lógott a levegőben amit még nagyító alatt sem vettem észre csak úgy,hogy megpiszkáltam fogpiszkálóval és láttam,hogy mozog.Így sikeresen felprogramoztam Fusebit átírva,hogy belső oszcillátorról induljon,de sajnos nem akar működni a Fuse DR.
Még pillanatpákával is két egyszerű módszer szerint ki lehet venni, csak ne legyen furatgalvános, és szűk a furat. Hajítasz megfelelő csúcsot, ami egyszerre melegíti a lábsort, vagy kiforrasztó 'hegyet, ami még az ónt is leszedi, mintha szalaggal puceváltad volna. yútyubon kívül is van élet
![]() A hozzászólás módosítva: Szept 14, 2015
Értem, csak elkorcsosultam. Az Ebay-en 450 Ft egy Atmega328P-s mikrovezérlő, 30 Ft egy IC foglalat, nem fogok szórakozni vele.
Hőlégpákám nincs, mert egyelőre még nem volt olyan projektem, ahol megtérülne a befektetett pénz (100.000 Ft).
Nem kell rögtön BGA-zót venni,nekem egy ilyenem van és eddig még jó volt.
Nem is rossz, kösz, hogy leírtad. Ilyen árkategóriában már érdekes lehet nekem.
Elég off ez ide de többet nem is írok róla,de 20-50-ig bezárólag elég sok választás van hőlégpáka terén,de elsőnek meg hobbi szinten szerintem ez bőven elég.Ami engem zavar egy kicsit benne az az ,hogy nincs digitális hőfok kijelzés. ezt hiányolom,de a 30-50-ig kategóriába már benne van.
Sziasztok! Egy 3,3V-os avr-t kellen összehoznom egy 5V-os rs485-el. Adat fogadásnál jó feszültségosztó, küldésnél meg egy level shifter?
A hozzászólás módosítva: Szept 15, 2015
Üdv,
egy atmega32a microvezérlővel szeretnék feldolgozni egy hobby vevőből érkező jelet, pwm jel 20ms periódusokkal 5-10%-os kitöltöttséggel. A timer/counter 0 és 1 használatban van így maradt egy 8 bites timer, sok megoldást találtam a neten, konkrét választ sehol nem kaptam, de elméletben az lenne egy megoldás, ha letudnám mérni amíg highon van a jel. Próbálkoztam magamtól de elakadtam és fogalmam sincs hogyan tovább. Kódom:
16Mhz en megy a proci, PORTA-n ledek vannak, és ha rákötöm a vevőre folyamatosan 1-et mutat Ötletem sincs hol rontottam el, vagy hogyan lehetne megoldani, ha esetleg valaki tudna segíteni nagyon megköszönném.
Az hogy hobby vevőből érkező jel az tág fogalom. Micsoda ez? RF vevő vagy valamilyen IC? Van olyan lába, ahol megjelenik a jeled?
Ha interrupt lábra küldöd a PWM jelet és tudod a frekvenciáját, akkor egy timerrel ki tudod számolni hogy hány %-os a kitöltési tényező.
A leírásból ítélve ez valamilyen szervo vezérlő lehet. Ott szokás kb. 50Hz-es frekvenciával 0,5-2,5ms-es impulzusokkal vezérelni (az impulzusszélesség mondja meg, hova álljon a szervo).
Egy kicsit részletesebben, amit Droot javasolt: Az ideális megoldás a timer 1 input capture unit-jának használata lenne, de hát azt már elhasználtad, tehát marad a kicsit igénytelenebb megoldás. Első lépésben készíts egy időreferenciát. A timer 2 overflow megszakítását felhasználva egy a prescaler beállításával finom hangolható felbontású időreferencia készíthető. Egy volatile változó értékét kell mindig eggyel növelni, amikor az overflow esemény bekövetkezik. Második lépésben az egyik PCINT (pin change interrupt) felhasználásával érzékelni kell a jeled változását. Ebben a megszakításban meg kell határoznod az esemény bekövetkeztének idejét úgy, hogy a referencia alsó bájtja a timer2 számlálójának aktuális értéke (ezt a megszakítás meghívásakor azonnal be kell tenni egy változóba, ha pedig nagyon alacsony az értéke, érdemes ellenőrizni a timer 2 overflow flagjét, hátha még nem tudott meghívódni az overflow megszakítás, de a számláló már túlcsordult). A felső bájtok pedig a már elkészített időreferencnia változónk bájtjai. Ebből a számból kivonjuk az előző esemény bekövetkeztének időreferenciáját (értelemszerűen mindig eltesszük a korábban számított időreferenciát egy változóba) és máris megvan mennyi idő is telt el a két jelváltozás között. Ha ez kívül van az értelmezési tartományon, akkor eldobjuk a mérést, egyébként pedig átszámíthatjuk tetszés szerint időbe, kitöltési tényezőbe vagy akár százalékba is.
Sziasztok.
Volna egy hatalmas kérésem hozzátok. Adott egy attiny2313 annak a PD2,PD3-as portjára kötöttem egy-egy nyomógombot. A feladata az lenne,ha megnyomom az 1-es gombot akkor a led bekapcsol.Ha megnyomom a másikat akkor lekapcsol. Tudom ez nektek kisujjból megy de számomra ez kicsit nehéz még. Esetleg egy könyv linket is tudnátok mellékelni ahol az avr studio használatát leírják? Köszönöm előre is. Ja a led a PB1-en van.
Itt mindent megtalálsz:
http://avr-asm-download.de/beginner_de.pdf Itt meg van egy nagyon egyszerü, lépésröl lépésre szolo gyorstalpalo ( képekkel megoldásokkal). http://www.avr-asm-tutorial.net Sajnos az IOS-rol nem megy a Link gomb, ezért kell igy linkelnem.
Sajnos ezzel nem jutottam messzebbre
![]() Az asm-et még annyira sem értem mint a C-t.
PD2-3-ból gondolom,hogy megszakítást akarsz használni.Ha ezt érted,akkor már át tudod írni.
Sajnos az alapokat nem lehet kikerülni, veritéket izzadva meg kell tanulni.
Alul van a kapcsolas meg a progi. Ettöl többet nem igen lehet segiteni.
Én innen tanultam meg az alapokat.
Szerintem ne Assembly-ben próbálkozz először, hanem sima C-ben. Amit Sick-Bastard linkelt, az jó oldal, szépen végigmész az összes leckén, sorban, videót is megnézve.
Szia.köszönöm ez már segített kicsit,bár itt is csak egy gomb lekezelését mutatja be.
Szia,köszönöm megnézem. Ha gondom lesz szólók.
|
Bejelentkezés
Hirdetés |