MM32初识(兼容STM32)
MM32初识(兼容STM32)
资源与开发环境
- keil 5.0
- MM32 miniboard
提要
- stm32入门(MM32兼容)
- 点亮LED思路简介
- GPIO配置
- stm32寄存器理解与操作步骤
分层抽象思想
对于数字逻辑硬件,能识别的只有二进制(0/1),我们的操作最终都会变成0/1的操作,只是我们聪明的计算机工程师在中间加入许多抽象层,使开发接见我们的自然语言,解放我们的记忆,使用编译器将转变ASCII为硬件识别的二进制代码。
下面是自己理解的stm32的基本抽象层次:
地址
对一个外设的操作,直接可以映射到外设地址的操作,这样做会使我们记忆一些苦涩的地址,更麻烦的是,书写的代码只能用与这款芯片,只要芯片的地址有任何改动,你都得仔细检查你的代码是否映射正确,没有移植性可言。
寄存器,结构体
使用C语言的结构体,将地址映射到一个有意义的名字上,然后再将其封装成结构体,这样我们对照着开发手册即可进行开发。但芯片升级了,我们只要修改最底层的地址与寄存器名字的映射文件即可进行一定的移植。然而,寄存器的可读性还是很差,每次阅读,或许你需要对照着开发手册的寄存器描述阅读,但也可以对外设的原理理解得更加清楚。
库函数
在寄存器的基础上,将外设的一些操作封装成函数,但需要配置外设时,可以直接调用该函数即可。应用方便,可读性强。
编程学习思路(点亮LED)(使用寄存器编程)
LED点亮思路
1、先查看原理图上LED的连接情况
由原理图可以知道LED灯与GPIO的链接情况。
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等亮起。



参考资料
[1]. MM32 miniboard资料
MM32初识(兼容STM32)的更多相关文章
- MM32 备份域学习(兼容STM32)
MM32 备份域学习(兼容STM32) 内容提要 备份域工作原理 备份域特性 备份域的保护:侵入检测 备份域侵入检测 备份域电源与主要内容 备份域特性 20字节数据后备寄存器(中容量和小容量产品),或 ...
- MM32看门狗学习(兼容STM32)
MM32看门狗学习(兼容STM32) IWDG独立看门狗 思维导图 IWDG框图与理解 1.独立看门狗分为两个部分,配置寄存器在1.8V供电区,计数器的核心部分在VDD供电区(即使停机/待机模式计数器 ...
- MM32Flash读写操作(兼容STM32)
MM32Flash读写操作(兼容STM32) Flash基础描述 思维导图 编程实现读写操作 主函数结构 #include "delay.h" #include "sys ...
- MM32 RTC学习(兼容STM32)
RTC学习 RTC简述 实时时钟是一个独立的定时器. RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能. 修改计数器的值可以重新设置系统当前的时间和日期. RTC模块和时钟配 ...
- 单片机modebus RTU通信实现,採用C语言,可适用于单片机,VC,安卓等
当前使用的是STM32+ucos_ii编写的,能够移植到安卓以及VC .NET等方便移植使用,採用modebus poll測试过. 仅仅须要改动响应的通信接口就可以,方便多串口使用 //modebus ...
- 单片机modebus RTU通信实现,采用C语言,可适用于单片机,VC,安卓等(转)
源:单片机modebus RTU通信实现,采用C语言,可适用于单片机,VC,安卓等 //modebus_rtu.c /***************************************** ...
- GD32芯片移植完全攻略
GD32是国产兆易创新公司生产的完全兼容STM32系列的Cortex-M3处理器,具有几大亮点:1,高主频108MHz.性能提升30%以上,可超频到120MHz2,Flash零等待.STM32的72M ...
- 第4章 初识STM32
第4章 初识STM32 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ...
- 第4章 初识STM32—零死角玩转STM32-F429系列
第4章 初识STM32 集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资 ...
随机推荐
- Xshell下漂亮的开发环境配置
今天折腾了一天Xshell配置Linux命令行开发环境. 总结几点: 1.Xshell配色方案,这是我自己调的个人使用版,网上比较好的版本有Solarized Dark,可以下载到. [ColorFo ...
- jQuery中的综合动画
所谓综合动画,就是在链式表达式依次执行相关animate函数,其中的参数是以键值对的方式存在的. 如下示例,就展示了一个基本的综合动画. <!DOCTYPE html PUBLIC " ...
- C# 中使用 OpenSSL 的公钥/私钥进行加密和解密
在C#中进行RSA解密,需要用RSACryptoServiceProvider,但是不支持OpenSSL格式的公钥或者私钥. X509 公钥 -----BEGIN PUBLIC KEY----- MI ...
- [jQuery] $.grep使用
1.$.grep的功能是查找过滤功能的数组,原数组不受影响. 2.参数定义 jQuery.grep( array, function(elementOfArray, indexInArray), [ ...
- php回调函数callback函数实例
<?php // 将文本中的年份增加一年. $text = "April fools day is 04/01/2002\n"; $text.= "Last chr ...
- C# web访问mysql数据库-整理归纳总结
基本对比 使用方式 使用场合 优缺点 是否需要安装 需要的dll网址 引用方式 程序内引用 程序初期确定使用MySql,前期添加引用 大多数情况下使用在类文件内,多数使用于aspx,ashx等带有后置 ...
- POJ2299 Ultra-QuickSort(归并排序求逆序数)
归并排序求逆序数 Time Limit:7000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Descri ...
- SQL数据库增删改查
数据类型 运行cmd 输入net start MSSQLserver 启动数据库服务 输入net stop MSSQLserver 关闭数据库服务 输入net pause MSSQLserve ...
- 用Javascript的for循环输出质数
<body> <script type="text/javascript"> for(i=2;i<=300;i++){ var prime = tru ...
- Lua:简单入门
首先,感谢 runoob.com:http://www.runoob.com/lua/lua-tutorial.html 直接用 SciTE 进行文本编辑,F5调试,非常方便. 注意点: 1. 变量的 ...





