Entradas

Mostrando las entradas de mayo, 2015

Hardware FSM PSoC 4

Imagen
Este es un proyecto basado en una FSM que vi hace unos años, esta implementada con solo HW (hardware) usando unos Community Components que encontré en el foro de Cypress, en concreto los FlipFlops,  aquí los puedes obtener. Esta es la (famosa jaja) FSM que implemente, es una maquina dispensadora de refrescos: En el estado 000 se ilumina el led conectado a la salida de Sol.Mon. (Solicita moneda), cuando la entrada M este en '1' pasa al estado 001 si esta en '0' se quedara haciendo un loop en el estado 000, estando ya en el estado 001 dependemos de la entrada MP, si esta en '1' regresa al estado 000, si esta en '0' pasa al estado 010, estando en el estado 010 checamos la entrada EP (equal price = las monedas suman el precio del refresco), si EP esta en '1' pasa al estado 011 (Se ilumina el led conectado a al pin SIRVE), esperamos a que la entrada MS este en '1' para limpiar la maquina (Se ilumina el led conectado a la salida CLR)

The first ARM processor in the world with Sophie Wilson

Imagen

sprintf en PSoC Creator 3.0 y 3.1

Imagen
Esta función nos ayuda a convertir un dato entero en un string, para después poder imprimirlo con la funcion UART_UartPutString. Para poder usar sprintf  tenemos que añadir primero el header de stdio: #include <stdio.h> Luego si estas en Creator 3.0 Das click derecho en el proyecto. Build Settings ARM GCC Linker Command Line y añades -u_printf_float aplicas y esta listo -u_printf_float en el Command Line Si estas en Creator 3.1 hay un paso adicional descrito en este post en los foros de Cypress. (Por defecto  -u_printf_float ya esta incluido en la newlib-nano Float Formatting del Linker)  Tenemos que incrementar el heap size del proyecto: .cydwr System Heap Size(byte). Por defecto esta en 0x80, lo cambiamos a 0x200 y ya podremos usar el sprintf !! Heap Size por defecto Nuevo Heap Size Informacion sacada de Digitalprojectsudistrital y el foro de Cypress Un video de su aplicacion: