uartt.c
#include "uartt.h"
char buf[51];
//初始化串口数据
void uart4_init()
{
//1.UART4和GPIOB、GPIOG的时钟使能
RCC->MP_AHB4ENSETR |= (0x1 << 2); //GPIOB时钟
RCC->MP_AHB4ENSETR |= (0x1 << 6); //GPIOG时钟
RCC->MP_APB1ENSETR |= (0x1 << 16); //UART4时钟
RCC->MP_APB1ENSETR |= (0x3 << 4);
//设置PB2和PG11的管脚复用
GPIOB->MODER &= (~(0x3 << 4));
GPIOB->MODER |= (0x2 << 4); //设置复用
GPIOB->AFRL &= (~(0xF << 8));
GPIOB->AFRL |= (0x8 << 8); //设置uart4功能复用
GPIOG->MODER &= (~(0x3 << 22));
GPIOG->MODER |= (0x2 << 22); //设置复用
GPIOG->AFRH &= (~(0xF << 12));
GPIOG->AFRH |= (0x6 << 12); //设置uart4功能复用
//3.先去设置串口禁用,方便设置数据格式
USART4->CR1 &= (~0x1);
//4.设置8位数据位
USART4->CR1 &= (~(0x1 << 28));
USART4->CR1 &= (~(0x1 << 12));
//5.设置没