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
Programozashoz boven eleg a JTAG(en is ezt hasznalom), viszont ha hatekonyan(azaz gyorsan) szeretnel debuggolni, akkor celszeru a Nexus buszt is kivezetni es egy AVR One beszerzesen elgondolkodni.
Az SPI busz hasznalata es az orajelek megvalasztasa elott vedd figyelembe az Errata-t, konkretan itt arra a hibara gondolok, miszerint az SPI orajelet nem lehet leosztani rendesen az FDIV bit bugja miatt. Ahhoz, hogy rendesen le tudjal menni a sebesseggel, amennyiben erre szukseg van, vagy a rendszerorajelet kell lejjebb venned vagy a buszmatrixban a periferiak orajelet kell lejjebb osztanod. Oszcillator nem kell, pl az EVK1100 1 db 12 megas kvarcrol megy a uC. Viszont vedd azt figyelembe, hogy a maximalis frekvencia kulso oszcillator hasznalatakor 50MHz, kulso kvarc hasznalatakor 16MHz. Mielott a kulso oszcillatort hasznalnad, gyozodj meg rola, hogy elbirja-e a ket IC okozta terhelest. Semmivel sem jarsz rosszabbul, ha kulon kvarcot kap a uC, a 66MHz a 12MHz-bol jol kiszorozhato(x11/2). A szuro kapacitasokra figyelj, bar nekem a kovetkezo jatek nyakra nem sikerult elegendot ratervezni hely hiany miatt (max egymasra forrasztgatok SMD alkatreszeket), majd a tapasztalatokat megosztom. A LED-eket nem celszeru kozvetlenul meghajtani a labakrol mert csak 4mA-t tudnak (4 IO lab kivetelevel).
Megnéztem szkóppal is: áll a proci teljesen, nem is próbál a kijelző felé küldeni semmit. Ha megnyomom a gombot, akkor viszont látok mozgást, kb 1 másodpercig, de a kijelzés nem változik tőle, marad a felső sor tele kockákkal.
Szerintem továbbra sem azt égetem bele (vagy nem úgy), amit kéne. A kijelzőt lepróbáltam egy másik cuccban, ott megy.
Ha sikeresen beégetted a hexet és az eepromot, azzal szerintem nem lehet baj. Amivel valószínűleg gond van az a fuse bitek beállítása, de az általad megadott paraméterek alapján nem tudom hogyan kellene beállítani.
Lehet, hogy a procim nem jó, mert A-s ?
ATMEGA8A-PU
Sziasztok! PIC-ek után most AVR-rel kezdtem foglalkozni. Megépítettem az ITT található programozót, windows felismeri, driver fenn van, AVR Studio 4 -ben tudok is csatlakozni hozzá, csak éppen programozni nem tudok vele, akárhogy is állítgatom az ISp órajeleket mindig azt a hibaüzenetet írja ki, ami EBBEN a videóban is van, amikor túl magas az órajel. A programozóban ATmega8L van, mert csak ilyet kaptam (COM portos programozóval programoztam fel ami itt található: )LINK) valamint 74LS126 nem 74HC126 ez gond lehet? Az ISP kábel nem hosszabb 20 centinél, az elektronikát, forrasztásokat már sokszor leellenőriztem, az nem lehet rossz. AMúgy mega8L-t próbálok programozni. Valami ötlet hogy mi lehet a gond? gazsee
Ja latom meg online vagy ugyhogy mondom gyorsan: Ha hosszan vezeted az usb-t akkor CPW elvezetest hasznalj (coplanar waveguide).
Sziasztok!
Szeretnék beüzemelni egy grafikus kijelzőt, de sehol sem találok hozzá normális lib-et. Esetleg tudtok nekem ebben segíteni, hogy hol találok belőle egy működőt? EADOGL128 EADOGL128 adatlap
Köszönöm a hozzászólásokat, most dolgozom fel őket.
Sziasztok!
Topi féle AVR isp programozót használok. A cikkben azt olvastam, hogy a programozót lehet használni USB -TTL átalakitónak, vagyis hogy lehet a segítségével az AVR és a PC között kommunikálni sorosan. Viszont a cikkben azt olvastam, hogy ehez USB hid módva kell átváltani, viszont ugy nincs Com port, így nem lehet hyper terminálban beállítani. Mit csinálok rosszul? vagy mit értettem félre? Előre is köszi annak aki válaszol
Na közbe ráöttem mi a gond, úgyhogy megválaszolom magamnak, hogy mások tanuljanak belőle. A probléma a 74LS126 alkalmazásával volt, ugyanis annak nem elég 10Kohmos ellenállásokon keresztül meghajtani a bemeneteit, (2, 4, 9 es lábak) ahogyan a kapcsolásban van. A 3 db 10K-s ellenállás átkötése után működik!! több mint 3 órám elment vele...
Szevasztok!
Egy 24LC01B EEPROM-ot próbálok összehozni I2C-n atmega8-assal. A program az adatbájt küldésénél furcsán viselkedik. Megvizsgálom, a TWSR-ben, hogy az előző adatbájt elküldése megtörtént-e (a mem.cella címe.) a következő módon:
Az if fejében bármit adok meg feltétel vizsgálatnak a program akkor is belép oda(DATA_NACK, ARB_LOST, stb...) Ez miért lehet? Egyszerre csak egy értéket vehet fel a regiszter. Nem jelezhet arbitrációs hibát, adatátviteli hibát, ACK bit hibát egyszerre... Találkoztatok már ilyennel? Mi lehet a baj? Végig követtem az adatlapban található javaslatokat és mégse jó.
Legjobb tudomásom szerint sajnos ez még senkinek sem sikerült.
Mármint a hyper terminálos? vagy hogy egyáltalán ezzel programozóval megcsinálni?
Ezzel a programozóval. És ahányszor felvetődött csend volt a válasz.
Ezzel a programozóval SEHOGY sem lehet soros kommunikációt folytatni.
Értem, bár ebből nekem az jött le
Idézet: „Ezen kívül USB-HID módban lehetőség van kivezetett, az előző oldalon látható lábakon használható RXD és TXD vonalakra, mely az USB-s programozónk által leszimulált soros port. Ez hasznos lehet, olyan esetekben, amikor az eszköznél ezt a lehetőséget használjuk debugolásra, üzenetek kiírására.”
Leírásban ott van, talán eredetileg valamikor az eredeti verzióban működött is. De itt és most nem működik. Én is próbálgattam már, de semmi eredmény nem volt.
Adatlap 170. oldalan a 6-os pontot kifelejtetted, miszerint a te altalad kozolt kod 3. es 4. sore koze be kell szurni ezt:
Ha elállítottam a reset lábat, azt vissza lehet valahogy hozni? Persze nem ezzel a játék-programozóval, hanem egy igazival.
Igen, nagyfesz programozóval pl, de nem ajánlom hogy ahhoz hozzányúlj, macerás visszaállítani.
Csak a teljesen kész programnál lehet érdemes.
Késő! Nyilván azért kérdeztem.
A nagyon macerás, az elég relatív: 3 napja szopok ezzel a szeméttel, és semmit nem haladtam.
Miért nem használsz CodevisionAVR-t? Abban előre megírt függvények vannak az i2c kezeléséhez.
Sziasztok!
Reggie-hez: Köszi! Az általad említett sort használom, igaz közvetlenül az if-ág előtt. Ki fogom próbálni amit mondtál! Flathead-hez: Igazad lehet, elgondolkodtam már én is, hogy jó lenne valamilyen komolyabb fejlesztői környezetet használni a "programmers notepad"-nél. A codevision alapvetően fizetős ugye?
Az nem eleg, nezd meg a doksit. Az adat kikuldes elott is meg kell varnod mig befejezodott az adas, es a stop bit kikuldese elott is.
Alapvetően fizetős, de mint mindenből, ebből is létezik tört verzió. Amúgy nem egy eszelősen drága cucc, 45.000 Ft bruttó ha jól emlékszem, én is be fogok rá fektetni. Rengeteg időt lehet vele megtakarítani.
Szia! Megnéztem, de nekem ez sem fut rendesen.
Tapasztalataim szerint nem feltetlen mindig a kod a hibas, de akkor ellenprobanak marad azt, hogy az init-et es egy alap kiirast le kell programoznod.
|
Bejelentkezés
Hirdetés |