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
Köszönöm kvarcal márt jó
Ezekután megtudnátok mondani h pontosam mit pipáljak ki?
Köszönöm mindenkinek, müködik a Topi féle avr programozó, amit Ponyproggal és stk200-al égettem fel.
Akinek kell a segítségem nyugottan szoljon szivesen segítek
Az, hogy rámentél a frissítésre, amire nem kellett volna.
Az, hogy amikor kiírja, hogy van újabb fw és hogy frissíted-e akkor rámész a mégse gombra és kész.
Próbáld ki 16MHz-essel, ha megy, akkor semmit.
Üdv!
Eddig 8051-es alapú procit használtam, de most avr-re van igény. Azt szeretném megtudni, hogy milyen letöltőt érdemes venni. Eddig főként C8051F206-ra írtam programot és ennek a letöltő adaptere (debugger adapter) képes volt lépésenként futtatni a programot a procin és brake pointokat is lehetett használni. Van erre lehetőség az avr-eknél? Amit láttam letöltőt eddig az csak annyit tudott, hogy letöltötte a programot és kész. A hibakeresés egy gyötrelem volt, főleg, h más kódját kellett javítani.... Mit ajánlotok? Üdv: Márió
AVR dragon
Programozó, debugger, tud többféle programozási módot is, szóval nem tudod magad véletlen kizárni fusebitekkel. Lehet, hogy nemsokára beruházok rá.
Sziasztok!
Meg tudnátok mondani, hogy hogyan tudom megadni(C-ben) a procinak(ATiny45), hogy mit csináljon INT0 esetén?
Szia.
Én AVR studióban GCC-vel így szoktam
A SIGNAL() elavult, új kódokhoz nem ajánlott, helyette az ISR() használatos.
Köszönöm a választ.
Írtam is egy programot, nem mindenhol a leglogikusabb, de legalább megszakítást használ, illetve használna, ha működne... A ledsor eléri a maximumot, de nem hajlandó újraindulni.
Lehagytad a volatile előtagot a változó definiálásánál. E nélkül nem tudod az adott változót megszakításból is használni.
Most működik, köszi.
Azt meg lehet valahogy csinálni, hogy interruptkor ne egy másik parancssort hajtson végra, hanem a főprogram egyik címkével megjelölt részéhez ugorjon? pl:
Helósztok. még csak most kezdek ismerkedni at atmel-ekkel. de szeretnék csinálni egy íidőzítő kapcsolást, aminek az lenne a dolga hogy egyik bemeneten nézi a feszt, ami 5v. ha ez megszűnik akkor a kimenetén 1 percig ad 5 voltot. konkrétan a meglévő attiny 13-asromra gondoltam de fogalmam sincs még hogyan is mekk megírni programot rá. a nyolc lábbal egyik részéből megépítetem az attiny 13 assal készült pc venti vezérlést, de mivel nekem csak 1 ventire van szükségem ezért a másik portot nem veszem igénbe. át lehet e írni a programot, úgy hogy az időzítést is ez a kontroller végezze? . ha bonyesz akkor éppen felhasználhatok 1 másik kontrollert, de helymegtakarítás és kihasználatlanság végett, célszerűbb lenne a meglévő progijába módosítani. a segítséget előre is köszönöm.
Akkor azt a részt rakd bele egy függvénybe és azt hívd meg a főprogramban és a megszakításban is. Egyébként kerüld a "goto"-t, mert egy idő után átláthatatlan lesz tőle a program.
Sziasztok!
Van egy programom, ami majdnem tökéletesen működik. Egy kivétellel. A funkció váltások nem mennek igazán jól. Ezekkel mit lehetne csinálni? Egy gombbal váltok funkciót. A funkciónak addig kellene menni, amíg újabb gombnyomás nem történik és akkor kellene váltania a következőre. Erre valami jobb megoldás nincs, mint amit én csináltam, mert itt csak két gombnyomás után kezdi el csinálni a következőt. Az oka, hogy a gombnyomásra csak a funkció while ciklusából lép ki és következőre vált. Mit lehetne ezzel csinálni? Programot mellékelem.
Szia!
Valahogy így kéne megoldanod amit te szeretnél goto nélkül:
Bele néztem a kódba, elvileg ha ezt a részt:
Átírod erre:
Akkor jól kell működnie. Teljesen felesleges figyelni ott a gomb nyomásokat, mivel a három villogtató fügvényed úgyis csak akkor tér vissza, ha gombnyomás volt. Tehát ha bármelyik villogtató fügvényed visszatért a fő ciklusba, akkor automatikusan tudod, hogy gombnyomás történt. Nem kell még 1x vizsgálni, hogy valóban le van nyomva a gomb. A késleltetéseket lehet állítgatni kell majd egy kicsit.
Köszi! Működik. Látszik, hogy van még mit tanulnom.
Mi a különbség SIGNAL és ISR között?
Azonkívül, hogy látszatra egyformán működik. És, ha elavult, akkor miért működik? A fordítónak nem kellene szólnia, hogy ne ezt használjam? Vagy valaminek?
Az AVR libc írói nem ajánlják a SIGNAL()-t, ami annyit tesz, hogy a támogatása megszűnt. Kizárólag a régi kódok kompatibilitása miatt maradt benne a könyvtárban.
Idézet: „Mi a különbség SIGNAL és ISR között? Azonkívül, hogy látszatra egyformán működik.” SIGNAL es az INTERRUPT a regi modszer, ezeket csereltek le az ISR-es modszerre. Gyakorlatilag fel akartak oldani a felreerteseket a ket megszakitasi tipus kozott, mivel az egyik blokkol, a masik nem. Igy lett az ISR aminek attributumokat lehet adni es azzal lehet meghatarozni, hogy blokkolo legyen-e vagy sem. Ezenkivul mas attributumok is vannak (pl., hogy csupasz legyen-e az ISR es akkor neked kell manualisan a kontextus mentest megvalositani). Idézet: „És, ha elavult, akkor miért működik? A fordítónak nem kellene szólnia, hogy ne ezt használjam? Vagy valaminek?” Pontosan ugyan amiatt ami miatt egy regi auto is meg mukodik: Sok embernek meg regi van, es, hogy ne kelljen azokat a bontoba vinni az utak es a benzin megmindig ugyanaz... Van egy regi alkalmazasod, ne kelljen mar atirni, csak mert valahol valaki ugy gondolta az ISR kevesbe kavarja meg a kezdoket, mint a SIGNAL.
Sziasztok!
PIC -hez már elég jól értek ,most szeretnék nekiállni az AVR processzorokhoz. Az AVR - ről csak annyit tudok, hogy AVR. Valaki tudna segíteni, hogyan kezdjek neki? Milyen processzort használjak először , miben programozzak (assemblyhez jóül értek + egy kevés pascal), milyen égetőt ajánlotok kezdők számára... Köszi a válaszokat
Üdvözlök mindenkit! Lenne egy kérdésem. Nem sok tapasztalatom van e témában. Szeretnék építeni egy LCesr mérőt, és ehez kellene felprogramoznom egy MEGA8-P -t. Ehez keresnék kapcsolósi rajzot (programozóhoz) Ha lenne valakinek olyan ami garantáltan jó ehez a tipushoz, azt nagy örömmel fogadnám. Előre is köszönöm a segítségeteket!
|
Bejelentkezés
Hirdetés |