Grup d’esdeveniments

A més dels mecanismes ja explicats, i que son els més típics en la comunicació i sincronització entre tasques, FreeRTOS ens proporciona un mecanisme que permet bloquejar o desbloquejar una o vàries tasques segons succeeixi un o varis esdeveniments. Aquest mecanisme es diu Event Groups i permet que una o vàries tasques defineixen a quins […]

Read More Grup d’esdeveniments

Timer i IRQs

Com ja hem vist al post anterior, un Timer compta temps i el podem fer servir per força coses diferents. L’exemple anterior estava basat en fer polling dels registres del Timer, que és una tècnica senzilla però poc eficient.

Read More Timer i IRQs

Timers

Un Timer és un dels perifèrics més habituals de trobar en un microcontrolador. Bàsicament consisteix en un comptador que genera alguna interrupció quan arriba a un cert llindar o al límit. Com sempre, cada fabricant el fa com li sembla i, per tant, cadascun té característiques un pel diferents.

Read More Timers

Comunicant ISRs i l’ús de “volatile”

A l’exemple que hem vist sobre el PWM, calia modificar un variable global dins de dues ISRs. Aquesta variable es definia així: volatile uint32_t pwm_value = PWM_FREQ/6; Que tot és més o menys normal, però apareix la paraula reservada volatile. Aquesta paraula reservada també apareixia quan parlàvem de la E/S Mapejada a memòria. Aquesta paraula reservada serveix per […]

Read More Comunicant ISRs i l’ús de “volatile”

PWM

El PWM o Pulse Width Modulation (Modulació per amplada dels polsos) és una tècnica per aconseguir controlar la potència subministrada a un dispositiu mitjançant un senyal digital. Simplificant, fent que un senyal digital (‘1’ o ‘0’) estigui més o menys estona a ‘1’ aconseguim controlar la potència que rep el dispositiu a la sortida. Aquest tipus […]

Read More PWM

Printf en sistemes encastats

Un de les principals diferències quan treballem amb sistemes encastats és que no tenim una consola on executem el nostre codi i podem veure quins resultats ha obtingut. Una millora d’ARM respecte arquitectures anteriors va ser la d’incorporar ja fa temps un pin de output anomenat SWO que permet enviar dades cap a una consola […]

Read More Printf en sistemes encastats

Plataforma per seguir el curs

Per tots els exemples estic fent servir la familia EFM32 de Silicon Labs i en concret la placa de prototipat EFM32 Tiny Gecko 32-bit Microcontroller (EFM32TG-STK3300) (link a la plana web). La podeu comprar a Farnell , RS o Digikey per menys de 30€. Aquesta placa porta un EFM32TG840F32 , amb 32 KB de memòria FLASH i 4 […]

Read More Plataforma per seguir el curs