Máquinas de estado en sistemas embebidos

Laboratorio de Computadoras Electrónicas, Microcontroladores
Qué es una máquina de estado Una máquina de estados finita (FSM "Finite State Machine") es un conjunto de estados y transiciones entre ellos que describen el comportamiento de un sistema. Todos los estados son conocidos y definidos (Por eso, máquina de estado "finita") Cada estado describe la situación en que se encuentra el sistema en un momento determinado. Las máquinas de estado se evaluan constantemente cada cierto tiempo (Ej. clock) y cada vez que esto sucede, se elige un nuevo estado -que puede ser el mismo en el que ya se encuentra- y si corresponde, se actualizan sus salidas. Para funcionar correctamente, por lo tanto, las máquinas de estado deben "conocer" su estado acual para lo que cuentan con alguna forma de memoria que recuerde el estado actual: variable…
Leer más

SCI – ejemplos de clase

Electrónica, Laboratorio de Computadoras Electrónicas, Microcontroladores, Programación C/C++, Técnicas Digitales
Este ejemplo envía T18.7C (+ un salto de línea) cada 1s La configuración de UART es 9600 8N1 [code language="cpp" collapse="true"] /* Envía T18.7C por SCI (UART) 9600 8N1 cada 1s */ #include <hidef.h> /* for EnableInterrupts macro */ #include "derivative.h" /* include peripheral declarations */ unsigned int conteo = 0; unsigned int mandar = 0; // vector donde se coloca lo que se va a enviar unsigned char resp[] = "T00.0C\n"; unsigned char i = 0; void main(void) { SOPT1 &= 0x3F; // deshabilito COP // este bloque "calibra" el oscilador interno a +/- 2% de error aprox. // es necesario para usar SCI asm { LDA $FFAF;-- inicializa osc. interno STA ICSTRM } while (!ICSSC_IREFST); /* espera ck interno estable */ // se habilitan interrupciones EnableInterrupts; // se…
Leer más