Hercules RM57L843 LaunchPad: Uso básico de la UART, probando los ejemplos de HALCoGen


En este ejemplo, probaremos el demo que trae el HALCoGen y que tiene por nombre "example_sci_uart_9600.c" en donde se hace una comunicación con el serial con la computadora. Importante mencionar que las características de la comunicación serán las siguientes: Baudrate = 9600, Length = 8, Stop bits = 1, Parity = None. Otro punto que considero importante es revisar que tengas instalados los drivers del tu HerculesRM57 para que este tenga generado el puerto COM correspondiente y así poder hacer la comunicación de forma exitosa (en mi caso es el COM4).


Configuración en HALCoGen:
Bueno para iniciar, pues se debe crear un proyecto: File >> New >> Project. Luego seleccionar RM57L843ZWT >> Driver Enable >> Desmarcar todos los drivers y solo habilitar SCI1.


Posteriormente ir a SCI1 >> SCI Data Format, ahí estableceremos los siguientes valores.


Al final solo basta con con ir a File >> Generate Code y listo.

Código:
Se ha utilizado el ejemplo que trae el HALCoGen y se ha agregado la opción para enviar el texto 4, haciendo uso de la función sprintf, como se muestra a continuación.
/* USER CODE BEGIN (0) */
/*******************************************************************************
*
* RM57L843: Basic UART test
*
*******************************************************************************
* FileName: main.c
* Processor: RM57L843
* Complier: CCS 7.2.0.00013 & HALCoGen 04.07.00
* Author: Pedro Sánchez Ramírez (MrChunckuee)
* Blog: http://mrchunckuee.blogspot.com/
* Email: mrchunckuee.psr@gmail.com
* Description: Testing the small example of the UART that has HALCoGen,
* for this test the following characteristics were used:
* Baudrate = 9600, Length = 8, Stop bits = 1, Parity = None
*******************************************************************************
* Rev. Date Comment
* v0.00 14/06/2018 - Testing "example_sci_uart_9600.c" from HALCoGen
******************************************************************************/
/* USER CODE END */
/* Include Files */
#include "HL_sys_common.h"
/* USER CODE BEGIN (1) */
#include "HL_sci.h"
#include "stdio.h"
#include "stdlib.h"
#define TSIZE1 10
uint8 TEXT1[TSIZE1]= {'H','E','R','C','U','L','E','S',' ',' '};
#define TSIZE2 18
uint8 TEXT2[TSIZE2]= {'M','I','C','R','O','C','O','N','T','R','O','L','L','E','R','S',' ',' '};
#define TSIZE3 19
uint8 TEXT3[TSIZE3]= {'T','E','X','A','S',' ','I','N','S','T','R','U','M','E','N','T','S','\n','\r'};
#define bufferSize 40
char bufferTX[bufferSize]="";
void sciDisplayText(sciBASE_t *sci, uint8 *text, uint32 length);
void wait(uint32 time);
#define UART sciREG1
/* USER CODE END */
/* USER CODE BEGIN (2) */
/* USER CODE END */
int main(void){
/* USER CODE BEGIN (3) */
sciInit(); /* initialize sci/sci-lin */
/* even parity , 1 stop bits */
sprintf (bufferTX, "Electronica&Robotica by MrChunckuee\n\r");
while(1) /* continious desplay */
{
sciDisplayText(UART,&TEXT1[0],TSIZE1); /* send text code 1 */
sciDisplayText(UART,&TEXT2[0],TSIZE2); /* send text code 2 */
sciDisplayText(UART,&TEXT3[0],TSIZE3); /* send text code 3 */
sciDisplayText(UART,&bufferTX,bufferSize); /* send text code 4 */
wait(2000);
};
/* USER CODE END */
return 0;
}
/* USER CODE BEGIN (4) */
void sciDisplayText(sciBASE_t *sci, uint8 *text,uint32 length){
while(length--){
while ((UART->FLR & 0x4) == 4); /* wait until busy */
sciSendByte(UART,*text++); /* send out text */
};
}
void wait(uint32 time){
time--;
}
/* USER CODE END */
Resultado:
Aquí una captura de pantalla donde se aprecia los datos leídos por la terminal de CCS, importante.


Descargas:
Aquí el enlace directo para DESCARGAR los archivos disponibles, también puedes revisar o descargar la información desde mi repositorio en GitHub, si no sabes como descargarlo puedes checar aquí, bueno por el momento es todo si tienes dudas, comentarios, sugerencias, inquietudes, traumas, etc. dejarlas y tratare de responder lo mas pronto posible.


Donaciones:
Si te gusta el contenido o si los recursos te son de utilidad, comparte el enlace en tus redes sociales o sitios donde creas que puede ser de interés y la otra puedes ayudarme con una donación para seguir realizando publicaciones y mejorar el contenido del sitio. También puedes hacer donaciones en especie, ya sea con componentes, tarjetas de desarrollo o herramientas. Ponte en contacto para platicar, o puedes volverte uno de nuestros sponsors.


Pido una retroalimentación avisando cada que un enlace no sirva o tenga errores al momento de abrirlo, así también si una imagen no se ve o no carga, para corregirlo en el menor tiempo posible.

Bibliografía:

Publicar un comentario

0 Comentarios