你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
由于需要使用到FreeRTOS 考虑到ISR优先级会比任务优先级高,并且查看HAL_UART_Transmit函数实现需要使用到systick 。
HAL_UART_Transmit
所以在重定义时使用了函数HAL_UART_Transmit_IT。但结果反而是IT函数出现异常。
HAL_UART_Transmit_IT
而HAL_UART_Transmit正常输出
有人遇到过此类情况吗?
不吝赐教。
举报
HAL_UART_Transmit_IT函数只是准备在中断中发送,调用完后就退出了,但是数据还没发送出去的。后面要等待发送完成才行。你那没等待肯定数据被冲掉了。在中断回调函数搞个标志,等在标志变化。
HAL_UART_Transmit是调用后会等待发送完成之后才退出的。
楼上说的是正解,如果需要用中断的话,建议加发送队列进行数据传输。保证前面的数据不会被覆盖掉。
STM32F103烧录程序后电流变大
STM32F103CBT6读取单总线温湿度传感器,需要手动重启。
求教學stlink v3 set** 怎麼和**blue pill**連結傳輸寫好的程式
F103和G474的180°移相區別
怎么下载stm32f103zet6的spice模型,没找到
塗鴉模組適配ST芯片
板载stlink无法连接到设备
多DMA数据流问题
STM32F103长时间运行,串口发送失败
STM32G474 BOOST电路双环PID的用法
HAL_UART_Transmit_IT
函数只是准备在中断中发送,调用完后就退出了,但是数据还没发送出去的。后面要等待发送完成才行。你那没等待肯定数据被冲掉了。在中断回调函数搞个标志,等在标志变化。HAL_UART_Transmit是调用后会等待发送完成之后才退出的。
第一点,当我们使用FREERTOS时,SYSTICK定时器一般都是给RTOS使用作为其任务调度滴答时钟,而HAL库函数
使用的滴答时钟往往会换成片内其它定时器外设,比如TIM6 TIM7这些基本定时器;
第二点,中断方式和非中断方式的通信函数的使用,要注意程序逻辑上的差异,一个触发式,一个是死等查询式;
楼上说的是正解,如果需要用中断的话,建议加发送队列进行数据传输。保证前面的数据不会被覆盖掉。