El curs

Gestor de tasques periòdiques simple

Un model força habitual de tractar el temps d’una forma senzilla és fent ús de tasques programades. Aquestes tasques son funcions que es criden de forma periòdica i realitzen les tasques necessàries per l’aplicació final. Així, podem tenir un codi similar al següent: La funció Registra_tasca() registra la funció que se li passa per a […]

Read More Gestor de tasques periòdiques simple

Eliminant rebots a les entrades

Un problema que ens podem trobar quan volem llegir una entrada digital, és el fenomen dels rebots: si el pin està connectat a un botó a algun altre accionador mecànic aquest pot generar rebots al senyal, que vol dir que no es genera un pols quadrat i perfecte si que no quan es genera un […]

Read More Eliminant rebots a les entrades

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

Baix consum en RTOS

Quan treballem amb un RTOS funcionant en el nostre microcontrolador, hi ha diferents estratègies per aconseguir disminuir el consum energètic. Bàsicament hi ha dues estratègies: Aprofitar la tasca Idle per posar al microcontrolador en un mode de baix consum. Passar a un sistema sense tick (també dit tickless).  Tasca Idle per baix consum L’estratègia més […]

Read More Baix consum en 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

Baix consum: modes de baix consum

Un dels temes més habituals de trobar-se quan es tracten temes amb microcontroladors és el del baix consum. Gràcies a la tecnologia de fabricació dels microxips i els avenços en les arquitectures dels microcontroladors, aquests han arribat a unes fites de consum molt baixes, permeten desenvolupar aplicacions on el sistema pugui anar alimentat per bateries […]

Read More Baix consum: modes de baix consum