El curs

Treballant amb C++

Sobre la qüestió de si es pot treballar en C++ per sistemes encastats, ja en vem parlar en aquesta entrada. Després de mirar-me uns quants videos, blogs i i xerrades (Video1, Video2, Xerrada1, Blog) vaig veure que hi ha gent treballant en quest tema i que sembla que és possible tenir una aplicació encastada escrita […]

Read More Treballant amb C++

Treballant amb punt flotant

Sempre s’ha dit que cal evitar l’ús de variables en punt flotant (float o double) en sistemes encastats. Això prové dels temps en que els microcontroladors disponibles no tenien cap unitat hardware de punt flotant i aquestes operacions s’havien de fer per software i això penalitzava moltíssim el rendiment. Això encara és aplicable per la […]

Read More Treballant amb punt flotant

Drivers en multi-tasca

Quan fem servir un dispositiu (I2C, SPI, etc.) en un entorn multi-tasca com és FreeRTOS podem tenir el problema de dos o més tasques accedint simultàniament a un mateix recurs (el mòdul hardware del microcontrolador). És per això que cal escriure els drivers per accedir a dispositius d’una manera especial quan treballem en entorns multi-tasca. […]

Read More Drivers en multi-tasca

Controlant un servomotor

Un servomotor és un dispositiu electromecànic de control senzill. La majoria d’ells son rotatius i permeten controlar l’angle d’actuació del motor amb un senyal digital, normalment un senyal PWM. Així, el que se sol necessitar és un senyal PWM a una freqüència determinada i un temps actiu entre certs valors que provocaran un moviment proporcional […]

Read More Controlant un servomotor

C avançat

La meva experiència amb cadells d’enginyers és que als coneixements que tenen els alumnes o, diguem-ne així, usuaris bàsics de C, cal afegir-los certs coneixements que no s’acostumen a donar enlloc.

Read More C avançat

Comparant temps de resposta

En aquesta entrada valorarem els temps de resposta mesurats en els tres mecanismes de comunicació entre esdeveniments i tasques, que son els semàfors, les grups d’esdeveniments i les notificacions directes. A la taula següent es resumeixen aquestes mesures i a les figures es veuen les mesures fetes amb l’oscil·loscopi. Com es pot comprovar, el mecanisme […]

Read More Comparant temps de resposta

Notificacions a tasques

Les notificacions a tasques (en anglès Direct to Task Notifications) son un mecanisme propi de FreeRTOS similar a les cues, semàfors i mútex però més simple i, en alguns casos, més eficient (aquest mecanisme pot ser fins a un 45% més ràpid que un mecanisme basat en un semàfor binari). Si bé els mecanismes introduïts […]

Read More Notificacions a tasques

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