Caratteristica | IDE Arduino | costycnc.it/avr1 |
---|---|---|
Installazione | Si (IDE + driver) | No, funziona direttamente dal browser | Configurazione | Scegli scheda, porta, chip | Niente da configurare: plug and go |
Primo codice LED | setup(), loop(), digitalWrite() |
sbi 0x4,5 -> il LED si accende (PB5) |
Librerie | Tante, ma spesso nascondono tutto | Nessuna: vedi i registri reali |
Progetti complessi | Ideale, con molte librerie | Limitato all'apprendimento base |
Curva di apprendimento | Piu "soft", ma meno trasparente | Piu diretta: impari come funziona davvero |
Benvenuto su costycnc.it/avr1, una piattaforma pensata per farti capire che e possibile programmare i microcontrollori anche senza librerie, senza IDE - niente magia.
Con un click sul pulsante "Assemble", il sito trasforma automaticamente il tuo codice Assembly in un file HEX, pronto per essere caricato su un microcontrollore. Non servono compilatori installati. Tutto avviene direttamente nel browser!
Usa un semplice cavo USB per collegare la tua scheda (es. Arduino UNO) al computer.Clicca su uno dei pulsanti che rappresentano il microcontroller che stai usando(uno,nano,ecc). Si aprira una finestra (Web Serial API) dove potrai selezionare la porta USB a cui e collegato il tuo Arduino.Basta cliccare su "Connetti" ... ed e fatta!
Subito dopo il caricamento, il LED integrato sul pin 13 (PB5) si accendera. Questo e il risultato del tuo codice puro in Assembly, senza nessuna libreria, IDE o software esterno. VIDEO
Clicca immagine sotto per video (click image bellow for video)
Causa: Stack corruption nel sistema MCAS
; Codice difettoso (simulato): ISR_MCAS: push r16 push r17 call leggi_sensore ; Stack cresce ; ... nessun pop prima di un'altra call! call controlla_flap ; Stack overflow → crash ; Manca ret!
Come il tuo trio lo avrebbe evitato: Avresti visto subito lo sbilanciamento push/pop.
Causa: Call ricorsive senza controllo stack
controlla_acceleratore: call leggi_pedale call verifica_errore ; Troppe call annidate call aggiorna_log ; Stack esaurito → dati corrotti ret ; Ritorno a indirizzo sbagliato
Lezione: Senza contare call/ret, il firmware diventa un'arma.
Usa costycnc.it/avr1 ora o smetti di scrivere firmware.