完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在尝试学习嵌入式 STM32 编程时,我遇到了另一个我似乎无法解决的障碍。我有一个简单的测试程序,它通过 UART 传输字符,RX 和 TX 引脚循环在一起,并使用中断接收它们。当我使用 HAL_UART_Transmit 传输数据时,我可以在 IRQHandler 中很好地处理接收到的字符。但是当我使用 HAL_UART_Transmit_IT 时,我的 IRQHandler 会为我传输的每个字符在接收缓冲区中放置 2 个字符。我很确定这是因为我的 IRQHandler 被调用以传输每个字符和接收到每个字符。您可以在下面看到我如何尝试仅处理我的 IRQHandler 中接收到的字符,但它在几个字符后挂断了。关于我的任何想法
谢谢 PS 从长远来看,我想让它与 DMA 一起工作,并使用字符匹配中断结束传输。我已经在 STM32H7A3 Nucleo 板上工作,但在我需要使用的 STM32H7B3Discovery 板上没有。所以我现在正在研究这个 IT 方法。
|
|
相关推荐
1个回答
|
|
使用 HAL 回调,只有在设置了相关标志时才会调用它。在这种情况下,HAL_UART_RxCpltCallback。
在 HAL_UART_IRQHandler 中检查和清除标志,因此之后检查它们将没有用。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2075 浏览 1 评论
2745 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1560 浏览 1 评论
3172 浏览 6 评论
5596 浏览 21 评论
573浏览 4评论
988浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
355浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
956浏览 3评论
914浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-7-4 03:32 , Processed in 1.158325 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号