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
Sziasztok!
Keresek atmel procikhoz programozó kapcsolási rajzot, ami nem használja a párhuzamos port ack10-es lábát (ez nem működik) és nem használ előre programozott atmegát. Ha valaki tud, akkor segítsen légyszi! Van egyáltalán ilyen?
Köszi a segítséget!
én talákltam, igaz a program hozzá nem a legmodernedbb( konzolos ), a programozó itt
a lap közepén megtalálod, a program hozzá pedig itt megtalálható ez win - es progi
Hello!
A Bascom at_emulator.lbx-je csak adatok fogadására alkalmas , vagy lehet küldeni is a PC PS/2-es portjára adatot vele ?
Pl.: adott egy avr+nyomógom+ egyéb, mikor megnyomom
a gombot az avr elküld egy kódot a pc felé (ugyanúgy, mint ha a pc-n nyomtam volna le) utána teszi a dolgát tovább (figyeli az egyéb dolgokat)
Kezdő vagyok a mikrokontrollerekben és az érdekelne, hogy mennyibe kerül egy ilyen IC, és mennyire kell vele vigyázni? És hol találok egy komplett kapcsolási rajzot egy PIC-ről, amihez már csak a számítógép kell és a programozni kívánt áramkör? És milyen programmal kell programozni, no meg persze hogy kell? Lehet egy kicsit sok a kérdésem, de nézzétek el nekem.
Akkor most PIC vagy AVR ?, mert nem mindegy! komplett kapcsolás? Ezt nem értem, egy mikrokontrollerrel azt csinálsz amit csak akarsz, így igazábol komplett kapcsolás ezer féle van, ha valami egyszerűt keresel akkor google , de ha végképp nem találsz akkor szólj, és összedobok valamit ! Programozni AVR - t ha kezdővagy akkor a BASCOM_AVR
-t ajánloam, az egy jó kis basic compiler AVR - hez, evvel a programot is bele tudod tölteni a mikróba, programozó hardware sokféle van a legegyszerűbb egy letöltőkábel amit egy párhuzamos nyomtatókábelből meg lehet csinálni ehhez egy link
Kezdésnek még tölts le egy adatlapot valemalyik AVR - ről, mondjuk atmega8 (gogli a barátod ), az ára nem tom mennyi de nem túl drága én ATmega32 - öt vettem valami 1400 Ft - ért a mega8 valszínű olcsóbb ....de nemtudom (AVR - mikrók vannak 400 Ft - tól )...egyelőre ennyi!
Köszönöm a kimerítő választ!
Ez egy kicsit még sok is volt egyszerre.
Akkor a mikrokontroller nem egyenlő a PIC-el? De akkor mi a PIC?
Ha jól értettem ezek az IC-k: ATmega8; ATmega32, és ezek közül az egyiket kell a számítógéppel (BASCOM AVR-rel) felprogramoznom, amit azután a feladatot végrehajtó áramkörhöz kötöm. Ha egyszerre több mikrokontrolleres cuccot (pl. LED villogtató áramkör, töltő stb.) akarok működtetni, akkor több IC-t (ATmega8 vagy ATmega32-t) kell vennem, vagy a programozás után már nem kell a "cucc"-ba az IC?
+ a BASCOM AVR demo verziója ugyanolyan jó, mit a fullos?
Legjobb lenne valami könyv, mert így nehéz megérteni. Kb. hány éves technika ez? Mert egyik könyvemben sincs (igaz régebbi könyvek vannak nekem).
Háááttt......azthiszem neked tényleg az alapoktól kéne kezdeni ( nem rosszindulatból mondom ), A PIC - is egy fajta mikrokontroller, és az AVR - is egyfajta mikrokontroller, és mér ezeken kívül nagyon sok fajta van, de hobby szinten ezek a legelterjedtebbek!
Idézet: „Ha egyszerre több mikrokontrolleres cuccot (pl. LED villogtató áramkör, töltő stb.) akarok működtetni, akkor több IC-t (ATmega8 vagy ATmega32-t) kell vennem, vagy a programozás után már nem kell a "cucc"-ba az IC?”
nos...a mikrokontzroller lesz a leke az áramkörnek azt nem lehet kivenni, de egyszerre több műveletett is el lehet végeztetni ....nem sokára összedobok egy rajzot, hogy hogy is néz ki egy mikrós áramkör !!
Tehát a ledvillogtató az úgy néz ki hogy fogsz egy LED - et és egy ellenálláson keresztül rákötöd a mikrokontroller egyik lábára (az egyik portra...mer azé nem mindegy hogy melyik lábára ), a villogást pedig beleprogramozod
Abban igazad van, hogy az alapoktól kell kezdenem.
Még az előzőekhez: a komplett kapcsolás nekem NEM ez mondjuk. Mert szinte semmi sincs összekötve, a kivezetések jelölése nekem meg még kínaiak. Valami jó kis könyv kellene.
Ha valaki Linux alatt probalkozna avr- programozassal C nyelven,akkor kezdeti utmutatonak ajanlom a sajat weboldalam idevago reszet.(meg nincs teljes egesszeben befejezve!)
Pl az avrdude letolto program config filejaban be lehet allitani a programozo tipusat es a labakat is,hogy melyik milyen funkciot tolt bepony-stk200,vagy stk200 pufferelt letoltohoz nem kell elore progizott avr,es egyszeru megepiteni,a labat meg atirod a config fileban es kesz is
ATmega8 tipusu avr-re szeretnek rakni egy (32768Hz) orakvarcot.Ez szabna meg az orajelet a timer -nek.
A kerdesem :
Lehetseges az,hogy hasznalni az avr beepitett oszcillatorat es az XTAL labakon az orakvarcot egyszerre?
A kovetkezoket olvastam az adatlapban:
Ha belso RC osc. akarok hasznalni,akkor CKOPT fuse UNPROGRAMMED kell legyen
Ugyanakkor CKOPT fuse 0 (PROGRAMMED) kell legyen belso kondenzatorok bekapcsolasahoz: TOSC1,2.
Namost ha nem kapcsolom be a belso kondikat es kulso kondikat rakok,akkor mukodni fog?
Legjobb tudomásom szerint vagy kristály vagy belső oszcillátor. Ha megnézed az adatlapban a CKSEL fuse bitek másak a két esetben és ez alapból kizárja az együttes használatot.
Szerintem olcsóbb egy avr 2313-al kezdeni. Viszont ha kimondottan az intel utasítás készlet a célod akkor. Sajnos
építeni kell egy 12/5 V-os programozót. Nekem van valahol
egy leírás. Megkeresem és elküldöm.
Szia!
Látom más is bütyköl AVR-ekkel. Lenne egy kérdésem azokhoz akik a kisebb kontrollereket, konkrétan AtTiny2313-at már használták SPI kommunikációra. Egy atmega128-hoz kéne illesztenem SPI buszon a Tiny-t. Az Atmega a Master, a másik pedig a Slave. Meg is írtam a szoftvert, meg elvileg jól összekötöttem őket, mégis amikor kiolvasom a Tiny-ben az USIDR regiszterből a master által küldött adatot, csupa 0-kat tudok kiolvasni. Van esetleg valakinek ötlete hogy mi nem jó? A kódot az adatlapból másoltam ki. A két mikrokontroller lábait csak simán direktbe összekötöttem (a két MOSI, MISO, SCK lábat meg egy SS)
Szerintetek lehet az a hiba, hogy nem raktam soros ellenálást csak simán összekötöttem? Vagy ez nem lehet a hiba forrása. Egyébként az jól működik, hogy akkor cserélnek adatot amikor akarom, csak a csupa 0 az USIDR-ben nem tudom mitől van.
Az SPI buszt nem kell felhúzni 5 V - ra mint az I2C - t , szerintem de, mert alapból a busz 5 V -on van és tehát 2 db 4,7 K - 10K ellenáláással 5 V - ra kell kötni .....kicsit belebonyolódtzam
Ha valaki jobban tudja javítson ki, de szerintem így van
Én úgy értelmeztem hogy mivel a MOSI azt jelenti master out slave in. Tehát a masternek a kimenete, a slavenek meg a bemenete. És ezeket kell öszzekötni. A MISO meg master in slave out, értelem szerűen fordítva. Az ellenálásoknál nem fehúzóra gondoltam, hanem soros ellenálásra, de az lehet hogy csak áramkorlátozásnak van benne.
Mint leírták, a MOSI-t a MISO - val kell összekötni!
Az SCK és az SS lábat pedig direktbe. Az SS felhasználható, akkor is , ha több slave-et akarsz használni, de ekkor a slave-ek SS-lábát portokról kell vezérelned, és amelyiket kiválasztod csak az fogja a master órajelét figyelembe venni.
Nem ezt rosszul tudjátok. A MISO-t a MISO val kell a MOSI-t meg a MOSI val. Előrébb már leírtam hogy mit takarnak a rövidítések és miért kell úgy. De ha nem hiszitek nézzétek megy egy adatlapban. Az attiny2313-nak pedig nincsn Slave Select lába sajnos. Mert egy univerzális soros interfésze van, nem egy rendes hardveres SPI.