AVR kezdőnek

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Válasz küldése
Avatar
katonafull
Biztosítékgyilkos
Hozzászólások: 59
Csatlakozott: 2012. február 1. szerda, 7:00

Re: AVR kezdőnek

Hozzászólás Szerző: katonafull »

Úgy csináltam.
Direkt figyeltem is ezekre.
És mivel nem volt jó így se, azért raktam fel egy régebbi IDE-t. Mert korábban volt már olyan, hogy ez oldotta meg. De most nem.
Egyébként csak .h kiterjesztésű fájl van a csomagban, .cpp az nincs.
De végül is mindegy, már megoldódott.
bagizoltan
Bitmanipulátor
Hozzászólások: 128
Csatlakozott: 2015. december 8. kedd, 19:52

Re: AVR kezdőnek

Hozzászólás Szerző: bagizoltan »

Tanácsot szeretnék kérni Tőletek!

Kezdő vagyok, megírtam első működő programomat egy Arduino Uno R3-ra, az Arduino C programmal. Minden működik villognak a ledek, siker!
A programot szeretném egy csupasz chip-be betölteni, és abban futtatni.
Kérdéseim:

1. Milyen chip-et vegyek (ATMEGA8, 168, 328 ?). A program igen kicsike, 3kb alatti. 6 PWM kimenetre és 6 bemenetre van szükésgem a vezérléshez LED-es lakásvilágitás vezérlést készítettem).
2. Milyen programozóra van szükségem, mit szerezzek be.
3. A program feltöltéséről találok valahol leírást, vagy videót, ami alapján megtanulhatom a folyamatot? Sajnos angolul nem tudok, bár a google fordító óta kitárult a világ :-)

Előre is köszönöm az utbaigazítást, és elnézést ha rossz helyen tettem fel a kérdést! Próbáltam keresni a fórum témák között, de nem találtam választ!

Bagi Zoltán
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: AVR kezdőnek

Hozzászólás Szerző: Robert »

6 PWM: Mega168 / 328
A mega8 csak 3 PWM-t tud.


Programozó:
Ott van nálad: ArduinoISP a mintaprogramok közt.
Hosszútávra - ha Arduinoban gondolkozol: STK500. (énnálam ez bevált...)

Menetrend: http://avr.tavir.hu oldalon a tippek/trükkök/cikkek közt.
Avatar
katonafull
Biztosítékgyilkos
Hozzászólások: 59
Csatlakozott: 2012. február 1. szerda, 7:00

Re: AVR kezdőnek

Hozzászólás Szerző: katonafull »

Hello!

Ha arduino változatban akarod megtartani a progit, szerintem érdemes az arduinodban lévő chipből beszerezned és arra feltölteni a világítás vezérlő progit, amit megírtál.
Én legalább is így kezdtem anno. :D
Még az arduino isp-t sem muszáj használnod.
Egyszerűen kiszeded az arduino alaplapodon a foglalatból a chipet, beteszed a másikat, feltöltöd rá a progit, kiszeded, csinálaz egy arduino minimal panelt
http://shrimping.it/blog/shrimp/
kiegészítve a szükséges áramkörrel, amiben használni akarod, és kész is.
Persze ez csak akkor megy ilyen simán, ha eleve arduino bootloaderrel feltöltött chipet veszel (e-bay-en vannak). Mert ha nem, hanem tényleg egy szűz chipet akarsz haszálni, akkor marad a kevésbé kontár módszer, amit előttem írtak.

Persze elegánsabb az Arduino ISP-vel felprogramozni, meg megválasztani a legmegfelelőbb chipet, csak nem biztos, hogy ez neked fontos. Én is csak most kezdek megpróbálni kijutni az arduino világából és nemrég ezek nekem még nem voltak fontosak...
bagizoltan
Bitmanipulátor
Hozzászólások: 128
Csatlakozott: 2015. december 8. kedd, 19:52

Re: AVR kezdőnek

Hozzászólás Szerző: bagizoltan »

