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
Naszóval továbbléptem.
Az már biztos, hogy csak a kijelző "fagy le", mert ledeken látom, hogy szépen tovább számol a vezérlő. Viszont ha PC-vel össze van kötve(földelve) a programozón keresztül, akkor nem sikerül reprodukálnom a hibát. A kérdés továbbra is adott. Üdv Kiborg
Nem, maradjon az egész C-ben, csak assemblyben írtam le, hogy mit akarok, hogy valahogyan illusztrálni tudjam.
Ez egy procifüggetlen hw struktura leíró adatfile, ami egy 2 byte-os pointerrel kell kezdődjön. A fordító Linuxos gcc.
Próbáld újra elolvasni a kérdést és majd rájössz, hogy ez nem is olyan egyszerű.
Kijelzo reset laban van kondi+felhuzo ellenallas vagy a uC-be be van kotve es kimenetkent van konfiguralva?
Adatfajlt miert forditoval szeretnel csinalni?
Csak hogy tudd, az OCR regiszterek általában pufferelve vannak. Azaz csak akkor frissül, ha a timer körbeér.
Ezért vezess be egy segédváltozót amire rápíted a ciklusodat, ja és a delay se maradjon el, kb. így:
A kijelző resetje a vezérlőbe van bekötve és kimenetként konfigurálva.
Melyik a jobb? Kiborg
AVR ISP-vel lehet Xmegákat programozni?
Mert Itt és Itt is írja hogy lehet, de ISP user Guide-ban nincs benne a támogatott eszközök között. Ötlet?
Jo az ugy, csak probalok rajonni, hogy mi az oka. Altalaban az ilyen hozzaersz es elszall tipusu jelensegek a szort kapacitasok es a nem megfeleloen meghajtott vezetekek miatt szokott lenni.
Sziasztok,
Egy atmega8-as vezérlőnél miért ugrál a 10 bites ADC utolsó két LSB-je ? Referencia az AVCC, az AREF pedig földre van kötve 1µF kondival. A tápfesz is kellően stabil. Előző eszközben nem csinálta ezt, pedig ugyanez a felállás volt mint a mostaniban. Jah, még annyit hogy belső oszcillátorról megy, de nem hiszem hogy ez számít. Várom a segítő hozzászólásokat, köszi : )
AVCC szurve van induktivitas+kondi val?
üdv
Tudna valaki ezzel kapcsolatban valami infót mondani? Link Mivel Szeretnék egy mátrix kijelzős órát , de sajnos sokat nem találtam erről a termékről. Viszont amit kibogarásztam ,hogy ez végül is egy óra. De ezenkívül? Valami fejleszthető dolog lenne, vagy mit lehet még kezdeni vele? Sajnos az AVR és Arduino-s dolgokban még "nem vagyok otthon". Előre is köszi.
Szia!
Ebben AVR ketyeg? Nem találtam egyértelmű jelet erre. Mindenképp több modulból (8x8) álló kijelzőt szeretnél építeni, vagy elég lenne egy modulos is? Bővebben: Link Ezt dobtam össze nem olyan régen, bár már el is bontottam. Az időt RTC-ből olvasta, amit már régebben felprogramoztam, így pl idő beállítása sem került bele...
AVR ISP-vel nem lehet programozni, az XMega procik a PDI protokollt használják.
Ehhez minimum egy AVRISP-mkII szükséges, a termékeim között ez is megtalálható.
Már van ISP mkii csak azt nem írtam bele a hsz-be, de a User guide arról szól, és abban nincs benne hogy támogatja az ISP-t. No mindegy ha nem fog menni, akkor csinálok JTAG-et. .
Köszi a segítséget . Esetleg még annyi kérdésem lenne, hogy mennyire különbözik a 8 bites kis tesótól?
Hali!
Gondom akadt az SPI-vel. Egy ADT7310 hőmérő szenzort kötöttem rá. (adatlap) A mellékelt beállítások mellett is mindig 0x00-t olvasok ki belőle. Hol hibázom ? Az ISP beállítása:
Az olvasási ciklus (adatlap szerinti). A ciklus végén az SPDR-ben benne kellene lennie az olvasott értéknek, ezt datain-be mentem.
A végül az adatok, amiket küldök neki és erre a datain változóban kapom a 0x00-t
ASM-ben programoztam. Ha felteszek egy VFD-t a buszra, az gyönyörűszépen megy, minden karakter minden pozícióban megjelenik. De ez csak a busz írása az olvasása,ami nem megy. Üdv Kiborg
Szia !
Nincs szűrve sajnos, de az előző panelben sem volt és ott nem ugrált...mostmár nem tudom beleépíteni az LC-t. Akksiról van 7805-tel + pufferrel megtáplálva, így fel sem merült bennem hogy a tápfesz lenne a baj. Más még lehet a hiba oka ?...ugyanis ezt nem tudom orvosolni a kész áramkörben....nem kritikus ez az 1-2 LSB, csak zavaró az LCD-n látni.
Szerintem keverik a szezont a fazonnal. Ha megnézed a képet annál a mikroelektrikás cuccnál, akkor láthatod, hogy PDI áll a csatlakozó mellett.
A csinálsz magadnak Jtaget alatt mit értesz?
Próbáld meg csökkenteni az ADC referencia órajelét.
Ha ez nem segít, akkor rakd a mikrokontrollert zajcsökkentő üzemmódba az ADC alatt, ezzel nagyobb pontosságot érhetsz el. Amúgy meg addig rendben van, hogy stabil a tápod, de mit mérsz vele? Nem lehet, hogy annak a feszültsége ugrál egyszerűen?
Elképzelhető, hogy nem.
Bővebben: Link, Bővebben: Link, meg volt még egy olyan kép is ahol AVR ISP mkii-vel programozzák az Xmegát. És itt elég 4 vezeték (VCC, GND, CLK, DATA). Az alatt azt értem hogy keresek egy jó kapcsolást ami mindent tud, és megépítem.
Lecsökkentettem az ADC referencia órajelét. Megjavult, köszi szépen !!!
Csak személyes tapasztalat: több ADC csatorna használatakor így csökkenthető az áthallás...
Az xmegak csak pdi vel es jtaggel programozhatoak. Az a 4 vezetekes dolog a PDI. Pdi-s programozot tudsz magadnak barkacsolni, jtageset nem. Csak jtag ice mk1 et lehet epiteni, ami mar reg nem supportalt. Osszesen kb10 AVRt tud az programozni.
Múltkor írtam a lámpáról, mellékelve feltettem a forráskódját is. Ebből kimazsolázhatod a neked szükséges dolgokat, vagy módosíthatod, bár nem túl sokat kommenteztem benne.
Az AVR-re egy mikrokapcsoló és egy LED csatlakozik, a kapcsolóval a LED ki- és bekapcsolható, folyamatos gombnyomással a fényerő állítható PWM üzemmódban. Automatikusan lekapcsol inaktivitás esetén, ilyenkor alvó üzemmódba megy le, hogy keveset fogyasszon. Az AVR 128kHz-en megy a kis fogyasztás érdekében és a PWM-hez ez is elégnek tűnik. Jelenleg még van egy kis hibája, de lehet, hogy csak a kapcsoló pergésmentesítését kellene megoldani a kapcsolásban.
Sziasztok még új vagyok itt. És máris egy komoly kéréssel fordulnék hozzátok. Van egy feladatom amit sürgősen meg kellene csinálnom de nem nagyon megy A feladat a következő lenne: adot egy atmega 128as mikroprocesszor egy 4*40 karakteres lcd kijelző (pqc4004aw-syl-2) és WinAvr (programmers notepad) nevű programmal kellene életet lehelni bele.. egyszerűbb programokat már tudok kezelni a mikroprocin de a hozzá csatlakoztatott lcd-t nem nagyon sikerül feléleszteni... ha valaki tudna egy egyszerű progit amivel kiiratni tudnék az szuper lenne.. Úgy konkrétan a legelejétől.. Előre is köszönöm a segítséget.
Mert nem akarok kézzel offseteket és pointereket számolni.
De az elején kértem, hogy hagyjuk a "..de miért" jellegő kérdéseket. Aki nem tud valaki válaszolni, ugorja ár a kérdésem, nem kötelező hozzászólni.
Azert kerdezem, mert nem ertem mi a celod es ugy eleg nehez segiteni... Esetleg kifejthetned bovebben/erthetobben.
Idézet: „Azert kerdezem, mert nem ertem mi a celod es ugy eleg nehez segiteni... Esetleg kifejthetned bovebben/erthetobben.” A célom egy keresztül-kasul pointerezett, bonyolult struktura másodlagos belépési pontjának kiszámítása, amit offsetként tárolhatok. Ez a kérdés akkor is, ha az adatstruktura vegyértékeket, városok távolságát vagy banános ládák tartalmát tárolja. Valójában ezek ennél lényegesen bonyolultabb, részben tömörített adathalmaz elemei, mondjuk azt, hogy egy fenyőfa ághosszainak tömörített adataihoz rendelt optimalizált Huffman-tábla a file tartalma. Nem tudom, mennyiben segít ez a két offset távolságát kiszámítani és letárolni. Nem kell a Huffmant optimalizálni, sem mást felborítani, sem más, ide nem tartozó részlettel foglalkozni. A kérdésem eredetileg csak ennyi volt és továbbra is ennyi: Milyen trükközéssel tudom c-ben két label byte-ban számított távolságát elhelyezni egy erre a célra fenntartott két byte-os helyen. Ennyi a kérdés.
Akkor itt fogalom zavarok vannak.
Amikor én az ISP-t illetve PDI-t említem, akkor az interfészre gondolok, nem pedig a programozó eszközre. Alábbi programozó felületek vannak az AVR-eknél: -ISP -PDI -TPI -Párhuzamos (ez már régi, de az eszközök egy része továbbra is támogatja) A következő interfészek vannak, amikkel debuggolni is lehet: -JTAG -PDI -Debugwire -Nexus (32 bites AVR-eknél) Az Xmegák mint említettem nem támogatják az ISP felületen való programozást. Ezzel megoldják azt a régi gondot, hogy ki tudja zárni magát az ember, hogyha rossz órajel fuse-t állít be, hoszen a PDI felület tartalmaz órajel jelet. Továbbá emiatt teljesen mindegy az is, hogy milyen órajelen ketyeg a cél AVR. Ezen a PDI felületen lehet debuggolni is. Ehhez egy későbbi generációs Jtag Ice Mk2 kell, vagy egy Jtag 3. |
Bejelentkezés
Hirdetés |