通过CubeMX配置,编写IO接收信号串口发送数据的功能-配置部分

第一节:CubeMX配置串口、IO输入、看门狗外设

使用设备及工具

软件:

  • CubeMx
  • Keil5
  • 串口收发工具 XCOM
  • 串口驱动 CH340

硬件:

  • 以STM32F103C8T6最小系统板为例
  • ST-Link

CubeMX配置底层驱动

查看CubeMX固件信息

查看是否有STM32F1系列的固件包
针对首次使用的伙伴,查看自己是否已经下载对应MCU的固件包。

新建CubeMx工程

新建CubeMx工程

选择芯片型号,我这用的是STM32F103C8T6所以选择上图型号,如果使用其它型号注意自己手上芯片的封装等信息。

选择芯片型号

RCC(Reset and Clock Control)模块使能

时钟源配置

调试口配置

Debug 设置
SYS选项栏中设置Debug为Serial Wire,使PA13 PA14作为下载调试功能,可防止未设置该功能而复用成其它功能导致下载程序异常。

GPIO口输出配置

  • 普通IO输入
    1. 选择需要配置的GPIO口,配置为普通输入模式。
      选择需要配置的GPIO口
    2. 对输出模式IO口进行配置
      选择上拉
      由于我的电路是外部本身有一个上拉电阻,悬空处理效果一致。
      注:MCU内部上拉电阻查看参考手册典型值为40K如下图,通常我们不关注次项内容
      IO口特性
  • 中断模式输入
    1.如需要处理紧急事件,可将IO输入改为IO中断,配置方法和前两步类似,更具项目情况来定是否采用中断模式。
    中断模式
    2. 开启中断开启(使能)中断

UART(Universal Asynchronous Receiver/Transmitter)通用异步收发器配置

  • 配置串口模式为异步收发,可根据项目需要配置波特率和校验方式。
    串口配置
  • 开启串口中断,如需减少CPU的资源消耗,可打开DMA模式,此文不做介绍
    开启串口中断
  • 配置各个中断的的抢占优先级和子优先级(由于当前项目没有明显的优先级要求,保持默认)
    中断优先级

打开硬件看门狗

  • Prescaler = 4, Reload register(RL) = 4095(0xFFF)。打开硬件看门狗
  • Independent watchdog block diagram 独立看门狗框图。Independent watchdog block diagram
  • 由于分频为4,RL设置为4095(0xFFF),IWDG时钟 = 40KHz根据下列表格得出看门狗超时时间为409.6ms。
    Min/max IWDG timeout period

时钟树配置

  • 前面我们在RCC模块配置中开启了低速内部时钟高速外部时钟
  • 低速内部时钟通常是指LSI(Low-Speed Internal)时钟源,它可以用于低功耗时钟(LPTIM、LPUART等)以及独立看门狗(IWDG)和实时时钟(RTC)模块。需要注意的是,RTC模块在使用LSI时钟时,需要先开启RTC外设时钟,并配置RTC预分频器和后分频器,以及RTC时钟源。
  • 高速外部时钟一般是指HSE(High-Speed External)时钟源,可以通过外部晶振提供,然后通过PLL(Phase-Locked Loop,锁相环)进行倍频得到系统时钟。系统时钟可以进一步分频得到各个总线的时钟,包括AHB总线和APB总线。
    时钟树

配置代码生成文件,将.c .h分离开

在这里插入图片描述

配置项目名称和生成路劲

在这里插入图片描述
点击右上角generate code即可生成配置代码。

生成代码各文件夹内容

在这里插入图片描述

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值