Saját hardware
Saját hardware
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:
Re: Saját hardware
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
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
Re: Saját hardware
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?
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
Re: Saját hardware
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.
Re: Saját hardware
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)
#define BEMENET_0 1
A másik boardhoz:
#define BEMENET_0 3
Nagyjából ennyi.
Innentől pedig digitalRead(BEMENET_0)