在串口中断里下面这句起什么作用,刚接触,可能问的比较白痴 ,还请各位大佬不吝赐教。 HAL_UART_IRQHandler(&huart1); 还有,我想在串口中断里单个字节接收数据,然后自己处理组合字符串,但在HAL库里没找到单个字节接收的函数,只有下面这个2个接收多字节的,应该怎么用 HAL_UART_Receive HAL_UART_Receive_IT
HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart1)
请参考这个例程:
标题是:使用STM32CubeMX实现中断模式下的串口收发
链接地址是:https://wenku.baidu.com/view/c0310a8b227916888586d77e.html
第二句是串口接收中断的一次调用,一般这句用户不用关心,系统做好了,系统自己会直接调用的;
第三句是设置串口X接收的数据存放位置及接收多少个数据产生一次接收中断
回调函数是接收中断发生后自动执行的吗?
我看了一下,这句
if(HAL_UART_Receive_IT(&huart5,aRxBuffer,1)!=HAL_OK)Error_Handler();开启接收中断
提示Error_Handler()是无效的,是怎么回事
UART1_C8.rar
2017-4-26 14:38 上传
点击文件名下载附件
下载积分: ST金币 -13.37 MB, 下载次数: 16, 下载积分: ST金币 -1
我看了您的程序,是在主循环里查询串口状态,好像没有用中断接收啊
我在项目中只用了他接收部分的
发送部分的我没有使用,所以不知道你说的这个问题
是的
系统程序跑得快,串口速度慢,所以效率低些没关系,但是编程效率高了。如果要效率高,最好用寄存器操作,不要用库什么的