Köszönöm a kezdő lökést!
Megnéztem a schrimping oldalt, de nem pontosan értem az ott látottakat.
Inkább az STK500 programozó látszik jó megoldásnak, mert az Arduino alaplapomban nem cserélhető a chip!

Próbáltam olvasgatni a Tavir honlapon is, de néhány egyszerű kérdésre nem kaptam választ. Ha szabadna még feltenném ezeket.
1. Nekem Arduino Uno R3 van, ezen fejlesztettem a programot. Kell valamit változtatnom a programon, ha az STK500-al akarom egy chip-be beégetni?
2. Az STK500 azt hiszem mint programozó szerepel az Arduino programban, így azzal vélhetőleg nem lesz gondolom. Kell itt valamire készülnöm, vagy figyelnem. Tudok az STK500-al akkor is programot égetni egy Arduino nano vagy mini-be, ha nincs bennük bootloader?
3. Jól értem, hogy a programozó néhány kivezetését kell csak összekötnöm a chip megfelelő kivezetéseivel, és már mehet is a programozás?

Azt szeretném még megtudni, hogy mi az a minimum alkatrész,ami egy Mega168-hoz kell ahhoz, hogy működjön. Nyilván a kivezetéseket követő áramkörökön kívül, amik a világítást vezérlik? Hol találok leírást, ami egy kezdőnek is átlátható? Rengeteg az infó és nem igazodok el. Pl a shrimping oldalon láttam erre utaló képet. Azonban itt szerepelt egy CP2102 típusú UART, ami megzavart, nem tudom pontosan mire is való!

Előre is köszönöm a segítséget!

Bagi Zoltán
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: AVR kezdőnek

Hozzászólás Szerző: Robert »

Nekem Arduino Uno R3 van, ezen fejlesztettem a programot. Kell valamit változtatnom a programon, ha az STK500-al akarom egy chip-be beégetni?
Nem. Csak a programozási metódus változik.
A kódban semmi változtatás nem kell.
Az STK500 azt hiszem mint programozó szerepel az Arduino programban, így azzal vélhetőleg nem lesz gondolom. Kell itt valamire készülnöm, vagy figyelnem. Tudok az STK500-al akkor is programot égetni egy Arduino nano vagy mini-be, ha nincs bennük bootloader?
Ez a lényege. Teljesen szűz chip is programozható.
Az eszköz fontos, hogy _valódi_ STK500 legyen ne mindenféle klón (pl. emulált USB-s vackok: usbasp, avrisp, avrdoper)
Jól értem, hogy a programozó néhány kivezetését kell csak összekötnöm a chip megfelelő kivezetéseivel, és már mehet is a programozás?
Igen: tápok, MOSI,MISO,SCK,Reset.

Mega168minimum: tápfesz szűrő kondi. Belső órajelről járatva :)
bagizoltan
Bitmanipulátor
Hozzászólások: 128
Csatlakozott: 2015. december 8. kedd, 19:52

Re: AVR kezdőnek

Hozzászólás Szerző: bagizoltan »

Köszönöm!
Most akkor tanulgatok egy kicsit!
bagizoltan
Bitmanipulátor
Hozzászólások: 128
Csatlakozott: 2015. december 8. kedd, 19:52

Re: AVR kezdőnek

Hozzászólás Szerző: bagizoltan »

Köszönöm az eddigi válaszokat! Sokat olvasgattam, és kicsit összezavarodtam!

Úgy látom, ha veszek egy Mega168-at, azon van bootloader. Kell ez nekem ha van STK500-as programozóm, vagy az R3-at használom programozónak? Mondjuk az utóbbi programozó egyenlőre elegendőnek tűnik!
Sajnos nem teljesen értem, hogy miképpen lesz az R3-ból programozó. Kell rá töltenem valamilyen programot, vagy ilyenkor csak az USB interface-t használja a programozáshoz a rendszer, és ezért kell a chip-ben a bootloader?
Olvastam arról, hogy a belső órajel használatához a chip-et be kell állítani. Ezt hol kell megtenni?

