4.串口通信

 USART波特率为9600,采用8倍过采样 USART6 fck频率:84Mhz;

USARTDIV = 1093.75

DIV_M = (u32)USARTDIV

DIV_F = (USARTDIV - DIV_M) * 8 + 0.5

USART6->BRR |= (DIV_M << 4) |= DIV_F

    float USARTDIV;
	u32 DIV_M,DIV_F;
	
	RCC->AHB1ENR |= 1;//端口A使能
	RCC->APB2ENR |= (1<<4);//usart1时钟使能
	
	GPIOA->MODER &= ~(0xf<<18);//PA9,PA10模式清零
	GPIOA->MODER |= (0xa<<18);//PA9,PA10模式为复用
	//AFP复位功能高位寄存器
	GPIOA->AFR[1] |= 7<<8;//USART1_RX 复用到PA10
	GPIOA->AFR[1] |= 7<<4;//USART1_RX 复用到PA9
	//配置usart1
	USARTDIV = 84000000 / 16 / bps;//波特率配置
	DIV_M = (u32)USARTDIV;//整数部分公式
	DIV_F = (USARTDIV - DIV_M) * 16 + 0.5f;//小数部分公式
	USART1->BRR |= DIV_M<<4 | DIV_F;//写入波特率寄存器
	
	
	USART1->CR1 &= ~(1<<15);//过采样为16倍,OVER8 = 0;
	USART1->CR1 &= ~(1<<12);//字长:1 起始位,8 数据位,n 停止位
	
	USART1->CR1 |= (1<<3);//使能发送器
	USART1->CR1 |= (1<<2);//使能接收器
	
	USART1->CR2 &= ~(3<<12);//停止位为1bit
	
	USART1->CR1 |= 1<<13;//串口1使能

串口四要素:波特率,停止位,数据位,校验位

波特率:控制两个器件之间的数据传输速率,波特率越大数据传输速率就快      MCU -à PC通信   波特率设置为9600/115200256000(也是可以的,不建议用)

停止位:代表一帧数据传输的结束    选择1bit

数据位:决定数据传输长度     8bit= 1byte

校验位:奇偶校验     不使用

Odd:奇校验

Even:  偶校验

串口初始化

  1. 硬件分析,先对原理图进行分析可以复用的IO口,确认IO口

  2. 复用的IO初始化为复用模式

  3. //AFP复位功能高位寄存器 不用担心发送和接受端,硬件自动调整

    GPIOA->AFR[1] |= 7<<8;//USART1_RX 复用到PA10

    GPIOA->AFR[1] |= 7<<4;//USART1_RX 复用到PA9

  1. 配置串口

  2. USART_BRR波特率寄存器

  3. USART_CR1对着配,使能以及过采样的倍数,最后串口使能

  4. USART_CR2设置停止位

USART_SR为状态寄存器,判断是否发送和接收数据

USART_DR为数据寄存器,包括数据接收和发送两个寄存器,是数据所在地

相关推荐

  1. 串口通讯串行接口通讯

    2024-04-28 07:50:03       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-28 07:50:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-28 07:50:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-28 07:50:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-28 07:50:03       18 阅读

热门阅读

  1. 洗鞋店上门预约小程序

    2024-04-28 07:50:03       10 阅读
  2. 深度解析 Spring 源码:揭秘BeanFactory之谜

    2024-04-28 07:50:03       11 阅读
  3. python绘制热点图

    2024-04-28 07:50:03       11 阅读
  4. 【Vue3】watch监听使用【超详细】

    2024-04-28 07:50:03       9 阅读
  5. Grafana – unable to login “User already exists”

    2024-04-28 07:50:03       11 阅读
  6. FFMpeg - macOS build 报错 : xcrun -sdk iphoneos clang ...

    2024-04-28 07:50:03       13 阅读