我现在按照例程,初始化的时候配置CR2=0x08,CR1=0,CR3=0,BRR2=0X68,BRR1=0X02(9600波特率)。
主循环里面在设置CR2|=0X80之后就马上进发送中断,然后给DR赋值,但是再怎么赋值DR仿真器看出来也都是0,发送5个数据后清除CR2,但是用串口助手看的话一个数据也没有发出来。
//使能接收中断
USART1->CR1|=1<<8; //PE中断使能
USART1->CR1|=1<<5; //1<<5接收缓冲区非空中断使能
USART1->CR1&=~USART_FLAG_TXE;//禁止发送中断
NVIC->ISER[1] |= (1 << (USART1_IRQChannel & 0x1F)); // enable interrupt //中断开启