stm32cubemx学习记录之GPIO输出跑马灯

软件下载链接

stm32cubemx:https://pan.baidu.com/s/1ncKMjvzQGqy6NFZWENm-MQ

提取码:siec

java环境(必装,不然没办法生成代码):https://pan.baidu.com/s/17JQ06w5lO0Imzx2czrgnBQ
提取码:uyu1

  • 我给的链接是win6.2.0,算是比较新的版本,可以直接下。
  • 跑马灯实例基于固件库STM32Cube FW_F1 V1.6.1

STCdemo III:https://pan.baidu.com/s/1pjH__TVuhS32yOY9qk5hSg
提取码:du2t
复制这段内容后打开百度网盘手机App,操作更方便哦

新建项目

  • 在stm32cubemx里面新建项目,选择正确的mcu型号,这里我们选择STM32F103RETx
  • 设置RCC和SYS

RCC:arm里面复位与时钟控制器的缩写

  • 系统复位:复位除了时钟控制寄存器CSR中的复位标志和备份区域中的寄存器以外的所有寄存器

    • 以下事情的一件发生产生一个系统复位

      • NRST管脚的低电平(外部复位)
      • 窗口看门狗计数终止(WWDG复位)
      • 独立看门狗计数终止(IWDG复位)
      • 软件复位(SW复位)
      • 低功耗管理复位

      可通过查看RCC_CSR控制状态寄存器中的复位标志位识别复位事件来源

  • 电源复位:将复位除了备份区域外的所有寄存器

    • 以下事情的一件发生产生一个电源复位

      • 上电/掉电复位(POR/PDR复位)
      • 从待机模式中返回

      复位源将最终作用于RESET管脚,并在复位中保持低电平。复位入口矢量被固定在地址0x0000_0004

  • 时钟

    • 三种不同的时钟源可被用来驱动系统时钟(SYSCLK)

      • HSL振荡器时钟
      • HSE振荡器时钟
      • PLL时钟

SYS:中断

设置如下图

  • 根据板子实际情况设置时钟(stm32F103x的最高主频是72M)
  • GPIO设置PC7,PC8,PA12和PC10为GPIO_OUTPUT

直接点击板子上的接口就可以设置,配置如下

  • Project-setting,ToolChain/IDE选择MDK-ARM,注意项目名称不能有空格,最好不要有中文


注意那个min version看看自己keil里面的版本,具体操作如下:

打开help里面的about

上面那个号就是我们的版本号,如图我的是5.14,所以取最小勾选5
切换到Project Manager

勾选如下

运行

一切都配置好之后,点右上角的generate code(生成代码)那么我们就可以得到我们想要的代码块,会自己调用,再修改接口完成我们所需操作。

我们可以直接在keil5里面打开(依赖于之前选的MDK-ARM)。如下图