1 介绍
开发板引出了UART串口,根据原理图搭建uart开发环境,通过USB转TTL串口和串口调试助手进行uart接口的数据收发测试。
2 电路连接
原理图:
将MIKROE_UART_RX和MIKROE_UART_TX
分别连接USB转串口的TX和RX管脚,再把GND连接上。
3 工程配置
在PINTOOL中配置对应的管脚,这里和原理图对应PD4和PD5
名称可以自己取
加载VCOM示例
工程中可以看到已经加载了对应的UART示例
4 编写串口发送程序
添加uart对应的头文件
#include "sl_uartdrv_instances.h"
uint8_t uart_txbuff[10] ={0,1,2,3,4,5,6,7,0x0D,0x0A};
UARTDRV_Transmit(sl_uartdrv_usart_vcom0_handle,uart_txbuff,sizeof(uart_txbuff),NULL);
sl_udelay_wait(1000000);
每秒钟发送一包固定数据
通过串口调试助手接收对应的数据
修改程序:接收数据然后把接收的数据发送出来
UARTDRV_Receive(sl_uartdrv_usart_vcom0_handle,uart_rxbuff,sizeof(uart_txbuff), NULL);
if(uart_rxbuff[9]==0x0A)
{
UARTDRV_Transmit(sl_uartdrv_usart_vcom0_handle,uart_rxbuff,sizeof(uart_txbuff),NULL);
memset(uart_rxbuff,0x00,sizeof(uart_rxbuff));
}
发现程序逻辑没有问题,可是数据不完整,增加一个小延时程序
UARTDRV_Receive(sl_uartdrv_usart_vcom0_handle,uart_rxbuff,sizeof(uart_txbuff), NULL);
if(uart_rxbuff[9]==0x0A)
{
UARTDRV_Transmit(sl_uartdrv_usart_vcom0_handle,uart_rxbuff,sizeof(uart_txbuff),NULL);
sl_udelay_wait(1000);
memset(uart_rxbuff,0x00,sizeof(uart_rxbuff));
}
发现收发数据都正常了。