2022-01-31 09:00 PM
2022-02-01 01:07 AM
El idioma del foro es inglés, poca gente te va a poder ayudar si haces preguntas en español.
No estoy familiarizado con los metodos de mbed, probablemente es una capa de abstraccion añadida encima de HAL (como arduino), ahora ya no la tienes , estas mirando cara a cara directamente a la capa HAL.
Si yo fuese tu haría algo asi
while(1) {
for(uint8_t asc=0;asc<8;asc++){
enciendeapagaLEDS(asc);
HAL_delay(1000);
}
for(uint8_t asc=8;asc>0;asc--){
enciendeapagaLEDS(asc);
HAL_delay(1000);
}
}
void enciendeapagaLEDS(uint8_t contador){
if(contador&0x1==0x1){//esá el bit 1 ==high?
hal_write(...)//enciende el led 1
}else{
hal_write(...)//apaga el led 1
}
if(contador&0x2==0x2){//esá el bit 2 ==high?
hal_write(...)//enciende el led 2
}else{
hal_write(...)//apaga el led 2
}
if(contador&0x4==0x4){//esá el bit 3 ==high?
hal_write(...)//enciende el led 3
}else{
hal_write(...)//apaga el led 3
}
}
esto se puede hacer de mil maneras y complicar todo lo que quieras, supongo que estas aprendiendo asi que mucha suerte!