标题: STM32F103串口FIFO [打印本页]

作者: sqhua333    时间: 2016-5-13 14:25
标题: STM32F103串口FIFO
本帖最后由 sqhua333 于 2016-5-13 14:29 编辑

#define USART_Tx_DATA_SIZE 128  //缓存区大小

uint8_t  USART_Tx_Buffer[USART_Tx_DATA_SIZE];  //分配缓存区
uint8_t  USART_Tx_flag = 0;  //标记缓存区是否有数据
uint32_t USART_Tx_ptr_in  = 0;  //发送队列尾指针
uint32_t USART_Tx_ptr_out = 0;  //发送队列头指针,即将被发送的数据
uint32_t USART_Tx_length  = 0;  //发送区为发送数据的长度

/**************************************************************************************************************
*经过这样分配后,通过串口发送数据变成了向缓存队列写入数据,中断函数完成数据的发送。除执行中断函数外,其他时间,
*CPU可以干任何的其他事情。这就解决了发送串口数据占用时间过长的问题。
*稳定性还是挺高,只是会频繁的产生中断。
*BUG;当工程中有USB bulk通信和串口一起通信时,USB中断会干扰串口,导致乱码。
***************************************************************************************************************/

STM32VC_USART_FIFO.rar

270.23 KB, 下载次数: 51, 下载积分: 黑币 -5


作者: shenme    时间: 2019-1-29 18:38
bucuo,好用




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1