Entradas

Proyectos con FreeRTOS y STM32F4Discovery

Snippets de proyectos con FreeRTOS y la STM32F4Discovery. Todos los proyectos se van a realizar utilizando OpenSTM32 como IDE y la versión de FreeRTOS que tiene integrada (8.2). ☺ En este proyecto se usa el parametro pvParameter para indicarle a la tarea que LED togglear. Solo se tiene una tarea, y dos instancias de ella, diferenciándose por el pvParameter a la hora de crear las dos instancias. Aquí el código fuente (después lo organizare y subiré a github): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 #include <stdint.h> #include <stddef.h> #include "stm32f4xx.h" #include "FreeRTOS.h" #include "task.h" static void GPIOinit ( void ); static void vTaskToggleLED ( void * pvParameters); static const uint8_t toogleGreenLED = ...

PSoC 4S - CapSense ADC

Imagen
Los PSoC 4S no cuentan con un ADC per se, pero los ingenieros encontrarón una forma de utilizar los componentes que forman el bloque de CapSense como ADC, aunque es un tanto limitado, resolución de 8 o 10 bits, y corre hasta los ~11.6 ksps (kilo samples per second / miles de muestras por segundo) maximo. El primer problema que encontré es que para que funcione el CapSense ADC se tiene que añadir por lo menos un widget de CapSense (boton, slider, etc., acá perdemos un pin). Al principio trataba de usar este periférico sin crear widgets pero el programa se detenía al llamar la función _Start(), y este error se soluciona creando el widget. Otro problema que encontré es que en la versión 3.3 de PSoC Creator no esta incluida la documentación de las funciones del bloque ADC en el Datasheet del CapSense_ADC, hay que bajarlas de este link. Si como yo estas trabajando en PSoC Creator 4 este error ya fue corregido. El proyecto ejemplo será sencillo, el CapSense_ADC y una UART para imp...

Qt Creator como IDE para desarrollo de proyectos con libopencm3 y PlatformIO.

Imagen
17 de Octubre 2016 Tengo que aprender a usar microcontroladores que no sean PSoC xD, así que intentaré aprender a usar los micros de ST, tengo la clásica STM32F4Discovery que tiene un Cortex M4. Por fortuna(?) esta soportada por el proyecto libopencm3 , así que vamos a aprovechar eso (también tengo que aprender a usar las HAL que provee ST xD, pero eso ira en otro post). PlatformIO es una herramienta que nos ayuda al desarrollo de proyectos y nos da soporte para el framework libopencm3 y como voy empezando usaré PlatformIO para ayudarme a ir aprendiendo a usar libopencm3, ya después se vera si puedo hacer proyectos solamente con libopencm3 (se puede usar como submodulo de git en proyectos que desarrollemos). Los pasos para la instalación de PlatformIO estan aqui . En mi caso para instalar PlatformIO: $ sudo -H pip2 install -U platformio Esto instala PlatformIO de forma global y como esta escrito en python2.7 tenemos que usar pip2. Y para terminar instalé las reg...

Kit CY8CKIT-041-40XX

TODO Proyectos: Proyectos con PSoC 4s y SmartIO  

PSoC 4S - SmartIO

Este es el periferico que distingue a la familia 4S de las demás, además del nuevo CapSense. Proyectos ejemplo: Compuertas lógicas con SmartIO   Contador de 3bits Otras fuentes de información: (Excelente) Blog de Alan Hawse, ingeniero en Cypress Semiconductor: IoT Expert. Todos los proyectos estan en este repositorio de GitHub Saludos

Compuertas Lógicas con SmartIO

Imagen
 Compuertas Lógicas con SmartIO  Acá ire poniendo ejemplos sencillos de como implementar diferentes compuertas lógicas basicas con SmartIO. AND La placa que use para este ejemplo es la CY8CKIT-041-40XX que trae un CY8C4045AZI-S413, este PSoC pertenece a la nueva familia PSoC 4S, en especifico a la familia 4000S. En esta familia el periferico SmartIO solo esta presente en los puertos GPIO 2 y GPIO 3, para este ejemplo usaré el puerto GPIO 3 por que tengo disponible el LED rojo del kit en el pin 3[4]. LED RGB de Usuario en la 041 Hay que tener en cuenta que el LED rojo prende cuando "escribimos" un 0 logico en el pin que lo maneja. ¿Que hara el SmartIO? El LED rojo va a prender solo cuando dos pulsadores externos sean presionados al mismo tiempo, equivalente a una compuerta AND, y estara apagado cuando no este presionado ningun pulsador o solo uno este presionado. Comenzamos con un proyecto nuevo y arrastramos el SmartIO al esquematico. Vamos a utilizar el pin 4...

Instalar IPython en Windows

Para instalar IPython (para usarlo en python 3) en Windows, estando en la linea de comandos ejecutar: > py -3 -m pip install ipython