lunes, 16 de junio de 2014

Primer programa con la Connected Launchpad.

En la entrada anterior os presente la nueva placa de la serie Launchpad de Texas Instruments. Esta placa monta un microcontrolador Tiva TM4C129, lo que se traduce en un ARM Cortex M4 a 120Mhz. Como ya comenté, Texas Instruments, ha facilitado mucho la programación de estas placas, lo que en principio parece una ventaja, pero no lo es tanto, ya que utilizando ese método nos abstraemos mucho del hardware con el que trabajamos, pero sin duda, la utilización de APIs hace mucho más sencilla la programación, y como dije, estas APIs son muy eficientes en cuanto a código.
Lo primero que debemos hacer para aprender a programar estas placas y familiarizarnos con las APIs, lo mejor es empezar a ver algunos ejemplos que encontramos en la colección TivaWare que podéis descargar aquí. Una vez instalado, en la carpeta de instalación tenemos muchos ejemplos para los diferentes periféricos que dispone, pero los ejemplos no son infinitos.
Por algunas razones, uno de los ejemplos que he echado en falta es el de la lectura de varios canales analógicos a una frecuencia determinada. Esto que puede parecer trivial para algunos es muy útil cuando queremos, por ejemplo realizar un control, o cuando queremos hacer un procesado de la señal.
En este ejemplo, como en todos, lo primero que debemos hacer es habilitar los periféricos que vamos a utilizar, que en nuestro caso serán los puertos digitales N y E, el Timer0, y el propio conversor analógico - digital. Esto es lo primero que debíamos hacer también cuando programábamos los STM32 de ST, y es que recordad que internamente, muy internamente, son lo mismo. Lo siguiente es empezar a configurar los perifericos, empezando por los GPIO, configurándolos como salida los que vayamos a utilizar. En segundo lugar debemos configurar el Timer0. Texas Instruments, en la serie Tiva, divide los timers en 2, TIMER_A y TIMER_B, cada uno de ellos de 16 bits. En el ejemplo solo utilizo el TIMER_A. Por último configuramos el conversor AD. Añadimos los canales 0 y 1 al secuenciador, a la cola de conversión , y le decimos que al llegar al canal 1 ha acabado y genere una interrupción.
El conversor ADC de los microcontroladores Tiva permite bastantes opciones de disparo, incluso podemos decirle que una vez ha finalizado, el mismo se genere el disparo para que lea los canales continuamente.
El código del ejemplo que he desarrollado lo teneis a continuación.


He estado buscando ejemplos un poco menos genericos y no he encontrado muchos, solo en los propios foros de TI, así que espero que este ejemplo os ayude y anime a probar con estas placas low cost.

No hay comentarios:

Publicar un comentario