小学生
最后登录1970-1-1
在线时间 小时
注册时间2014-4-18
|
通过串口1已将RFID读取到的信息通过lcd显示,将信息通过串口2或者3将数据发到电脑为什么显示乱码?
中断函数如下:(注:串口3只发送数据到电脑)
void USART1_IRQHandler(void) //
{
// if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE)!= RESET)
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //
{
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
RxBuffer[RxCounter++] = USART_ReceiveData(USART1); //
if(RxCounter == 46) //èç1û½óêÕêy¾Yá¿μèóú×üêy¾Yá¿
{
flagreceiver = 1;
// USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);
// for(i=0; i< RxCounter; i++) TxBuffer[i]=RxBuffer[i]; //
// RxCounter = 0;
}
}
if(USART_GetITStatus(USART1, USART_IT_TXE) != RESET) //
{
USART_SendData(USART1, TxBuffer[TxCounter++]); //
if(TxCounter == 18) //
{
USART_ITConfig(USART1, USART_IT_TXE, DISABLE);
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
flag = 1;
// USART_ITConfig(USART1, USART_IT_TXE, DISABLE); //
/* GPIO_WriteBit(GPIOA, GPIO_Pin_4, (BitAction)0x01);
for(i=0;i<1000000;i++);
GPIO_WriteBit(GPIOA, GPIO_Pin_4, (BitAction)0x00); */
TxCounter=0; //
}
}
}
void USART3_IRQHandler(void) //
{
// if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE)!= RESET)
if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)
{
USART_ClearITPendingBit(USART3,USART_IT_RXNE);
RxBuffer[RxCounter++] = USART_ReceiveData(USART3);
if(RxCounter == 46) //
{
flagreceiver = 1;
// USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);
// for(i=0; i< RxCounter; i++) TxBuffer[i]=RxBuffer[i]; //
// RxCounter = 0;
}
}
|
|