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

STM32F407极简串口设置

[复制链接]
STMCU小助手 发布时间:2023-1-17 21:00
只需要把STM32F407串口1对应的PA9和PA10的GPIO_Mode 设置为 GPIO_Mode_AF,然后,把PA9、PA10连接到USART1,最后设置一下USART1就可以了。代码如下:1 Z' B$ g4 S/ v* d: Q

$ J2 e' ~+ u; c, N2 F, R
  1. //USART1 配置: 115200 8-N-1
    $ B# i4 g" H" w; u. s1 T3 C1 i
  2. ( h8 \- F% R6 e
  3. void USARTx_Config(void)
    : I* y( p1 [8 U; a; i1 D( g
  4. {
      l0 x9 p7 w6 \, k$ q
  5.   GPIO_InitTypeDef GPIO_InitStructure;
    * ]7 t, B& x" O; ^) [4 \- R2 p
  6.   USART_InitTypeDef USART_InitStructure;7 _  K  q- R. c/ n% T
  7.         / q1 p4 |% v  ]9 _2 V* K
  8.   /* 使能 GPIOA 时钟 */
    5 t; H$ |6 t1 L/ ~$ K6 ]
  9.   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
    . v& D4 m1 Z# N4 b
  10.   /* 使能 USART 时钟 */
    9 {- }( Y* i& c
  11.   USARTx_CLOCKCMD(RCC_APB2Periph_USART1, ENABLE);
    - U" X( H  C& i* A, N
  12.   
    1 V; C- F: e! s4 ^0 A: a7 w
  13.   /* 配置Tx,Rx引脚为复用功能 */8 L" O: U, @5 F5 q
  14.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;2 ?$ e, C. y; y2 w8 n/ l
  15.   GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_9 | GPIO_Pin_10;
    & }) z5 w$ C8 u) N# ]# l5 F
  16.   GPIO_Init(GPIOA, &GPIO_InitStructure);
    3 Y- M6 D7 {* v7 T5 {( {
  17.   
    , R# ~# J" [# ^6 N" N$ O% w( e
  18.   /* 连接 PA9 到 USART1_Tx*/
    * ?: M1 Z3 b  D2 y5 a, \! j
  19.   GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1);( W# l& c! ~& V$ a. i- k0 c- X' c
  20.   /*  连接 PA10 到 USART1_Rx*/: c- |  P' i+ ?1 S
  21.   GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1);( \+ h/ s) _  m7 v! C2 b6 S) B6 n- d
  22.   
    / Q5 v4 y$ }6 {5 ?+ t
  23.   /* 波特率设置:USART_BAUDRATE */
    / e; ?1 n* F' J9 Z" [: ~
  24.   USART_InitStructure.USART_BaudRate = 115200;
    % ]3 r. c( H- E1 N
  25.   /* 字长(数据位+校验位):8 */
    0 {5 ~- j, {9 \/ H9 G
  26.   USART_InitStructure.USART_WordLength = USART_WordLength_8b;    9 N9 l+ Q, m: d( L! S' W4 t% e
  27.   /* 停止位:1个停止位 */: x4 o8 n- @* Q( z, E' u- O
  28.   USART_InitStructure.USART_StopBits = USART_StopBits_1;7 n; g7 ]- ~/ R7 t5 X3 M" t
  29.   /* 校验位选择:无校验 */  
    7 B( ~0 N6 F/ s- e8 M, j% T
  30.     USART_InitStructure.USART_Parity = USART_Parity_No;
    2 r/ z# \+ g# G$ f0 w" U, Q+ {
  31.   /* 硬件流控制:不使用硬件流 */, q1 h# Y& q+ B* G4 a
  32.   USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    * s$ S" q; a) K
  33.   /* USART模式控制:同时使能接收和发送 */
    4 M+ f0 S" t: W( v! q/ [4 {
  34.   USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
    1 o8 d* z+ T+ a) ^
  35.   /* 完成USART初始化配置 */
    , V2 j7 y! Z6 D; b: i& D4 a
  36.   USART_Init(USART1, &USART_InitStructure);
    ; W8 N) g5 u) m* r4 M
  37.    
    $ n5 \' B6 ]" p: g
  38.   /* 使能串口 */
    % }$ v& `$ E6 r0 @& L2 @" b7 A
  39.   USART_Cmd(USART1, ENABLE);8 U& `- Y, w  ^7 o( Q1 U" _2 x
  40. }7 R% C1 i( E, O: X- T  u5 [

  41. $ }2 S: Y/ h3 E) i) [: S6 k
复制代码

5 P' `8 ~2 A2 B# ~+ s/ I" E/ {————————————————" K& X3 v9 x5 b. P8 y+ l4 [
版权声明:eewj
  f% {+ N# t" L
7 f! m1 t/ B4 S# n4 L3 z
收藏 评论0 发布时间:2023-1-17 21:00

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版