Màquines d’estats

Una màquina d’estats (FSM, de Finite State Machine en anglès) és un model de màquina que reacciona a certes entrades i calcula el valor per les sortides, segons l’estat en que estigui. També es pot veure com un seguit d’estats possibles (finit!) en el que pot estar la màquina (el nostre programa) i que va […]

Read More Màquines d’estats

Empaquetant estructures

L’ús d’estructures (struct en C) per emmagatzemar dades que estan relacionades és força habitual. Per fer-ho, només cal definir una estructura i cada camp es defineix amb el tipus desitjat. Tota l’estructura funciona com un paquet de dades, que es pot moure, copiar i accedir com un tot.

Read More Empaquetant estructures

C vs C++ en sistemes encastats

En aquest blog s’ha treballat exclusivament en llenguatge C (versió C99) i no s’ha parlat res de C++. Anem a fer-ho ara en aquest capítol. La discussió sobre usar o no C++ en sistemes encastats deu ser tant antiga com l’aparició d’aquest llenguatge orientat a objectes. Si bé als seus inicis el llenguatge presentava força […]

Read More C vs C++ en sistemes encastats

Usant el watchdog en un RTOS

Quan es treballa en un entorn amb un RTOS, cal estudiar bé com fer servir el watchdog. La primera pensada pot ser d’afegir les crides per alimentar el watchdog a cada una de les tasques com si fossin mini-aplicacions individuals. Aquesta aproximació, però, faria que el sistema mai es reiniciï encara que una tasca deixi […]

Read More Usant el watchdog en un RTOS

Un timer de baix consum

Un mode que es fa servir sovint en sistemes de baix consum és el de tenir un timer configurat per que desperti el sistema cada cert temps. Així per exemple, en un sistema que ha de llegir un sensor cada 30 segons, el timer seria l’únic perifèric en funcionament actiu i estaria configurat per generar […]

Read More Un timer de baix consum

Fent servir un DAC

Un DAC és un dispositiu que es pot veure com l’invers d’un ADC, ja que a partir d’unes dades digitals genera un senyal analògic equivalent. Els paràmetres de funcionament d’un DAC son, doncs, molt similars als del seu perifèric germà l’ADC. Al datasheet de la família amb la que treballem (EFM32GRM, pàg. 421) hi ha […]

Read More Fent servir un DAC

Detectant errors greus a ARM

  Sovint treballant amb sistemes encastats ens trobem amb errors d’origen desconegut que es poden provocar per múltiples causes. Així, per exemple, una divisió per zero, accés incorrecte a una zona de memòria o accés a la memòria fora de rang. Aquests casos poden ser molt difícils de trobar si son casos esporàdics, però l’arquitectura ARM […]

Read More Detectant errors greus a ARM

Una aplicació completa

Ja va sent hora de fer una aplicació completa (senzlla) per il·lustrar tot el que hem anat aprenent durant el curs. Anem a veure una aplicació sencera (senzilla) on ajuntarem unes quantes coses de les que hem vist fins ara. Farem una aplicació que segons la proximitat de la ma al sensor (o del sensor […]

Read More Una aplicació completa