初学STM32——笔记

STM32寄存器编程的开发思路(以GPIO端口点亮LED灯为例)

一、利用keil软件搭建工程

(PP:推挽模式、OD:开漏模式、PU:上拉模式、PD:下拉模式)

  • 建立工程,新建工程目录并保存
  • 设置STM32开发环境
  • 利用参考手册以及原理图进行寄存器编程,编写程序代码
  • 注:在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟。
  • 搭建好工程项目之后,利用STM32烧录程序ST-Link进行烧录将代码烧录(debug)进单片机中。
  • 注:需要在cubemx软件以及keil软件中设置好烧录程序ST-Link的设置
  • 二、软件开发的步骤

  • 以使用GPIOB 0端口实现LED灯亮色为例
  • 注:所有的基地址与偏移都是在参考手册上查阅的
  • 更改代码,令LED灯改变颜色
  • 三、关于GPIO软件开发的详细步骤——基于寄存器编程

  • 查阅开发板的参考手册;
  • 找到GPIO外设是挂载在哪一条总线上(在储存器映射章节中查找);
  • 接着在RCC寄存器章节找到②总线的外设时钟使能寄存器;
  • 通过查阅通用端口(GPIO)章节配置所需要的工作模式以及相对应模式下的配置方法;
  • 在第④点确认好所需要的工作模式之后,再通过查阅GPIO寄存器——端口位配置表这一节查找在这一工作模式下需要配置哪些内容;
  • 按照顺序逐步配置跟编写端口相关程序代码。
  • 四、不同开发板子GPIO软件开发的区别——基于寄存器编程

  • 在 F1系列上,GPIO 外设的一些属性如: 输入输出的模式、IO翻转速度以及推挽开漏功能是通过端口配置寄存器配置。
  • 在F4-H7 系列上,就有单独的各种寄存器来配置。
  • 五、补充

  • 寄存器编程较为繁琐,C语言指针的方式是直接利用指针进行内容位进行操作的,因此代码的可读性不强且需要大量备注以及二次开发难度较大,可采用库编程的软件开发思路进行编程,再结合寄存器编程对代码进行优化!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张鱼小丸子_微辣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值