martes, 15 de octubre de 2013

MSP430: UART 2

Esta entrada tiene el propósito de demostrar como configurar y trabajar con el módulo interno del microcontrolador llamado UART, explicado en el siguiente capítulo: MSP430: UART.

Vamos a trabajar sobre la placa MSP430 Launchpad y en este caso, usaremos el microcontrolador MSP430G2553. Dicho microcontrolador es uno de los pocos, dentro de la familia MSP430Gxxxx y en encapsulado PDIP, que tenga el módulo UART implementado de manera física (Hardware).

Y el programa de demostración que vamos a emplear consiste en encender o apagar los leds (LED1 y LED2) de la placa MSP430 Launchpad mediante una interfaz gráfica, al principio, ambos leds estarán encendidos.

En principio, el programa que vamos a emplear es igual al mostrado en el siguiente ejemplo: MSP430: UART 1, pero con la diferencia que en este caso, el conversor USB <---> RS-232 que vamos a usar, es uno externo, concretamente el CP2102 (enlace del fabricante).

 El material que vamos a necesitar y su función, es la que se muestra a continuación:

· MSP430 Launchpad: Evidentemente, nuestra placa de desarrollo con el microcontrolador MSP430G2553.
· Módulo B75937: Conversor USB <---> RS-232 externo basado en el dispositivo CP2102.
· Leds: Ambos leds (LED1 y LED2) incorporados en la placa MSP430 Launchpad. 
· Interfaz Gráfica: Software que se ejecuta en un ordenador con sistema operativo Windows con al menos, la versión .NET Framework 4.0. Dicha interfaz gráfica se puede descargar más adelante junto al Firmware.

El módulo B75937, es un conversor USB <---> RS-232 que actuará de puente entre el módulo interno UART del microcontrolador y el puerto USB del ordenador (creando un puerto COM virtual en el ordenador).

Pero antes de presentar el código, debemos tener en cuenta algunas consideraciones:

· Preparación placa MSP430 Launchpad: La placa MSP430 Launchpad dispone de un conversor incorporado, para no causar conflictos, se recomienda desconectar las patitas TXD y RXD del conector J3.


El código del programa principal, es el siguiente:

/*----------------------------------------------------------------------
     AqueronteBlog@gmail.com            
                                                      
Este archivo es propiedad intelectual del blog Aqueronte,  
cuya dirección web, es la siguiente:                       
                                                       
   http://unbarquero.blogspot.com/           
                                                       
Se permite cualquier modificación del archivo siempre y cuando
se mantenga la autoría del autor.                          
                                                      
----------------------------------------------------------------------
                                                       
Filename:       main.c                              
Date:           4-October-13                                
File Version:   vs0.0                                     
Compiler:       IAR 5.60.1 [Kickstart]   

Author:         Manuel Caballero                           
Company:        Hades                          
                       
----------------------------------------------------------------------
                                                      
Notes:  En este programa vamos a mostrar como trabajar con el 
        módulo UART.

        El programa consiste en poder cambiar los estados de los LEDS
        disponibles en la placa Launchpad por medio del módulo UART.
                  
        Se utilizará el módulo conversor USB <---> RS-232 B75937 basado
        en el dispositivo CP2102 a 115200 Baudios.

        El microcontrolador estará en modo bajo consumo LPM3 hasta
        que reciba una orden desde el ordenador.
*/

#include "io430.h"
#include "variables.h"
#include "funciones.c"
#include "interrupciones.c"


void main( void )
{  
  conf_WDT  ();            // Configura WDT del sistema
  conf_CLK  ();            // Configura CLK del sistema                                              
  conf_IO   ();            // Configura Entradas/Salidas
  conf_UART ();            // Configura UART

  
  __enable_interrupt();    // Interrupciones ON.
  
  
  while(1)
  {        
    LPM3;                  // Modo bajo consumo: LPM3
    
    if (datoLeido == '0')
      P1OUT ^= BIT0;       // Cambia estado LED1
    else
      P1OUT ^= BIT6;       // Cambia estado LED2
  }
}

Como vemos, el ejemplo es bastante simple, se recomienda bajar los archivos disponibles más abajo para indagar entre sus librerías y leer sus funciones de manera más detallada.

Un vídeo que demuestra lo explicado anteriormente se presenta a continuación:



Os pongo a vuestra disposición el programa en lenguaje C (IAR y MSPGCC) para que lo podáis descargar y probar:

MSP430: UART 
Compilador IARCompilador MSPGCC
CC
MSP430: UART2
MSP430: UART2  
MSP430: UART2
MSP430: UART2  
MSP430: UART2
MSP430: UART2

Como se ha podido ver en el transcurso de este capítulo, es fácil el uso del módulo UART y su comunicación, en este caso, con un ordenador.

· NOTA 1: En caso de que en el Software empleado para cambiar el estado de los leds de la placa, no reconozca ningún puerto COM, es síntoma de que no se tiene los drivers necesarios del dispositivo CP2102, por lo que se deberán instalar para un uso correcto, ya que el ordenador no lo reconoce.

0 comentarios: