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

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

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

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