本帖最后由 jackspearsking 于 2010-11-17 13:55 编辑
我想在stm32mini板上实现 上位机发字符串 通过usart1接收 并将接受数据 再发给上位机
以下为我的终端代码
u8 TxBuffer[20]; //发射缓冲
u8 RxBuffer[RxBufferSize]; //接收缓冲大小
u8 NbrOfDataToTransfer = TxBufferSize; //接收缓冲的数目
u8 NbrOfDataToRead = RxBufferSize; //发射缓冲的数目
u8 TxCounter = 0;
u16 RxCounter = 0; //接收和发送索引初始化
u8 i=0;
void USART1_IRQHandler(void)
{
while(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收部分
{
// 接收一个字节从接收数据寄存器
RxBuffer[RxCounter++] = (USART_ReceiveData(USART1) & 0x7F);
for(i=0;i<=RxCounter;i++)
{
TxBuffer = RxBuffer;
}
if(RxCounter == NbrOfDataToRead)
{
// USART1接收中断
USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);
}
while(USART_GetITStatus(USART1, USART_IT_TXE) != RESET) //发送部分
{
// 发送一个字节到发送数据寄存器
USART_SendData(USART1, TxBuffer[TxCounter++]);
if(TxCounter == NbrOfDataToTransfer)
{
// 关闭USART1的发送中断
USART_ITConfig(USART1, USART_IT_TXE, DISABLE);
}
}
}
} |