STM32基础-串口通信(STM32F4ZET6)

本文详细介绍了STM32的串口通信基础知识,包括串口的定义、帧格式、库函数的使用,特别是奇偶校验和中断处理。通过代码示例展示了如何初始化串口、发送与接收数据,并对关键函数USART_GetFlagStatus和USART_GetITStatus进行了解析。
摘要由CSDN通过智能技术生成

一.串口概述

1.定义

串口通信是一种设备间非常常用的串行接口,以比特位的形式发送或接收数据,电子工程师经常使用这种方式来调试数据。

2.帧格式

2)奇偶校验 

二.库函数 

很多模块默认出厂的硬件参数配置如下:

配置串口,遵循“9600,N,8,1”。

波特率:9600bps

无校验位:N

数据位:8

停止位:1

对于ARM的高速芯片,波特率默认上浮到115200bps。

1.代码初始化思路:

a.硬件时钟

端口A硬件时钟使能

串口1硬件时钟使能

b.硬件配置

引脚配置为复用功能模式

引脚连接到串口1硬件

配置串口相关参数:波特率、校验位、数据位、停止位

配置串口中断

编写中断服务函数

c.硬件控制

串口1发送数据

串口1读取数据

注:

若出现乱码,波特率是否一致。

三.代码示例

1.初始化串口(TX:PA9    RX:PA10为例子)

static USART_InitTypeDef USART_InitStructure;
static NVIC_InitTypeDef NVIC_InitStructure;
static GPIO_InitTypeDef GPIO_InitStructure;


// 初始化串口(TX:PA9	RX:PA10)
void USART1_Init(uint32_t baudrate)
{
	/* 1.打开GPIO时钟 */
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
	/* 打开串口1时钟 */
	RCC_APB2PeriphClockCmd(RCC_APB2Perip
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值