Szeretnék egy „tömb egyetlen sorának felhasználásával” kitakarítani egy olyan kódot, amely több pinMode ()
és digitalWrite ()
sort is tartalmaz. Nagyon új vagyok mindkét tömbben, ezért kissé zavart vagyok. A következő példák a kód részei, amelyek egy 4 számjegyű, 7 szegmenses LED-et vezérelnek.
// Megjelenítési csapok definiálása // Digit pins (közös katód) int digit1 = 13; // Kijelző tű 1 számjegy2 = 12; // Kijelző tű 2 számjegy 3 = 11; // Kijelző tű 6 számjegy 4 = 10; // Kijelző 8. tű // Segins pinsint segA = 2; // Kijelző tű 14int segB = 3; // Kijelző tüske 16int segC = 4; // Kijelző tüske 13int segD = 5; // Kijelző tű 3int segE = 6; // Kijelző tű 5int segF = 7; // Kijelző tű 11int segG = 8; // Megjeleníti a 15-ös tűt, kerülje a beállítást () {pinMode (segA, OUTPUT); pinMode (segB, OUTPUT); pinMode (segC, OUTPUT); pinMode (segD, OUTPUT); pinMode (segE, OUTPUT); pinMode (segF, OUTPUT); pinMode (segG, OUTPUT); pinMode (digit1, OUTPUT); pinMode (digit2, OUTPUT); pinMode (digit3, OUTPUT); pinMode (digit4, OUTPUT);} # define SEGMENT_ON LOW # definiálja SEGMENT_OFF HIGH kapcsolót (numberToDisplay) {eset 0: digitalWrite (segA, SEGMENT_ON); digitalWrite (segB, SEGMENT_ON); digitalWrite (segC, SEGMENT_ON); digitalWrite (segD, SEGMENT_ON); digitalWrite (segE, SEGMENT_ON); digitalWrite (segF, SEGMENT_ON); digitalWrite (segG, SEGMENT_OFF); break;
Tűk meghatározása:
Biztos vagyok benne, hogy az alábbi kód a helyes módszer a csapok tömbként való tárolására (de kérem, javítson ki, ha én ' m rossz).
digitPins [] = {13 12 11 10}; segPins [] = {2 3 4 5 6 7 8};
pinMode():
Tudom, hogy a for ciklust használhatnám a pin módok beállításához, de van-e még egyszerűbb módszer? Valami ilyesmi működne?
pinMode (digitPins [], OUTPUT); pinMode (segPins [], OUTPUT);
digitalWrite ():
Hozzáférhettem a tömbből a megfelelő PIN-kódhoz, amelyet a digitalWrite ()
-ben használhatok, mint az alábbi kód, de ez ugyanannyi kódsort eredményezne (és még zavaróbb lenne). Van még egy lehetőség?
digitalWrite (segPins [1], HIGH);