方案1. 加入延时函数(下下策),不需要修改USART_SendData()函数 for(TxCounter = 0;TxCounter < RxCounter; TxCounter++) { USART_SendData(USART1, RxBuffer[TxCounter]); DelayMS(2); //加入一个小的延时 } 方案2. 修改USART_SendData()函数,在其内部加入发送缓冲区的USART_FLAG_TXE状态检测语句,确保一...
方案1.加入延时函数(下下策),不需要修改USART_SendData()函数 for(TxCounter = 0;TxCounter < RxCounter; TxCounter++) { USART_SendData(USART1, RxBuffer[TxCounter]); DelayMS(2); //加入一个小的延时 } 方案2.修改USART_SendData()函数,在其内部加入发送缓冲区的USART_FLAG_TXE状态检测语句,确保一个字...
方案1. 加入延时函数(下下策),不需要修改USART_SendData()函数 for(TxCounter = 0;TxCounter < RxCounter; TxCounter++) { USART_SendData(USART1, RxBuffer[TxCounter]); DelayMS(2); //加入一个小的延时 } 方案2. 修改USART_SendData()函数,在其内部加入发送缓冲区的USART_FLAG_TXE状态检测语句,确保一...
方案1. 加入延时函数(下下策),不需要修改USART_SendData()函数 for(TxCounter = 0;TxCounter < RxCounter; TxCounter++) { USART_SendData(USART1, RxBuffer[TxCounter]); DelayMS(2); //加入一个小的延时 } 方案2. 修改USART_SendData()函数,在其内部加入发送缓冲区的USART_FLAG_TXE状态检测语句,确保一...
使用USART_SendData()函数非连续发送单个字符是没有问题的;当连续发送字符时(两个字符间没有延时),就会发现发送缓冲区有溢出现象。若发送的数据量很小时,此时串口发送的只是最后一个字符,当发送数据量大时,就会导致发送的数据莫名其妙的丢失。 如: for(TxCounter = 0;TxCounter < RxCounter; TxCounter++) ...