【安信可蓝牙开发板PB-02-Kit测评】串行通讯及使用
[复制链接]
串行通讯是一种主要的数据传送方式,也是在没有显示器件的情况下仅有的调试观察手段。
1. 串口通讯的初始化
要使用串口通信必须对串口进行初始化,其初始化的函数为:
int hal_uart_init(uart_Cfg_t cfg)
{
if(m_uartCtx.enable)
return PPlus_ERR_BUSY;
memset(&m_uartCtx, 0, sizeof(m_uartCtx));
if(cfg.hw_fwctrl)
return PPlus_ERR_NOT_SUPPORTED;
m_uartCtx.cfg = cfg;
uart_hw_config();
m_uartCtx.enable = TRUE;
hal_pwrmgr_register(MOD_UART, NULL, uart_hw_config);
return PPlus_SUCCESS;
}
2.字节数据发送
在串口通信中,最主要的函数是字节数据发送,它可以解决常规print函数所不能解决的问题,因为print函数所输出的内容通常是字符型的,而进行外设控制其指令多是二进制的指令,为此只有字节数据发送函数可以解决此类问题。
发送字节数据的函数为:
int hal_uart_send_byte(unsigned char data)
{
HAL_WAIT_CONDITION_TIMEOUT((AP_UART0->LSR & LSR_THRE), 10000);
AP_UART0->THR=data;
HAL_WAIT_CONDITION_TIMEOUT((AP_UART0->LSR & LSR_TEMT), 10000);
return PPlus_SUCCESS;
}
使用该函数可产生下图所示的输出效果,说明发送字节数据成功。
有了发送字节数据的基础,要想用其控制MP3语音播放模块便也不难了,只需将控制指令存放到数组中,然后按序输出即可。
当然,在输出字符串类的信息时还是使用LOG比较方便。
|