你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于HAL_UART_Receive_IT和HAL_UART_Transmit一起用的问题

[复制链接]
D5Power 提问时间:2017-11-16 21:11 /
阅读主题, 点击返回1楼
收藏 1 评论13 发布时间:2017-11-16 21:11
13个回答
modu8888 回答时间:2018-3-7 13:24:00
本帖最后由 modu8888 于 2018-3-8 10:27 编辑


我的F4里面这样:
                                __HAL_UART_DISABLE_IT(&UART1_Handler,UART_IT_RXNE);
                                HAL_UART_Transmit(&UART1_Handler,&mb_buf_out[0],6,100);                                __HAL_UART_ENABLE_IT(&UART1_Handler,UART_IT_RXNE);
                                HAL_UART_Receive_IT(&UART1_Handler,&RxData, 1);
F1里面这样:
                                __HAL_UART_DISABLE_IT(&huart2,UART_IT_RXNE);
                                HAL_UART_Transmit(&huart2,&i,1,100);               
                                __HAL_UART_ENABLE_IT(&huart2,UART_IT_RXNE);
                                HAL_UART_Receive_IT(&huart2,&aRxBuffer,1);        

wpgdut 回答时间:2019-1-3 23:21:18
谢谢分享,解决了我一个困惑很久的问题。原本串口也是使用查询发送和中断接收,但是在有接收的同时进行发送,就会导致死锁,然后再也进不去中断。将中断接收改为DMA接收解决了这个问题。
zhenyu566 回答时间:2019-11-15 20:21:27
wenyangzeng 发表于 2017-11-16 21:43
主函数加入:__HAL_UART_ENABLE_IT(&huart2,UART_IT_RXNE);
就可以不断进入中断了。

我试了不行,你们这样就可以吗?
雨山 回答时间:2020-7-2 11:08:28
在发送、接收之前关闭中断__HAL_UART_DISABLE_IT(&huart2,UART_IT_RXNE);在之后再打开中断__HAL_UART_ENABLE_IT(&huart2,UART_IT_RXNE);就好了
12

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版