void USART_IRQHandler(void)
{
char Rx_dat;
if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)
{
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
GPIO_WriteBit(GPIOB,GPIO_Pin_10,(BitAction)0x01);//这里备注上写的是开始传输,我怀GPIOB是不是应该是GPIOA,如果是,那置1有什么用?
RX_dat=USART_ReceiveData(USART1)&0X7F;//为什么要与7f与?不是应该传8位数据,这样不是少了一位吗?
USART_SendData(USART1,RX_dat);
while(USART_GetFlagstatus(USART1,USART_FLAG_TXE)==RESET){}
}
}我还有个地方不明白,它的中断是每发送或接受一个字节产生还是所有数据都传完才有的?每发送一个字节的数据产生的标志位是自动清零还是得软件清零?