你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F407极简串口设置

[复制链接]
STMCU小助手 发布时间:2023-2-26 17:26
只需要把STM32F407串口1对应的PA9和PA10的GPIO_Mode 设置为 GPIO_Mode_AF,然后,把PA9、PA10连接到USART1,最后设置一下USART1就可以了。代码如下:
" b) R6 p0 V* t) ^  C" Y9 x5 d' O; R# t! J3 P6 G

. D9 }0 b; A5 J- U2 Q//USART1 配置: 115200 8-N-1/ W2 L0 W/ G2 z3 Q7 ?7 i

( ~3 P# F  P6 h. f/ N5 s1 V
4 ~* K  \/ @, y
void USARTx_Config(void)' }6 B3 f* I0 c- o) f
{8 _, D) G- g- q0 ]
  GPIO_InitTypeDef GPIO_InitStructure;
% e, x: }7 Q5 g  USART_InitTypeDef USART_InitStructure;
0 A0 U% l. I1 p6 t! g* [        
" L2 C8 ^( U8 I  /* 使能 GPIOA 时钟 */8 a+ O( p  [& R  h+ ]
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
" A6 G7 l! k$ X  /* 使能 USART 时钟 */6 b: I3 z9 C; r! {+ k, [; S
  USARTx_CLOCKCMD(RCC_APB2Periph_USART1, ENABLE);
+ y0 s3 x8 A% Q8 @3 R  % A0 ~4 V, Z4 w1 M* L$ x6 f3 m
  /* 配置Tx,Rx引脚为复用功能 */( _, W2 f  _3 J9 V0 v
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;* D; w& x$ o0 V8 j8 D% L6 B
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_9 | GPIO_Pin_10;' D" Z% J0 B/ D  Z2 m4 n
  GPIO_Init(GPIOA, &GPIO_InitStructure);
! H/ V. _6 v2 C3 v9 q  7 W; `* w8 O/ t! D2 T
  /* 连接 PA9 到 USART1_Tx*/
! C. h) U- M. s+ S" l2 \  GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1);
5 J0 v$ d# u8 J0 P' ?. _  /*  连接 PA10 到 USART1_Rx*/
, p( e! u- ]. G$ m  GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1);
0 h7 N: R) }( ]6 {' L    E8 J" T/ d5 }7 m" n! c
  /* 波特率设置:USART_BAUDRATE */
) Q# R* ]9 x' J; Z, ^  USART_InitStructure.USART_BaudRate = 115200;3 P% ~# w. n1 B' h$ h# g: `8 O; Y
  /* 字长(数据位+校验位):8 */
0 k" Q$ o, k4 i2 m  USART_InitStructure.USART_WordLength = USART_WordLength_8b;    / J& w% ~7 q8 Y/ l) r+ N
  /* 停止位:1个停止位 */2 M6 m% R1 Y: |5 ^- f
  USART_InitStructure.USART_StopBits = USART_StopBits_1;' q2 n/ {# w6 R/ P
  /* 校验位选择:无校验 */  
3 ~: W: s( g* B" n# q, _9 W! t    USART_InitStructure.USART_Parity = USART_Parity_No;
8 b2 [) R8 p; E  /* 硬件流控制:不使用硬件流 */5 v5 Q( L9 g: h- K# o$ o# C
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;6 D* [) z/ `" K2 V! z7 F' o- U
  /* USART模式控制:同时使能接收和发送 */
1 H3 E' \$ ?( B0 h2 h) m  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
6 \# I( x2 O9 L4 ?6 C8 _  /* 完成USART初始化配置 */
3 p0 u# q" D* @  USART_Init(USART1, &USART_InitStructure);
) n4 Y  U9 y) ^9 R   
: l' D' n. e( @" T  /* 使能串口 */
0 {( S4 O: d$ R, p- Y/ f! ^) e# {  USART_Cmd(USART1, ENABLE);
5 B: G8 I: o0 Q, ]6 B1 G}
; ~: f: v8 B6 Z8 {$ d————————————————' ^! }4 m/ l& ]3 V. M- B
版权声明:eewj
- u: f3 Z+ V5 T" ^# n. g8 K- M2 L8 [# w9 l
赞 收藏 评论0 发布时间:2023-2-26 17:26

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版