Saját hardware

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
Avatar
tursaba
Újonc
Újonc
Hozzászólások: 13
Csatlakozott: 2010. április 3. szombat, 6:00

Saját hardware

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

Sziasztok! Leendő kezdőként kérdésem. Hogyan lehet megcsinálni C programban, hogy saját hardware-en, az Arduino modulok pin-jei helyett, pl. a uP lábait adjam meg Atmega 16, 128 esetén? Tehát, a program íráskor nem választok ki valamilyen Arduino hardware modult. Köszönettel:
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

Re: Saját hardware

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

Portok és pinek vannak, amiket megtudhatsz az eszköz adatlapjából.
Ha AVR-GCC-t használsz, akkor ott van sok regiszter definíció, ami segíti a munkádat.

Például:

DDRA az a Data Direction Register Port A
DDRA |= 1 << PA0; // PA0 konfigurálása kimenetként
DDRA &= ~(1 << PA0); // PA0 konfigurálása bemenetként

PORTA pedig a kimenetet kapcsoló regiszter
PORTA |= 1 << PA0; // PA0 magas szintre kapcsolása, ha kimenet. PA0 pullup bekapcsolása, ha bemenet.
PORTA &= ~(1 << PA0); // PA0 alacsony szintre kapcsolása, ha kimenet. PA0 pullup kikapcsolása, ha kimenet.

Erre keress rá: avr libc port manipulation
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Saját hardware

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

Mi a cél? Másik processzor használata?

Arduino alatt pont az a lényeg, hogy el tudd rejteni.
Amint chipet váltasz a portok elvándorolnak. Ez bascom-avr illetve natív C alatt a chiphez kötött fejlesztés miatt van így. Arduino alatt "bazárod" magadat.


Saját HW esetén a chip ha azonos (plusz órajel), ugyanúgy Arduinoban kezelheted...

De mi a cél, hogy ezt szeretnéd?
http://www.tavir.hu - a gazda :)
Avatar
aaszabo
Tranzisztorgyógyász
Hozzászólások: 179
Csatlakozott: 2012. január 22. vasárnap, 7:00

Re: Saját hardware

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

Pont ez a lényeg. Lehet fordításhoz define blokkokkal vezérelni, hogy melyik HW esetén melyik lábat használja. Ahány HW-hez megírod a define blokban a PIN értékadásokat, annyi HW verzióra tudod ugyan azt a kódot futtatni, ha a program futása szempontjából nincs más különbség, mint a lábak számozása.
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

Re: Saját hardware

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

Ehhez nem kell kikerülni az Arduino-t.
#define BEMENET_0 1
A másik boardhoz:
#define BEMENET_0 3
Nagyjából ennyi.
Innentől pedig digitalRead(BEMENET_0)
Válasz küldése