Sok LED vezérlése kevés lábon

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Sok LED vezérlése kevés lábon

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

Igen. Arduinonál is van:
- Kimenet High,
- Kimenet Low,
- Nagyimpedanciás állapot (bemenet)
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Sok LED vezérlése kevés lábon

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

Lehet ez a rész nincs meg neked?
https://www.arduino.cc/en/Tutorial/DigitalPins
..vagy ilyen oldalak.
viewtopic.php?f=34&t=1610&p=30143
Bitekhez is hozzáférsz byte-on belül, úgyhogy simán megoldható az egész ahogy írtad, hogy csak byte-okat kell a portra írnod, én is így csináltam, bonyolult lett volna másképp.

Azt hiszem rájöttem mit értettél azon hogy " Talán ha az AVR-t programozom".
Ennél a feladatnál mindegy, hogy Arduino, Bascom, vagy C ben programozod az AVR-t. Az eredmény ugyanaz lesz.
Van különbség persze a nyelvek között, de ennyire alap feladatoknál teljesen mindegy mit használ az ember.
Az én teszt programom is Arduino 1.6.5 fordította, igaz nem AVR-en fut, de az eredmény szempontjából még az sem számít számít.

Szerintem.

Én is csak azért csináltam meg a tesztet mert közben legalább utánanéztem, hogy is vannak ezek a fránya irányok és felhúzó ellenállások. :)
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: Sok LED vezérlése kevés lábon

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

Vagy több bitet egyszerre állithatsz az alábbi formában:

Kód: Egész kijelölése

    PORTD |= 	0b00000101; 	//	Port D.2bit = 1 ,Port D.0bit = 1 
    PORTD &=~ 0b00000101; 	//	Port D.2bit = 0 , Port D.0bit = 0 

    DDRD  |= 	0b00000101; 	//	Port D.2bit = Kimenet, 	Port D.0bit = Kimenet
    DDRD &=~ 	0b00000101; 	//	Port D.2bit = Bemenet, Port D.0bit = Bemenet
Természetesen az egyenlőség jobb oldalán bármilyen 8 bites érték lehetséges.
Válasz küldése