STM32F407串口调试总结

本文介绍了STM32F407ZGT6微控制器中UART5和USART6两个串口的调试过程,包括硬件连接、时钟配置、GPIO模式设置及引脚复用等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、背景

最近项目开发需要用到3路串口,分别为U1U5U6,其中U1原子哥的例程已经提供,拿过来就可用,本文主要讲解U5U6串口调试。

二、正文

1、硬件描述

三个串口分别对应的发送引脚和接收引脚如下表所示:

串口号

接收引脚

发送引脚

USART1

PA9

PA10

UART5

PC12

PD2

USART6

PG14

PG9

2、串口介绍

USART为通用同步异步接收器,能够灵活地与外部设备进行全双工数据交换,满足外部设备对工业标准NRZ异步穿行数据格式的要求。

STM32F407ZGT6最多可以提供6路串口。虽然有6路通信,但是只要理解其中1路串口是如何设置的,其他的串口基本都是大同小异,串口设置的一般流程如下:

 

其中需要注意以下点:

1)、使能串口时钟时,要注意该串口时挂在那一个APB下面

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART6,ENABLE);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_UART5,ENABLE);

其中串口5和串口6时钟所挂在的APB不一样。

 

2)GPIO口模式设置时不能配置为输入或者输出模式,只能配置为复用功能GPIO_MODE_AF

 

3)、引脚复用器映射发送和接收引脚要分开写,不能用|”符号写成一条语句。

GPIO_PinAFConfig(BT1_TX_PORT,BT1_TX_PINSOURCE|BT1_RX_PINSOURCE,GPIO_AF_UART5);   // 错误书写

 

GPIO_PinAFConfig(BT1_TX_PORT,BT1_TX_PINSOURCE,GPIO_AF_UART5);  // BT1_TX

GPIO_PinAFConfig(BT1_RX_PORT,BT1_RX_PINSOURCE,GPIO_AF_UART5);  // BT1_RX

参考资料:http://blog.163.com/y_chengwan@126/blog/static/166026328201232675952136/

 

转载于:https://www.cnblogs.com/zengxy/p/7217084.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值