Szóval az a legnagyobb problémám, hogy a folyamatot nem értem teljesen. Sokat olvasgattam, a 60 napos tanfolyamot is végigolvastam, de apró, gyakorlati részletek hiányoznak. Lehet, hogy a válaszok a szemem előtt vannak, de mégsem értem! Tudna valaki segíteni néhány gyakorlati tanáccsal? Tulajdonképpen az a problémám, hogy miképpen kell belevarázsolni a programot egy chip-be, amit aztán használhatok egy áramkörben? Viszont lépésről lépésre kellene megértenem mit kell tenni. Ha valahol volt már erről szó a fórumokon, szívesen olvasgatok, de kereséssel nem találtam erről anyagot.

Köszönettel

Bagi Zoltán
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: AVR kezdőnek

Hozzászólás Szerző: kapu48 »

Két külön IDE a Bascom és Arduino!

Mivel a Bascom topikba irtál ezért itt a Bascomos témaát kellene meg ismerned!
Ehez csak továbi olvasnivalót tudok ajánlani: http://avr.tavir.hu/modules.php?name=Co ... ies&cid=15
Avatar
katonafull
Biztosítékgyilkos
Hozzászólások: 59
Csatlakozott: 2012. február 1. szerda, 7:00

Re: AVR kezdőnek

Hozzászólás Szerző: katonafull »

bagizoltan írta:...Megnéztem a schrimping oldalt, de nem pontosan értem az ott látottakat.
A shrimping oldalon tulajdonképpen egy nagyon leegyszerűsített arduinot látsz. Az a CP2102 azért kell, hogy USB-n rá tudd dugni a gépre a chipet, amire feltöltenéd a progit.
De neked arra valójában nincs szükséged. Az UART-ot és a hozzá tartozó alkatrészeket egyszerűen csak kihagyod.
Keress rá neten az arduino minimal kifejezésre. Keress képeket, ahol nagyon egyszerű kapcsrajzot találsz
http://www.sjbaker.org/wiki/index.php?t ... cuit_notes
hasonlóakat:
Kép
meg keress videót is, ahol látni fogod, hogy tényleg működik.

Az a fő kérdés, hogy direkt bascomAVR programozási módon akarod megoldani, vagyis először el kell sajátítani az alapokat, amit én is most kezdtem, vagy csak egyszerűen azt akarod, hogy működjön a legegyszerűbb módon és kész?
Az UNo-val is tudsz programozni. van az arduino IDE mintapéldái közt valami olyan, hogy arduino ISP.
Ha ezt feltöltöd az arduino alaplapodra, akkor programozóként tudod használni
https://www.arduino.cc/en/Tutorial/ArduinoISP

De ha mindenképpen az stk500-al akarod felprogramozni, akkor azzal is meg tudod tenni, hogy az arduinoban megírt progit töltöd fel, de ahhoz még biztos, hogy tanulni kell egy-két dolgot. Akkor már beállíthatod, hogy külső, vagy belső órajelet akarsz. Azt is, hogy azon belül mifélét, meg miegymást... Mondom én is itt tartok. Fél lábbal az arduinon, egy kislábujjkörömhegynyivel meg az AVR Bascomon. :D
Én a helyedben arduino ISP-vel tölteném fel, mert az most még egyszerűbb, aztán a sikerélmény után el lehet kezdeni tanulni az AVR Bascomot.
De akkor lehet át kéne menni az arduinos topicba, mielőtt kikergetnek innen minket :D

A bootloader az nem csak úgy raja van a 168-on. Azt is feltöltötték rá korábban. Ha üres chiped van Te is fel tudod tölteni. Ha rduinoként akarod használni a chipet akkor meg fel is kell töltened.
Tulajdonképpen a bootloader program végzi el helyetted azokat a beállításokat, amiket ha avr bascom módon programoznál neked kellene, és amikről most még valószínűleg fogalmad sincs, ahogy nekem se volt. :D

Egy kérdés a bascomosokhoz:
Ha arduino ISP-vel töltök fel az arduino IDE segítségével egy progit egy arduino bootloaderes chipbe, akkor az automatikusan külső órajelet állít be? Van egy olyan sejtésem, hogy külsőt...
De ha nem, hanem belsőt, akkor tulajdonképpen alig kell hozzá bármiféle alkatrész.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: AVR kezdőnek

