完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
由于需要使用到FreeRTOS 考虑到ISR优先级会比任务优先级高,并且查看HAL_UART_Transmit函数实现需要使用到systick 。
所以在重定义时使用了函数HAL_UART_Transmit_IT。但结果反而是IT函数出现异常。 而HAL_UART_Transmit正常输出 有人遇到过此类情况吗? 不吝赐教。 |
|
相关推荐
2个回答
|
|
HAL_UART_Transmit_IT函数只是准备在中断中发送,调用完后就退出了,但是数据还没发送出去的。后面要等待发送完成才行。你那没等待肯定数据被冲掉了。在中断回调函数搞个标志,等在标志变化。
HAL_UART_Transmit是调用后会等待发送完成之后才退出的。 |
|
|
|
在FreeRTOS中,串口重定向使用HAL库函数中断出现异常的原因可能有以下几点:
1. 中断优先级设置不正确:在FreeRTOS中,中断优先级需要正确设置,以确保中断能够正确触发。请检查您的中断优先级设置是否正确。 2. 串口初始化不正确:请确保您的串口初始化代码是正确的,包括波特率、数据位、停止位和奇偶校验等参数。 3. 缓冲区管理问题:在使用HAL_UART_Transmit_IT函数时,需要确保传入的缓冲区大小和数据长度是正确的。如果缓冲区过小或数据长度不正确,可能会导致异常。 4. FreeRTOS配置问题:请检查您的FreeRTOS配置是否正确,包括堆大小、任务优先级等参数。 5. 硬件问题:如果以上原因都排除了,那么可能是硬件问题导致的异常。请检查您的开发板和连接的串口设备是否正常工作。 为了解决这个问题,您可以尝试以下步骤: 1. 检查中断优先级设置,确保它们是正确的。 2. 检查串口初始化代码,确保所有参数都设置正确。 3. 在使用HAL_UART_Transmit_IT函数时,确保传入的缓冲区大小和数据长度是正确的。 4. 检查FreeRTOS配置,确保所有参数都设置正确。 5. 如果问题仍然存在,尝试使用其他串口设备或开发板,以排除硬件问题。 希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1935浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
728浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
568浏览 3评论
593浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
551浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 16:12 , Processed in 0.884731 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号