Kezdeti kérdések

Ide kerültek azok a témák melyek nagyon összevissza voltak. Olvasni lehet őket, de írni hozzá már nem.
Avatar
HG6IRA
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2007. január 11. csütörtök, 7:00
Tartózkodási hely: Debrecen

Kezdeti kérdések

HozzászólásSzerző: HG6IRA » 2007. január 11. csütörtök, 23:04

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.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9860
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. január 11. csütörtök, 23:55

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.

Avatar
HG6IRA
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2007. január 11. csütörtök, 7:00
Tartózkodási hely: Debrecen

HozzászólásSzerző: HG6IRA » 2007. január 13. szombat, 22:40

A proc írás-olvasási élettartamát (hátralévő) ki lehet belőle szedni? jegyzi-e valahol?

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9860
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. január 14. vasárnap, 8:36

Nem. Nem jegyzi. A 10.000 írás az a gyártó által vállalt paraméter. 10.000 írás (ha egy írás 1 perc), akkor kb. 6,9 NAP folyamatos írás!

Szóval nem kell félni attól, hogy kifárad a chip:)

A belső EEPROM memória 100.000 írást tud. (nemfelejtő adatmemóriája)

Avatar
Gogolak
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2007. január 22. hétfő, 7:00
Kapcsolat:

HozzászólásSzerző: Gogolak » 2007. február 5. hétfő, 14:12

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!!

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9860
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. február 5. hétfő, 16:46

A portok alapban a funkciónak megfelelően állnak be. IO portkjént való használata esetén MINDIG illik definiálni, hogy minek akarjuk használni.

Bascom könyv, 39. fejezet.
Kezdők problémái rész....
A többi a fejezetben benne van:). Itt csak ismétlés lenne...

Avatar
Gogolak
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2007. január 22. hétfő, 7:00
Kapcsolat:

HozzászólásSzerző: Gogolak » 2007. február 5. hétfő, 17:36

ok.
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

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

Avatar
norbi
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2006. augusztus 3. csütörtök, 6:00
Kapcsolat:

HozzászólásSzerző: norbi » 2007. február 5. hétfő, 17:39

Helló!

PortX-szel irni tudsz a portra, PinX-szel meg beolvasni adatot.

Avatar
Gogolak
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2007. január 22. hétfő, 7:00
Kapcsolat:

HozzászólásSzerző: Gogolak » 2007. február 5. hétfő, 17:45

tehat ha irni akarok akkor, akkor irjak a PORTx re , ha meg olvasni, csak egyszeruen valtozo=PINB ??

DE nekem mukszik PINB=0x07 is ...kiirja
mi a kulombseg akkor semmi?

Avatar
norbi
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2006. augusztus 3. csütörtök, 6:00
Kapcsolat:

HozzászólásSzerző: norbi » 2007. február 5. hétfő, 17:52

irtam mar jópár programot,de a pinx-szel meg nem is probaltam kiirni adatot,de ha megy...:) amugy ige,ha irsz akkor Portx, ha olvasni akarsz Pin regiszter

Avatar
Gogolak
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2007. január 22. hétfő, 7:00
Kapcsolat:

HozzászólásSzerző: Gogolak » 2007. február 5. hétfő, 17:55

ok!
köszi :D:D

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9860
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. február 5. hétfő, 18:03

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 :P , 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:)))

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9860
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. február 5. hétfő, 18:05

De haa kompatibilitást tartani akarod (régebbi és jövőbeni verziók), akkor:
Portx - kiírás
Pinx - beolvasás.

Próbáld meg 1.11.7.4 alatt. Nem megy:).

Avatar
Gogolak
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2007. január 22. hétfő, 7:00
Kapcsolat:

HozzászólásSzerző: Gogolak » 2007. február 5. hétfő, 18:18

Köszi Róbert,

ugye nem szukseges nekem rakapcsolni Pull up ellenalasokat, az be van epitve!

Kossz!

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9860
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. február 5. hétfő, 19:04

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...


Vissza: “Zárolt témák”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég