FAQ调用Lpuart_Uart_Ip_AsyncSend函数发送数据异常

调用Lpuart_Uart_Ip_AsyncSend函数发送数据,逻辑分析仪捕捉数据异常。
更新时间:2022.05.11 浏览量:0

解决办法:使用全局变量或者静态局部变量传参,参数指的是TxBuff

原因:该函数Lpuart_Uart_Ip_AsyncSend(const uint8 Instance,const uint8 * TxBuff, const uint32 TxSize)的发送数据buffer,即TxBuff对应的实参,必须在发送所有数据完成之前不能被释放(使用全局变量或者静态局部变量),否则写入Lpuart数据寄存器的值将会被改变;因为调用Lpuart_Uart_Ip_AsyncSend只是把数据buffer的指针记录,传输完一个Byte后将在中断填入新的数据,该数据为TxBuff对应的实参的偏移。

  • 上一篇:STM定时器使用问题
  • 下一篇:FreeRTOS任务卡死