Zapewne i tym razem chodzi o MBED, więc trochę trzeba będzie zgadywać, bo nie używam tego tworu.
Tutaj masz tablicę ośmiu obiektów klasy DigitalOut:
Kod: Zaznacz cały
DigitalOut led[8] {PC_3, PC_2, PF_1, PF_0, PC_15, PC_14, PC_13, PB_7};
Nie widziałem prototypu tej klasy, ale przypuszczam, że do tablicy zostaną wstawione obiekty odpowiadające pinom określonym w liście inicjalizacyjnej, a zatem:
led[0] - PC3,
led[1] - PC2,
led[2] - PF1,
led[3] - PF0,
led[4] - PC15,
led[5] - PC14,
led[6] - PC13,
led[7] - PB7
Zasadniczo można wyzerować piny używając takiego zapisu:
Można stosować pętlę for oraz wewnątrz warunek if, który sprawdzi kolejne bity zmiennej i odpowiednio ustawi poszczególne obiekty led. Oto przykład:
Kod: Zaznacz cały
DigitalOut led[8] {PC_3, PC_2, PF_1, PF_0, PC_15, PC_14, PC_13, PB_7}; /* tablica obiektow typu DigitalOut */
uint8_t x = 0xAA; /* jakas przypadkowa wartosc */
for (uint8_t i = 0; i < 8; ++i)
{
if( x & (1 << i) != 0 )/* test poszczegolnych bitow w zmiennej x */
{
led[i] = 1;
}
else
{
led[i] = 0;
}
}
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.