title: STM8
text: # STM8
  
  L'STM8 è un microcontroller a 8-bit prodotto da STMicroelectronics.
  
  ## Caratteristiche
  
  Gli STM8 sono microcontroller a 8-bit con architettura Harvard e pipeline a più stadi, dotati delle periferiche di base per la comunicazione seriale (I²C, SPI, UART), supporto agli interrupt annidati, convertitori A/D, timer a 8 e 16-bit. L'STM8S003F3 ad esempio dispone di tutte le suddette periferiche ed è caratterizzato da 8KB di flash, 1KB di RAM e 128 byte di EEPROM.
  
  Quasi tutti i microcontroller della linea STM8 dispongono di meno di 64KB di flash (indirizzarne di più, per quanto possibile, risulta complesso e richiede l'utilizzo di speciali istruzioni).
  
  L'STM8 ha alcune somiglianze al precedente ST7, ma è più idoneo ad essere programmato in C grazie alla possibilità di indirizzare in maniera relativa lo stack pointer. Vi è inoltre un accumulatore a 8-bit (A) e dei registri indice a 16-bit (X e Y).
  
  ## Famiglie
  
  Gli STM8 sono disponibili in numerose fasce, sia di prezzo (es. "Value Line") che di caratteristiche:
  
  * STM8S, famiglia mainstream (ossia standard, per applicazioni generiche)
  * STM8L, a basso consumo
  * STM8AF, per il mercato automotive
  * STM8AL, per il mercato automotive, a basso consumo
  * STM8T, per interfacce touch
  * STLUX, specifica per il controllo dell'illuminazione (LUX, appunto)
  * STNRG, specifica per il controllo PWM in applicazioni di potenza
  * SPLNB, specifica per il controllo degli LNB sulle parabole satellitari
  
  Le famiglie per applicazioni specifiche, come quelle per l'automotive o per il controllo di potenza, sono in genere elaborazioni della famiglia di base con l'aggiunta di periferiche specifiche (es. rivelatori di zero-crossing per la corrente alternata, macchine a stati per la gestione dell'illuminazione tramite protocollo DALI, etc...)
  
  ## Compilatori
  
  L'STM8 è supportato da una vasta serie di IDE e compilatori commerciali (IAR, Cosmic, Raisonance, STVD) disponibili solitamente in versioni a pagamento o gratuite ma con limite sulla dimensione del codice. Vi è inoltre supporto da parte del compilatore open-source SDCC.
  
  