• STM32F407串口调试总结


    一、背景

    最近项目开发需要用到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/

  • 相关阅读:
    读取美团购
    获取enum的Description
    获取手机号码所在地
    手动添加XA/XD的端口和磁盘映射
    无法使用SQL Server Management Studio的找到Network Server
    [XenDesktop5.5]+HyperV上的Win7+VDA无法启用Aero效果
    傻瓜式设置WANem配置 (点对点网络设置)
    [XD5.5]如何关闭XD的Audio UDP通道
    使用TCP方式登陆OCS
    在Linux上建立文件夹指向在Win共享的文件夹
  • 原文地址:https://www.cnblogs.com/zengxy/p/7217084.html
Copyright © 2020-2023  润新知