MM32初识(兼容STM32)

MM32初识(兼容STM32)

资源与开发环境


提要


  • stm32入门(MM32兼容)
  • 点亮LED思路简介
  • GPIO配置
  • stm32寄存器理解与操作步骤

分层抽象思想


对于数字逻辑硬件,能识别的只有二进制(0/1),我们的操作最终都会变成0/1的操作,只是我们聪明的计算机工程师在中间加入许多抽象层,使开发接见我们的自然语言,解放我们的记忆,使用编译器将转变ASCII为硬件识别的二进制代码。
下面是自己理解的stm32的基本抽象层次:

地址

对一个外设的操作,直接可以映射到外设地址的操作,这样做会使我们记忆一些苦涩的地址,更麻烦的是,书写的代码只能用与这款芯片,只要芯片的地址有任何改动,你都得仔细检查你的代码是否映射正确,没有移植性可言。
847278-20161125212806331-602009652.png

寄存器,结构体

使用C语言的结构体,将地址映射到一个有意义的名字上,然后再将其封装成结构体,这样我们对照着开发手册即可进行开发。但芯片升级了,我们只要修改最底层的地址与寄存器名字的映射文件即可进行一定的移植。然而,寄存器的可读性还是很差,每次阅读,或许你需要对照着开发手册的寄存器描述阅读,但也可以对外设的原理理解得更加清楚。
847278-20161125212822768-626977711.png
847278-20161125212837018-2083107117.png

库函数

在寄存器的基础上,将外设的一些操作封装成函数,但需要配置外设时,可以直接调用该函数即可。应用方便,可读性强。
847278-20161125212847612-39933908.png

编程学习思路(点亮LED)(使用寄存器编程)


LED点亮思路


1、先查看原理图上LED的连接情况

由原理图可以知道LED灯与GPIO的链接情况。
847278-20161125212712518-2075248229.png
847278-20161125212720518-1078715860.png

LED点亮思路:配置GPIO输出高低电平控制LED的亮灭。

2、GPIO配置

这里点亮LED需要配置PA15/PB3/PB4/PB5四个引脚的输出

打开用户手册(UM_MM32_MiniBoard_Ver1.0)的GPIO一章进行GPIO输出的配置

GPIO配置思路

  • 1、开启GPIO时钟(复位和时钟控制RCC一章)
  • 2、GPIO输出模式配置,GPIOx_CRL/GPIOx_CRH寄存器配置成推挽输出模式
  • 3、GPIO输出信号配置,GPIOx_ODR中配置输出高低电平

程序下载


使用keil编译之后下载到MM32的miniboard板上,按下复位键后即可看到LED等亮起。

847278-20161125212926737-1907565641.png

847278-20161125212934018-992842653.png

847278-20161125212940331-516734850.png

参考资料

[1]. MM32 miniboard资料

转载于:https://www.cnblogs.com/OneFri/p/6103025.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值