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
A tartalmát már nem néztem meg, maga a forma már minden sorában fagyásveszélyt hordozott.
Az végülis mindegy, mert a TCCR1B beállítását sem kerülheted el, ugyanis itt van az osztó. Ha nem nyúlsz hozzá akkor a timered el sem fog indulni...
Pedig tccr1b-ben a ' b' helyet 'a ' lett írva és a kód, mint a kisangyal működik! Egyébként meg 5x8 bemenetet meg 8 kimenet tud egyelőre kezelni a kis proci és ami még jobb ez sima SO tokban is kapható a "nagytestvérekkel" ellentétben...
Illetve az a "fagyásveszélyesnek" titulált kódrész a (< < bitnev) arra ad lehetoseget, hogy egy év mélva is tudjam, hogy melyik biteket állítottam be, nem úgy mintha 0x57-et írnék oda... akkor kommentbe írhatnám oda ugyanezt... itt meg mindegy hány órajelet fogyaszt a dolog egyébként... talán ez inkább a kezdők által nem annyira értékelt dolog(a szükség meg úgyis meghozza, ha esetleg gyorsabb megoldás kell valahova, hogy az ember az ilyen finomságokat kimazsolázza, hogy hogy lehet gyorsítani ha kell), mintsem a láb-multiplexelés, amihez csak alapvető digitális technikai ismeretek kellenek és működtethető is szépen!>>
Sima SO tokban kapható még minden, maximum 20 lábú AVR. És minden maximum 40 lábú AVR DIP tokosba is van.
Ha a méret is számít és elég 13 láb, akkor ATTiny24 a nyerő, ez vékony SO tokos, míg a 2313 az már széles. Na, írok gyorsan egy kódot hogy ne maradjak adósod. Nem rejtettem el benne hibát, de nem is ellenőriztem!
Interruptból való visszatérés esetén nem kell újra "sei"? Mondjuk ez lehet a főprogramban, ami itt most nincs, de ettől függetlenül kérdezem.
Na pont ezaz, a mega procik már 20 láb fölött vannak, rendszert nem tudtam, hogy lenne benne viszont végignéztem az mscbp-nél kapható összes procit, és egy valamilyen számomra egzotikusnak tűnő CAN protkollt hardveresen támogató procin kívül nem találtam másmilyet, ami megfelelt volna annak a kritériumnak, hogy hagyományos SO tokja legyen, a többi tiny, meg túl kevés lábú, mivel az is lényeg volt, hogy minnél kevesebb egyéb áramkör kelljen hozzá!
Na a kód az enyém is hasonló, az org 0x13 értem mire van, hogy a vektortábla után kezdődjon a kód, mindenképp, na ez az enyémben nincs benne! köszi, tegnap jobban kapóra jött volna mert ahogy írtam azóta sikerült működésre bírnom, de azért kösz! A többi tccr1b ben lévő biteket én nem bántottam elvileg az én általam használt megszakítást azok nem befolyásolják, de gondolom jobb ha be vannak állítva, a végleges kódba lehet belírom...
Próbáld a Compatel-t és Elektro Kontha üzleteket! Esetleg HEStore, hogy ő se maradjon ki...
"beállított bitek a TCCR1B-ben" - ha látni hogy 0 van a << után, akkor olyan mintha ott se volna. Csak a szemléletesség kedvéért tettem be. Egy korábbi kérdésre: A WGM11, CS10, stb. makrók csak definíciók, azt jelölik hogy hányadik biten vannak, magát a regisztert nem! Így persze hogy nem okoz hibát ha mondjuk az OCR1AL-be töltöd az 1<
Ja, azt nem figyeltem miket írtál az '...A' regiszterbe
A konthában most néztem ott se láttam SO tokos megát, meg az mscbp a magyar forgalmazó eddig akármilyen avr-t vettem ott volt a legolcsóbb... meg ha valamit a forgalmazónál nem lehet kapni arra lehet nem érdemes számítani, hogy sok helyen lehet kapni, ha kellene később még belőle...
Tapasztalt ember vagy, csodálom hogy ilyet megkérdezel. Engem egy ilyen kérdésért majdnem megbuktattak mérés2-n.
De én mondok jobbat is! Az interrupt végén ha nem "reti" lenne hanem sima "ret" akkor igazad is lenne! Ilyet már csináltam kezdőkoromban amikor bajos lett volna ha az interrupt után újra lefutna valami. Tessék megnézni a "reti" jelentését! Idézet: „The I-bit is automatically set when a Return from Interrupt instruction – RETI – is executed.”
Már értelek. Mindenképp SO tokos kell. Valóban, a megák esetében a "legnagyobb" SMD is TQFP tokozású.
Marad a DIP tok, de valahogy kezdem érezni hogy az Neked nem lenne jó. Anno(kb. 2 éve) én is idegenkedtem a TQFP tokoktól, nehéz rá tervezni, maratni, forrasztani, javítani, stb. Érdekes módon, ma már minden programozóm lelkét ilyen alkatrészek adják, és nem idegenkedem a forrasztásuktól sem. Megtanultam rendesen áramkört tervezni, bár még mindig egyoldalasokkal dolgozom. Épp a napokban terveztem és marattam ki egy GSM modul + ATMega128 panelt, ez már rutin volt számomra...
Tapasztaltnak azért nem mondanám magam, sok dolog (alap),amit még nemtudok. Mint példáull ez is. Valószínűleg még a kezdőkorból maradt meg, hogy szimulátorban, illetve a processzoron is csak úgy akart működni a megszakítás, ha visszatérés előtt adtam neki egy sei-t... Azóta mindig teszek... Majd ha lesz időm, akkor ránézek erre újból. És ha igazad lesz (miért ne lenne? ), akkor minden bizonnyal felszabadul néhány mikroszekundum abban a pár programban,amit eddig írtam... : D
Sziasztok!
Atmega64-hez tervezek fejlesztőpanelt, és a kivezetésnél elakadtam. Ha jól értelmezem, programozásnál GND-re kell kötni. Mehet közvetlen a GND-re, vagy kell közé valamilyen ellenállás? Programozás után maradhat a GND-n?
Belső felhúzó ellenállással rendelkezik, és nem értelmezed jól, azt szabadon kell hagyni.
Ha indításkor a földpontra van kapcsolva, programozási módba kapcsolja az AVR-t, más szerepe nincs.
sziasztok!
Megépítettem ezt a kapcsolást:rs232 programmer Sajnos nem működik. A probléma az lehetett, hogy a bc549-et rosszul kötöttem be. Kijavítottam a tranzisztor bekötését de azóta (és előtte is ez a hibaüzenet: "Device missing or unknown device (-24) Ettől elszálhatott az atmega 8-am? Azért nem tudom már programozni, vagy valami más hiba lehet? Probe-ra "ok"-t ír. Stabil 5v-ot kap a kapcsolás. Választ előre is köszönöm!
Használsz hozzá külső 5 voltos tápot?
Szia!
Elsőre nekem sem működött a kapcsolás. A cikkben leírt módon próbáltam összeépíteni. Ahogy belegyömöszöltem az aprócska próbanyák darabot a csatlakozó házába, az egyik vezeték megszakadt. Amikor rámértem persze érintkezett, így jónak mutatkozott, viszont összerakva ismét megszakadt. A jelenlegi verziómhoz főként SMD alkatrészeket használtam, a BC549-et BCW66-tal helyettesítettem, így már működik. A fordítva bekötött tranyó miatt szerintem nem mehetett tönkre az AVR, esetleg nem reset-elt. Ha jól emlékszem első az programozás előtt a beállításoknál kalibrálni kellett az időzítést. Sima Ponyprog-gal nem bírtam működésre bírni, csak Ponyprog2000-rel.
Sziasztok!
Van egy kis gond. Most készíteném el életem 3.programozását egy ATmega8-as ic-vel.A kódot normálisan, hiba nélkül megírtam, ami volt kijavítottam, a gond valahol a Fuse-biteknél van.Amikor megnyitom a Fuse biteket kijön a szokásos duma, hogy az ISP freki az órajel negyedétől kisebb legyen.Ez az üzenet bár akkor is kijön, ha valami nem érintkezik a próbapanelen; bár ezt kizártam, mert amikor az üzenet kijön, a LED-ek amik a programozólábakra vannak kötve felvillannak.Szóval a hiba a szoftverben van.Észrevételeim, hogy az órajel (fuse) alapértelmezettként a 16Mhz-es kristályon van.Az optimalizációs órajel pedig természetesen 1Mhz-en van. Azért csináltam így mert amikor ATTiny45-öt programoztam az órajelhez hozzá se kellett nyúlnom mert az alapértelmezettként 8Mhz-en volt; és a CKDIV8 segítségével 1Mhz-re osztottam.Most is így akarom, de még CKDIV8 sincs.Az ISP freki meg kisebb a negyedénél. Kérlek segítsetek rajtam mert antalbajt fogok kapni. Köszönöm!
Akkor rakni kellene a kontrollerre egy kvarcot, mert lehet, hogy külső órajelre van állítva és így várhatod, hogy beinduljon.
Már megépítettem a Topiféle órajel generátort 4Mhz-es kvarccal, de azzal sem indul be.Vagy csak simán egy 8Mhz-es kvarcot használjak?
Csak simán kvarc és két 22pf-os kondit használj.
Hali!
A problémám azzal lenne, hogy nem sikerül logikai változót (bool-t) deklarálni. Ahogy kivettem a keresgetések során a Köszi a válaszokat! Balázs
Megpróbáltam, de mindig ugyanaz az üzenet jön ki, és CKDIV8 hiányában nem tudom leosztani 1Mhz-ere a 8Mhz-es frekit.
Összegányoltam ezt egy próbapanelon, megy is rendesen:
Bővebben: Link Aztán lenyomtattam rendesen, smd alkatrészekkel és valami olyan hülye hibát generál, hogy a hajam tépem. Ha bedugom az ethernet csatit, leáll az ENC oszcillátora. Agyonmértem az ethernet csati lábai között, szemmel nem látható zárlatot keresve, de semmi. Mindent agyonhidegítettem, a tápfeszen kerestem valami röccenést a csatlakoztatás pillanatában, de sziklakemény, a szeme sem rebben, mikor bedugom a csatit. Semmi nem melegszik, ami életjel van, ott tiszta logikai szintek, semmi összeakadára utaló jel. (Meg hát akkor hal meg a dolog, mikor az ethernet csatit csatlakoztatom. Már nincs ötletem, mit mérjek még. Illetve egy dolog gyanús: amit kaptam smd ethernet csatit, http://w3.hdsnet.hu/evoran/tmp/TRJ19201.pdf. abban 15 ohm-os ellenállások vannak. Lehet, hogy az ENC nem bírja kihajtani...? Akkor mire jó ez a csati?
Az a 15 Ohm semmit sem befolyasol, csak akkor szamitana, ha lenne kozos modusu jel a vezeteken, de a te alkalmazasodban ez biztos nem fordul elo. (PoE)
Amugy a megadott URL-en sokfele csatinak van egy kozos doksija, kene a tipusszam is.
A típus az, ami a link nevében van, a TRJ19201.
Erdekes problema. Esetleg azt meg tudod nezni, hogy nem teljes reset tortenik? Irjal valamelyik regiszterbe egy erteket (pl. a led kijelzes tipusat valtoztasd meg) es nezd meg, hogy a bedugas utan a reset utani erteket veszi-e fel vagy az marad amit te beirtal.
Szia!
Bluetoothra tudsz példát mondani, hogy milyet lenne érdemes? Zigbee szintén zenész. Üdv Kiborg
Nekem olyan kellene, amivel kommunikációt lehet megvalósítani két AVR között, anélkül, hogy foglalkoznom kellene a rádióval(ki-be kapcsolás), kódolgatni(433MHz - Manchester,stb..), hanem csak simán van egy RX és TX-em, és ha egyiken beküldöm, akkor kijön a másikon, nem téved el és nem zavarja össze vissza más ketyere.
Az ok , hogy transzparens, meg hogy soros port, de mitől mozog ? Szóval mitől fognak egymással (ÉS NEM PC-vel) kommunikálni ? |
Bejelentkezés
Hirdetés |