串口设置流程
设置GPIO口模式为复用,并复用GPIO口为串口(AFR寄存器),顺便使能串口时钟【AFR寄存器为数组AFR[1]就是AFEH,AFR[0]就是AFEL】
RCC->AHB1ENR |= 1 << 0;
GPIOA->MODER &= ~(0x3 << (2*9)); //设置复用模式
GPIOA->MODER |= 0x2 << (2*9);
GPIOA->MODER &= ~(0x3 << (2*10)); //设置复用模式
GPIOA->MODER |= 0x2 << (2*10);
GPIOA->AFR[1] &= ~(0xf << (4*1)); //复用PA9为串口1
GPIOA->AFR[1] |= 0x7 << (4*1);
GPIOA->AFR[1] &= ~(0xf << (4*2)); //复用PA10为串口1
GPIOA->AFR[1] |= 0x7 << (4*2);
RCC->APB2ENR |= 1 << 4; //使能串口
配置CR1和CR2寄存器:
USART1->CR1 &&