Kezdeti kérdések
Kezdeti kérdések
Sziasztok!
Szeretnék megismerkedni az atmel kontrollerekkel (AVR), valamint a programozásukkal.
A fórumon nem találkoztam olyan információval, ahonnan a nyomtatott - lehetőleg magyar -, a programozással kapcsolatos irodalmi lehetőségeket sorolná fel valaki. Ha mégis van valahol, akkor bocsi.
Szóval olyan könyvre gondolok, amely magyar, a programozást segíti, le vannak benne írva a parancsok stb. (és letölthető)
A Bascom kézikönyv jó, de érvényes rá a bevezetőben leírtak. (Nem alapról indul)
Milyen a basic-kel foglakozó irodalmat tudnátok ajánlani.
A bascomból a basic-ben megírt programot meg lehet tekinteni assembly nyelvezetben is? Basic -> assembly fordító
Köszönöm a türelmet és a segítséget.
Szeretnék megismerkedni az atmel kontrollerekkel (AVR), valamint a programozásukkal.
A fórumon nem találkoztam olyan információval, ahonnan a nyomtatott - lehetőleg magyar -, a programozással kapcsolatos irodalmi lehetőségeket sorolná fel valaki. Ha mégis van valahol, akkor bocsi.
Szóval olyan könyvre gondolok, amely magyar, a programozást segíti, le vannak benne írva a parancsok stb. (és letölthető)
A Bascom kézikönyv jó, de érvényes rá a bevezetőben leírtak. (Nem alapról indul)
Milyen a basic-kel foglakozó irodalmat tudnátok ajánlani.
A bascomból a basic-ben megírt programot meg lehet tekinteni assembly nyelvezetben is? Basic -> assembly fordító
Köszönöm a türelmet és a segítséget.
Túl nagy falat.
Programozás az eléggé nagy darab. Angolból a Basic nyelvre a Liberty Basicot ajánlom. Nagyon jó a tutorialja.
De ha csak úgy, hogy programozási alapok, akkor valamilyen középiskolai informatikai könyvet tudnám ajánlani. Itt bejátszik esetleg a Pascal alapok (TurboPascal 5.5 ill. 6.0). A DOS alatti programozással kezdj. Pesze nem ASM, hanem a karakteres felület kezelése miatt.
A kontrollerekre AVRre ASM alapokból angolt tudok nagyon jót. A BASCOM asmbe fordít! A kapott HEX ill BIN állományt a AVRSTUDIO Dissasm programjával rakod vissza ASMbe.
Programozás az eléggé nagy darab. Angolból a Basic nyelvre a Liberty Basicot ajánlom. Nagyon jó a tutorialja.
De ha csak úgy, hogy programozási alapok, akkor valamilyen középiskolai informatikai könyvet tudnám ajánlani. Itt bejátszik esetleg a Pascal alapok (TurboPascal 5.5 ill. 6.0). A DOS alatti programozással kezdj. Pesze nem ASM, hanem a karakteres felület kezelése miatt.
A kontrollerekre AVRre ASM alapokból angolt tudok nagyon jót. A BASCOM asmbe fordít! A kapott HEX ill BIN állományt a AVRSTUDIO Dissasm programjával rakod vissza ASMbe.
Hello!
Az a kerdesem lenne,vagyis par alap segitseg kellene, hogy hogyan kell,hasznalni az I/O portokat.
Azt szeretnem kerdezni, hogy mindig definialnom kell a DDR be hogy I vagy O a PIn?meg ha olvasni szeretnek a PIn rol akkor eloszor kell "1" est irni a PORT ra?Mint a 8051 es nel?
Mi a kulobseg a PORT meg a PIN kozott?
mikor irodik ki a PORT a PINre!
Kernek egy kis eligazitast errol .
En Tiny2313 al probalkozom.
Ha esetleg mondanatok meg valami egyszeru, de tuti biztos Shemat AVR (ISP) programatorra LTP re es hozza olyan SW-ert ami XP alatt is megy!
Elore is Koszonet!!
Az a kerdesem lenne,vagyis par alap segitseg kellene, hogy hogyan kell,hasznalni az I/O portokat.
Azt szeretnem kerdezni, hogy mindig definialnom kell a DDR be hogy I vagy O a PIn?meg ha olvasni szeretnek a PIn rol akkor eloszor kell "1" est irni a PORT ra?Mint a 8051 es nel?
Mi a kulobseg a PORT meg a PIN kozott?
mikor irodik ki a PORT a PINre!
Kernek egy kis eligazitast errol .
En Tiny2313 al probalkozom.
Ha esetleg mondanatok meg valami egyszeru, de tuti biztos Shemat AVR (ISP) programatorra LTP re es hozza olyan SW-ert ami XP alatt is megy!
Elore is Koszonet!!
ok.
a konyved szerint nem kell elobb a PORTx re irnom "1"est ahhoz hogy beolvassam a PINxrol az adatokat??
pedig en mintha azt olvastam volna a datasheetbe...
valojaban en mikor hasznalom a PORTx et?
Ha akarok ki irni, olvasni a PINrol akkor mindig a PINx et hasznalom nem???akkor minek a PORTx???
meg egy nem idevago kerdes: miert hasznalsz te Basic-et?
jobb vele programozni??kisseb a kod?
Koszi!!
Usv
a konyved szerint nem kell elobb a PORTx re irnom "1"est ahhoz hogy beolvassam a PINxrol az adatokat??
Kód: Egész kijelölése
A láb állapotának beolvasása:
Print PINB.0 'az alsó bit beolvasása és kiküldése a sorosport fele
valojaban en mikor hasznalom a PORTx et?
Ha akarok ki irni, olvasni a PINrol akkor mindig a PINx et hasznalom nem???akkor minek a PORTx???
meg egy nem idevago kerdes: miert hasznalsz te Basic-et?
jobb vele programozni??kisseb a kod?
Koszi!!
Usv
A felépítése a portnak, ha portx.1-re 1-t írsz ki, akkor a belső felhúzóellenállást bekapcsolod. De ettől a portlábad lehet fel vagy lehúzva is a GNDre vagy a +5Vra.
A felhúzóellenállás értéke 10...30kohm körül van.
Ha a porton nem kapcsolod be a felhúzóellenállást, akkor olyan helyről kell meghajtani, ami ezt tartalmazza (pl. CMOS kapu komenet. NEM kelet Open-Collector kpu (ekkor ugye nincsen +5Vra húzó ág, csak a GNDre kapcsolgatod. azaz sosem tudsz magasszintet ráadni. Ezért nem szabad pl. sima "Jumper a GND fele" megoldást . Ekkor nincs felhúzóellenállás, így a jumper nyitott állapotában a bemeneti láb "lebeg". Azaz a nyákon/lábon levő kapacitások határozzák meg az állapotát. Bizonytalan...
PortX a felhúzóellenállás.
Ha a láb kimenet, akkor 1 v. 0 logikai szintet adja. DE:
pl. leterhelődött a lábad GND-re (forrasztási hiba). Ekkor ugye hiába írsz ki 1-t a lábra, a 20-30 mA rövidrezárási áram folydogál, és melegíti a chipet. Viszont a Pin utasítással tudod ellenőrzni, hogy a láb _tényleg_ beállt-e a megfelelő logikai szintre.
Basic:
Mit használjak?:)
ASM: bonyolult, pl. egy sima sorosport kezelés 6-15 utasítás. Egy LCD több 100. És nagyon sokminden nem megoldható (átláthatatlan a kód).
C: logikátlan és a függvénykönyvtárakat össze kell szedni, feltételezi a chip _belsejének_ ismeretét regiszter szinten.
Pascal: Régen tudtam, de feltételezi a chip _belsejének_ ismeretét regiszter szinten.
Basic: Ezt tanultam (Spectrum: belső BASIC , DOS: QBASIC, Win: LibertyBasic). A kódfejlesztés _nagyon_ gyors.
A C és a Basic között a kódméret ~5-15% eltéréssel megy a Basic hátrányára. ASM kb. 1/4 kódméret.
Ráfordítási idő:
Feladat:pl. LCDre kiiratni a sorosporton bejövő adatot, formázva, és az utolsó 5 értéket átlagolva...)
Basic: <1óra
C: 1-3 nap, és nem is biztosan tudom megoldani:)
ASM: több hét is lehet
ha netán kilépejk a chip memóriából, akkor az egyel nagyobb IC max. 2 eFtvel tobb (T2313->M128). Ezt a fejlesztési időben _soha_ nem tudom visszahozni, hacsaknem 10e darabos szériát kell elkövetni.
Ott a költségkülönbözet: 10e db*1e árkülönbség: 10M Ft. Ez egy mérnök 0,1-5 évi bére (NyugatEU - szegény államok). Itthon legyen 1 év (munkáltatói terhek).
viszont 1 év alatt a konkurancia beelőz. És a termék ilyen mennyiségben min 100-400 M felett hoz. Így a 10M fejlesztési különbözet elveszik....
Na jól álmodoztam:)))
A felhúzóellenállás értéke 10...30kohm körül van.
Ha a porton nem kapcsolod be a felhúzóellenállást, akkor olyan helyről kell meghajtani, ami ezt tartalmazza (pl. CMOS kapu komenet. NEM kelet Open-Collector kpu (ekkor ugye nincsen +5Vra húzó ág, csak a GNDre kapcsolgatod. azaz sosem tudsz magasszintet ráadni. Ezért nem szabad pl. sima "Jumper a GND fele" megoldást . Ekkor nincs felhúzóellenállás, így a jumper nyitott állapotában a bemeneti láb "lebeg". Azaz a nyákon/lábon levő kapacitások határozzák meg az állapotát. Bizonytalan...
PortX a felhúzóellenállás.
Ha a láb kimenet, akkor 1 v. 0 logikai szintet adja. DE:
pl. leterhelődött a lábad GND-re (forrasztási hiba). Ekkor ugye hiába írsz ki 1-t a lábra, a 20-30 mA rövidrezárási áram folydogál, és melegíti a chipet. Viszont a Pin utasítással tudod ellenőrzni, hogy a láb _tényleg_ beállt-e a megfelelő logikai szintre.
Basic:
Mit használjak?:)
ASM: bonyolult, pl. egy sima sorosport kezelés 6-15 utasítás. Egy LCD több 100. És nagyon sokminden nem megoldható (átláthatatlan a kód).
C: logikátlan és a függvénykönyvtárakat össze kell szedni, feltételezi a chip _belsejének_ ismeretét regiszter szinten.
Pascal: Régen tudtam, de feltételezi a chip _belsejének_ ismeretét regiszter szinten.
Basic: Ezt tanultam (Spectrum: belső BASIC , DOS: QBASIC, Win: LibertyBasic). A kódfejlesztés _nagyon_ gyors.
A C és a Basic között a kódméret ~5-15% eltéréssel megy a Basic hátrányára. ASM kb. 1/4 kódméret.
Ráfordítási idő:
Feladat:pl. LCDre kiiratni a sorosporton bejövő adatot, formázva, és az utolsó 5 értéket átlagolva...)
Basic: <1óra
C: 1-3 nap, és nem is biztosan tudom megoldani:)
ASM: több hét is lehet
ha netán kilépejk a chip memóriából, akkor az egyel nagyobb IC max. 2 eFtvel tobb (T2313->M128). Ezt a fejlesztési időben _soha_ nem tudom visszahozni, hacsaknem 10e darabos szériát kell elkövetni.
Ott a költségkülönbözet: 10e db*1e árkülönbség: 10M Ft. Ez egy mérnök 0,1-5 évi bére (NyugatEU - szegény államok). Itthon legyen 1 év (munkáltatói terhek).
viszont 1 év alatt a konkurancia beelőz. És a termék ilyen mennyiségben min 100-400 M felett hoz. Így a 10M fejlesztési különbözet elveszik....
Na jól álmodoztam:)))
Alkalmazástól függ. Én a nyákon - ha bizonytalan hogy kell-e - a helyét kialakítom. Max nem kell később beültetni.
De ha pl. Logikai (H/L kapura van kötve, akkor ott nem kell. De ha pl. kapcsoló, melyet pl. kondival prellmentesítesz, akkor ajánlott. A belső felhúzóellenállás a bizonytalan (prell-) időt növeli.
És nem tudható, hogy mekkora a _pontos_ értéke.
Az a biztos, ha Te építed be...
De ha pl. Logikai (H/L kapura van kötve, akkor ott nem kell. De ha pl. kapcsoló, melyet pl. kondival prellmentesítesz, akkor ajánlott. A belső felhúzóellenállás a bizonytalan (prell-) időt növeli.
És nem tudható, hogy mekkora a _pontos_ értéke.
Az a biztos, ha Te építed be...