Hozzászólás Szerző: kapu48 »

A gyárból (boltból)szűz AVR-eket kapsz!
Gyárilag belső 8Mhz-re beállítva.
Erre töltik fel ISP-n vagy JTAG-on keresztül valamilyen programozóval az Arduino bootlóadert.
És egyúttal beállítják a FUSE-bit-eket, a külső hardveres alkalmazáshoz.
Mivel az Arduino egységesen külső 16Mhz órajelet használ, ezért erre.

A bootloader csak betölti a programodat a flashba, soros USB portón keresztül.
Nem módosítja a Fuse biteket, mivel feltételezik, hogy nem veszed ki az AVRt a HW környezetből.

Bascom ISP programfeltöltés, úgy kezdődik, hogy törli a Flasht! Tehát letörli az esetleg már benne levő bootloadert is!
Itt lehetséges FUSEbitek beállítása is, az arduinó ezt nem támogatja.


És jó lenne, ha nem kevernénk az Arduinot a Bascommal!
Ezek 2 külön programozási módszerek! Csak az AVR-ek alkalmazása a közös bennük.
bagizoltan
Bitmanipulátor
Hozzászólások: 128
Csatlakozott: 2015. december 8. kedd, 19:52

Re: AVR kezdőnek

Hozzászólás Szerző: bagizoltan »

Sziasztok!
Köszi a válaszokat, tisztul a kép! Szabad itt ezzel kapcsolatban további kérdéseket feltennem, vagy más fórumra menjek át?! Programozásra nem a Bascom-ot használom, és a C-vel kezdtem foglalkozni, ezért az Arduino programot használom.
Bagi
Avatar
katonafull
Biztosítékgyilkos
Hozzászólások: 59
Csatlakozott: 2012. február 1. szerda, 7:00

Re: AVR kezdőnek

Hozzászólás Szerző: katonafull »

Szerintem ez a megfelelő topic:
viewtopic.php?f=23&t=1678
Itt kezd már lincshangulat kialakulni. :D
Avatar
gerry
Chipgyilok
Hozzászólások: 252
Csatlakozott: 2005. október 11. kedd, 6:00

Re: AVR kezdőnek

Hozzászólás Szerző: gerry »

Üdv! Atmega162-t szeretném internal 8Mhz-ről járatni.
Milyen fusebit beállítást kell alkalmazni?
Köszönöm!
bagizoltan
Bitmanipulátor
Hozzászólások: 128
Csatlakozott: 2015. december 8. kedd, 19:52

Kimenetek kezelése BASCOM-ban

Hozzászólás Szerző: bagizoltan »

Sziasztok!

Most kezdtem el ismerkedni a BASCOM programozással. A leírásokat böngészem még csak, de van valami, amit nem tudok megfejteni a leírásokból. A BASCOM-ban a kivezetések irányának beállítására használhatom a következő programsort: CONFIG PORTB.5=INPUT. Ez a port a leírás szerint egyébként a chip MOSI kivezetése. Így könnyen be tudtam azonosítani, hiszen a chip lábainak feliratainál ezt találom (katalógus): PB3 (MOSI/OC2A/PCINT3). Sehogyan sem látom azonban a logikai összefüggést, hogy miképpen is kellene a katalógusban szereplő kivezetés feliratokat beazonosítanom az avrhelp oldalon található BASCOM leírásban található PORTB és PORTB táblázatok egyes bitjeinek leírásával. A leírásban eleve csak ezt a két regisztert találtam meg, ami ugyebár 16 kivezetés a chip-en, viszont már egy ATmega328-on is ennél több programozható kivezetés van.
Szóval ha egészen egyszerűen akarom megfogalmazni a kérdést: hogyan hivatkozzak a BASCOM programban arra a kivezetésre, ami a chip-en pl. a 13-as láb, és mi van akkor ha egy chip-nek sokkal több kivezetése van? Hogy nézzen ki a programsor?

Köszönettel

Bagi
Válasz küldése