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
Használj Atmel Studio 6 -ot. Az 5 BETA verzió volt és lesz és marad örökre már.
Valaki nem tudja ott fent a WinAVR / GCC alapszabályok mellett kiírni, hogy a Studio 5 -öt nem érdemes használni?
Szimulátorban van ciklusszámláló. Ha beállítod az órajelet a szimulátor beállításban, akkor rögtön másodperc alapon mondja meg neked az eltelt időt.
Ellépkedsz a kérdéses részig, órát reseteled, elmész a végére és meglesed mennyi az annyi. Talán ez csak a Studio 4 -ben van benne, de ott biztos.
Androidot ,sajna nem tudok programozni.
![]() Próbáltam már az összes terminált, de azok is csak emulátorok voltak. Úgy látszik ez az irány még nem járt a fejlesztők körében. Szerintem megoldható lenne, de ez persze csak az én véleményem. Nálam az AVR egy FT232-es IC-vel komunikál az USB felé. Csak azt kellene valahogy elérni, hogy a tab lássa ezt az IC-T valami úton. Még csak most vettem, nem ismerem milyen lehetőségekre képes, de folyamatosan tesztelem amint időm engedi. AVR-Duino/R3-as panelem van, amihez van még egy Bluetooth fedpanel, ezzel összetudom kapcsolni a tabot és az AVR-t. Ahogy említetted! Ezt tartom a szükséges megoldásnak, ha már USB-n nem sikerül. A tab, szépen megtáplálja USB-n keretül az AVR és a panelt, ezért is szeretttem volna USB-n keresztül programozni is. De még se programozó progit, se sorosporti programot nem találtam amivel tudnék komunikálni.
Akkor én is kérdeznék:
Megnéztem, hogy mitől lassú a lefordított C programom és mi foglal értelmetlenül sok helyet. Meglepetésemre két ISR volt a ludas, a többivel nem volt gáz. Mármint, hogy push r17, push r18, ... push r31, ...interrupt rész... pop r31, pop r30,... pop r17 A kérdés is ezzel kapcsolatos, hogy muszáj-e az ISR-nek vagy 20 regisztert lenyomni a verembe? Ez ISR-enként 80 byte, a sebességről meg nem is beszéltem.
6-tal is ugyan azt a hibát kapom.
Csak akkor szükséges azokat lenyomnia, hogyha használja őket az interruptban.
Hali!
Megnéztem az AVR-ed adatlapját! Mellékeltem! Lehet, hogy neked a 0-70 Cfokig működő AVR-ed van. A hozzászólás módosítva: Feb 15, 2013
Hestoron vettem, ATMEGA 8515 16PU 1136 ez van ráírva. Mindjárt megnézem hány fok van kint, de szerintem több mint 0, 2-3 fok lehet....
Kint van az áramkör, most is. Lehűl össze vissza működik, elkezdem fújni hajszárítóval és megjavul....
Üdv, éppen AVR-programozásával foglalkozom és a következő feladatot szeretném megoldani. Van két bemenetem, meg két kimenetem. A kimenet LED, fel vannak húzva 5 voltra. Azt szeretném megoldani, hogy ha az egyik, vagy a másik bemenetet leföldelem, akkor a LED kapcsoljon ki, egyébként világítson. Tehát az if feltétel után egy vagy logikát szeretnék használni.
A programból :
A program lefordul, belemegy az ATMEGA8-ba, de csak akkor alszik ki a LED, ha mind a 2 bemenetet leföldelem, olyan, mint ha AND műveletként viselkedne, nem pedig OR ként. Tudnátok adni valami segítséget. Annak is örülnék, ha adnátok valami tippet, hogy az ilyen logikai műveleteket honnan tudom megtanulni. Előre is köszi A hozzászólás módosítva: Feb 15, 2013
Amikor leföldeled a bemenetet, akkor 0, egyébként 1.
jelentése: vagy D1 nincs lenyomva (földelve), vagy D0. Amikor mindkettőt lenyomod, akkor ugrik át az IF else ágára. A hozzászólás módosítva: Feb 15, 2013
Ok, a magyarázatot megértettem, köszönöm. Akkor hogyan kellene módosítanom a programot, hogy a következőt csinálja:
Ha az egyik vagy a másik le van nyomva (földelve), akkor ugorjon az else ágra
nem értem. Ha D0-t lenyomom, akkor már az if nem teljesül és akkor már az elsre kellene ugrania. De nem ugrik. Most akkor az is a kérdés, hogy az én programom működik-e, vagy nem? (Működik, csak nem azt csinálja, amire én gondolok)
Betettem egy dobozkába, mellé tettem egy 5Wos szofita izzót, kint van és működik gond nélkül... Szerintetek mi legyen a hosszútávú megoldás???
De teljesül, mert D1 magas. Vagy (||) kapcsolat helyett és (&&) kapcsolatot használj. Ekkor ha bármelyik bemenet alacsony az else ágra kerül a vezérlés.
A hozzászólás módosítva: Feb 15, 2013
Miért? Fordítva kell gondolkoznod!
A VAGY B = NEM(NEM(A) ÉS NEM(B)) A ÉS B = NEM(NEM(A) VAGY NEM(B)) A földeléses kapcsolás megfordítja a bemenetedet: az AVR NEM(A)-t és NEM(B)-t fog látni. Tehát: NEM(A) VAGY NEM(B) = NEM(A ÉS B) Nálad ÉS kapcsolat van és az IF-ELSE rész megfordul.
![]() ![]() ![]()
értelemszerűen egy olyan IC használata, ami bírja a hideget is.
Amit kedves 75roll beillesztett táblázat, abban nem szerepel ATMEGA 8515 16PU 1136 típusú... Így hogyan tudok hideg tűrő típust választani?
Köszi
Igen jól érted.
Hogy első körben ne kelljen külön szenvedned a kliens programmal csinálja annyit, hogy terminal programon figyeled az RS232-ról jövő infókat. Ha ez megvan akkor terminálról küldj vissza karaktereket és azt jelenítsd meg az LDC-n. Ha ez is megvan akkor jöhet a PC program.
Hali FMSound!
Az új paraméterek ismeretében(-16PU) "Abstract: ) ATmega8515-16PU(2) ATmega8515L-8MU(2) 44A 40P6 44J 44M1 44A 40P6 44M1 Industrial (-40°C to 85°C , )" Ez szerepelt a gyári adatokban. Meg merném kockáztatni, hogy hibás az AVR! Kövezzetek meg, ha nem! ![]()
Most volt egy kis időm tovább kínozni a tabot.
![]() Az USB device info program elindítva a tabon, az alábbi belinkelt képeket mutatta. A tabra csatlakoztatott AVR-Duino panel megjelent a USB device info programban, talán ezzel lehet mit kezdeni.
Sziasztok!
Engem egy olyan kapcsolás érdekelne amivel egy Avr tápforrását lehet megválasztani. Röviden és tömören amíg nincs áramszünet addig normál trafós stabil 5v-os tápról megy az Avr amikor pedig áramszünet van akkor pedig ceruza aksiról. Próbáltam keresgélni a neten de egyszerűen nem tudom milyen címszó alatt keressem. Előre is köszi a válaszokat! Üdv Benji
Valamilyen nagy felezési idejű nukleáris termogenerátor megfelelhet a célra, akkor nem kell a szofita.
![]() A műholdakban bevált...
Szia!
Az "AVR-Duino/Mega Uno R3" panelen pont ilyen áramkör van. Idézem: "A tápellátás kiválasztása nem lehet gond, mivel ha rendelkezésre áll külső áramforrás, akkor automatikusan átkapcsol az USB portról" Időm engedi, jobban átnézem majd ezt a témát ha nem boldogulsz vele. Addig is kezdő lökésnek nem rosz. ![]()
Egy ilyen cuccnál az "automatikus" átkapcsolás az AVR-től teljesen független, Isten ments
attól hogy majd az AVR ha érzékeli hogy nincs táp akkor majd átkapcsol akksira! Kezdésnek a dióda működését ha megérted, már lesz egy használható ötleted is. Súgok: 2 dióda kell. Lehetőleg Schottky típus legyen, azoknak kicsi a nyitófeszültsége! Haladó ötlet, ha az akksit az AVR-re rákötöd, a töltést pedig diódán keresztül adod neki. Ha nincs töltés, az AVR az akksiról megy. Hátránya hogy csutkára merült akksinál nem fog egyből működni az AVR a töltő rádugása után. A másik, hogy a NiMh akksik ezt az üzemmódot útálják.
A legegyszerűbb megoldás:
Bővebben: Link Pl. így keress: Bővebben: Link De annak az akkunak a töltéséről is illik gondoskodni.
Szerintem a "sárga csíkot" érdemes lenne ezzel az infóval kiegészíteni. Már másodszor szívom be, hogy a megrendelő visszahozza a cuccost, mert az én tápommal egyszer se jött elő ez a EEPROM hiba, és elfelejtettem megemelni a BOR szintet...
![]() A hozzászólás módosítva: Feb 17, 2013
Visszakérdeznék! Mit tud ez az egzotikus típus, ami miatt az egyszerű csere nem jöhet szóba?
Egyébként ha beterhelnél pár szabad portlábat (szép LED-ek, 20mA), akkor maga fűtené meg magát az IC. ![]() Valami olcsó ATMEGA8/88/16, stb.-re azonnal cserélném.
Biztos nem pont az IC típusa a baj, valami csavar is lesz a dologban amit nem osztott meg velünk.
Kvarckristályos meghajtásnál pl. nagyon érzékeny minden AVR a tápra, a táplábak közelében lévő kondikra. Szintén gond lehet ha nincs felhúzó ellenállás a RESET lábon, ez 4.7-10kOhm kell hogy legyen. Amúgy a helyében én is cserélném az IC-t, mivel a 8515 egy nagyon régi konstrukció hagyatéka. Ha még gyártják is a típust, már csak a régi cuccok javítása/pótalkatrészezése miatt teszik. Egyetlen érv szólhat mellette, ha van már egy kész áramkör vagy valami régi dolog amiben bevált, abba semmi más nem tehető bele mert nem lábkompatíbilis semmivel. Ugyanúgy mint az ATTiny26: nem hobbistáknak való típus, fejleszteni pedig nem érdemes rá. A hozzászólás módosítva: Feb 17, 2013
|
Bejelentkezés
Hirdetés |