1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我串口3使用USART_SendData(USART1,mydata2)发送给串口1一个命令,传递给串口1连接的LORA模组,得到响应数据后再进入串口1的接收中断,返回给串口3响应数据。但现在的情况是,串口1接收到命令直接进入接收中断,直接把命令返回给串口3了。
|
|
相关推荐
2个回答
|
|
您好,请确认接收到的数据和发送的数据是否一致。如果没有发送中断,但是接收中断能收到数据,分析两种原因,一是对方直接回复,比如lora开启了回显功能,二是发送和接收线在外部短接导致。
|
|
|
|
根据描述,发送数据时会触发串口1的发送中断,并且立即进入串口1的接收中断来处理返回数据。这可能是因为串口1的发送和接收中断优先级设置不当,导致发送中断优先级高于接收中断,导致立即进入接收中断。
为解决这个问题,可以尝试修改串口1的中断优先级设置,确保接收中断的优先级高于发送中断。可以使用`NVIC_Init()`函数来配置中断优先级。先将发送中断禁用,发送数据完成后再启用。例子代码如下: ```c // 先禁用串口1的发送中断 USART_ITConfig(USART1, USART_IT_TXE, DISABLE); // 发送数据 USART_SendData(USART1, mydata2); // 等待发送完成 while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET); // 启用串口1的发送中断 USART_ITConfig(USART1, USART_IT_TXE, ENABLE); ``` 另外,确保串口1的接收中断处理函数中,正确地向串口3发送响应数据。如果仍然无法解决问题,可能需要检查其他代码逻辑或硬件连接是否有问题,以进一步排查原因。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1777 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1080 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1678 浏览 2 评论
1938浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
731浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
595浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
554浏览 3评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 04:35 , Processed in 0.820425 second(s), Total 81, Slave 65 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号