
HAL库1.8.4在做破坏性测试的时候出现g_state永远为busy的情况导致串口通信发送卡死
用rt_thread 环境编写,DAP-LINK 下载烧录,每一次空芯片下载之后就无法二次下载。求解
stm32cubemx F103芯片tim3 encoder模式pc6和pc7引脚,自动生成代码缺少gpio映射。
STM32H743VIT6 HAL 串口DMA发送掉帧
STM32G474CBT6 串口通信问题
stm32的同一个定时器,不同的通道,可以不同时的输出pwm波形吗
USB Device + FatFS + 外挂 flash
STM32F103C8T6 TIM1 CH2输入捕获触发DMA的问题
STM32F103在使用HAL库1.8.5版本使用串口中断发送数据的时候,会出现huart2->TxXferCount为0了,但是并没有清除掉TXEIE中断也没有使能TCIE中断,而且huart2->gState已经被置为HAL_UART_STATE_READE,导致了一直在进入TXEIE中断,主循环都无法执行
STM32的低功耗模式
HAL_UART_Transmit_IT
函数只是准备在中断中发送,调用完后就退出了,但是数据还没发送出去的。后面要等待发送完成才行。你那没等待肯定数据被冲掉了。在中断回调函数搞个标志,等在标志变化。HAL_UART_Transmit是调用后会等待发送完成之后才退出的。
第一点,当我们使用FREERTOS时,SYSTICK定时器一般都是给RTOS使用作为其任务调度滴答时钟,而HAL库函数
使用的滴答时钟往往会换成片内其它定时器外设,比如TIM6 TIM7这些基本定时器;
第二点,中断方式和非中断方式的通信函数的使用,要注意程序逻辑上的差异,一个触发式,一个是死等查询式;
楼上说的是正解,如果需要用中断的话,建议加发送队列进行数据传输。保证前面的数据不会被覆盖掉。