一。串口应用
实验:串口数据的收发
0.在c盘的协议库中
拷贝sampleApp
1.串口的初始化
1.找到初始化
2.在这个函数中加入函数初始化
//串口初始化 halUARTCfg_t uart_Config; uart_Config.configured=TRUE; uart_Config.flowControl=FALSE; uart_Config.baudRate=HAL_UART_BR_115200; HalUARTOpen(HAL_UART_PORT_0,&uart_Config);
注意:DEMO格式不会打印,原因是不初始化网网络,不会进入此任务
2.运行,烧录
上述结果表明,串口运行成功。
二。实现功能
1.回调函数的使用
uart_Config.callBackFunc=NULL;
注意:这个NULL以后需要修改,修改成我们所写的回调函数名。
2.回调函数的实现
(1)hal库中有回调的函数
(2)对回调的函数进行处理
在任意的地方写上一个回调函数(SampleApp.c中),名称命名为uart_callback
void uart_callback (uint8 port, uint8 event){
uint16 buflen = Hal_UART_RxBufLen(HAL_UART_PORT_0);
uint8 buf[128];
if(port == HAL_UART_PORT_0)
{
HalUARTRead(HAL_UART_PORT_0,buf,buflen);
if(event&(HAL_UART_RX_FULL|HAL_UART_RX_ABOUT_FULL|HAL_UART_RX_TIMEOUT))
{
HalUARTWrite(HAL_UART_PORT_0,buf,buflen);
HalUARTWrite(HAL_UART_PORT_0,"\r\n",strlen("\r\n"));
}
}
}
(3)在初始化中加入串口的初始化
//串口初始化
halUARTCfg_t uart_config = {
TRUE,
HAL_UART_BR_115200,
FALSE,
};
uart_config.callBackFunc = uart_callback;
HalUARTOpen(HAL_UART_PORT_0,&uart_config);
结果:
串口初始化+回调函数的编写=对来回数据的读写
出现报错
问题:
表示没有函数原型。
解决方法:
在option中去掉需要函数原型。
补充:ADC的采集
回调函数中对ADC的数据进行处理即可。