Fondamenti · Lezione 9 di 11 · circa 15 min
PWM, macchine a stati e altro
Cinque idee che ogni sviluppatore firmware usa
PWM: regolare con commutazioni rapide
Un pin è o tutto acceso o tutto spento. Commutandolo molto in fretta, e scegliendo per quale quota di tempo resta acceso (il duty cycle), un LED o un motore sentono la media. La commutazione la fa un timer, non la CPU.
Macchine a stati: come si progetta la logica di un dispositivo
Il dispositivo è sempre in un solo stato, e gli eventi lo portano in un altro stato. Prima disegna il diagramma, poi scrivi il codice.
typedef enum { IDLE, HEATING, ERROR } State;
switch (state) {
case IDLE: if (temp < target) { heater_on(); state = HEATING; } break;
case HEATING: if (temp >= target) { heater_off(); state = IDLE; } break;
case ERROR: if (button_pressed) { state = IDLE; } break;
}
Provalo: in Nuovo progetto, il Progettista di macchine a stati disegna la tua macchina, la controlla e scrive il codice C con un test unitario per ogni transizione. Il termostato qui sopra è uno dei suoi esempi.
DMA, watchdog e basso consumo
- Il DMA sposta dati (campioni ADC, byte UART, pixel dello schermo) in background mentre la CPU fa altro, poi genera un interrupt quando ha finito.
- Un watchdog è un timer che riavvia il chip se il codice smette di alimentarlo. Un dispositivo bloccato si riprende da solo.
- Basso consumo: l’MCU dorme quasi sempre e si sveglia solo con un interrupt. È così che una batteria dura anni.
Domande da colloquio
- Come controlla il PWM la velocità di un motore?
- Perché progettare il firmware come una macchina a stati?
- Come si alimenta in sicurezza un watchdog quando girano più task?
Qui non ci sono le risposte, apposta: prova prima a rispondere ad alta voce. Nell’app BoardPilot l’allenatore per i colloqui legge la tua risposta e ti dice cosa era giusto, cosa manca e cosa chiederebbe dopo un intervistatore senior (usa il fornitore di IA che scegli nell’app). Domande da colloquio sui sistemi embedded →
Parole chiave
PWM (modulazione a larghezza di impulso) Duty cycle DMA (accesso diretto alla memoria) Watchdog Basso consumo e deep sleep Macchina a stati
Nell’app le lezioni prendono vita
Nell’app le lezioni hanno demo interattive ed esercitazioni pratiche verificate sulla tua scheda. Queste pagine sono la versione da leggere: le demo sono descritte a parole e le esercitazioni richiedono l’app.