请问怎么让MCU在串口接收数据时进入串口中断

2019-07-14 15:51发布

用cubemx生成的代码,如果想让MCU在串口接收数据时进入串口中断, 只有在调用HAL_UART_Receive_IT的同时接收到数据才能进入中断吗??
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
bbs注册
1楼-- · 2019-07-14 22:01
wq644921241 发表于 2018-11-21 11:47
是的,新的HAL库和以前的略有不同

那如果想要用串口中断打断正在运行的程序 , 就要反复调用这个函数吧?  那岂不是太浪费时间了?
zzw0719
2楼-- · 2019-07-15 03:26
吕少大大
3楼-- · 2019-07-15 06:58
bbs注册 发表于 2018-11-21 11:56
那如果想要用串口中断打断正在运行的程序 , 就要反复调用这个函数吧?  那岂不是太浪费时间了?

HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)函数的功能是设置接收中断的参数,以及使能接收中断。查看一下它的代码就明白了。
函数的第一个参数是串口实例句柄,第二个参数是用于存储接收数据的指针,第三个则是接收多少个数据之后调用接收完成回调函数HAL_UART_RxCpltCallback( )。
吕少大大
4楼-- · 2019-07-15 07:54
 精彩回答 2  元偷偷看……
吕少大大
5楼-- · 2019-07-15 11:21
本帖最后由 adlu 于 2015-8-28 10:57 编辑

对于刚使用HAL的用户,要理解它的回调机制并不容易。
可以参考下面这篇文章《使用STM32CubeMX实现中断模式下的串口收发》
http://www.wenkuxiazai.com/doc/c0310a8b227916888586d77e.html
还有版主netlhx的《nucleo教程之三:定个时》
http://www.stmcu.org/module/forum/thread-598395-1-1.html
sk49582628
6楼-- · 2019-07-15 15:16
学习学习

一周热门 更多>