MM32初识(兼容STM32)

摘要:
然而,该芯片已经升级。我们可以通过在底层修改地址和寄存器名的映射文件来在一定程度上迁移它。库函数将外围设备的一些操作封装为基于寄存器的函数,但在需要配置外围设备时可以直接调用此函数。它易于使用和阅读。编程和学习想法LED点亮想法1.首先检查原理图上LED的连接。从原理图中,您可以知道LED和GPIO的连接。LED照明理念:配置GPIO输出高电平和低电平以控制LED照明。
MM32初识(兼容STM32)

资源与开发环境


提要


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

分层抽象思想


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

地址

对一个外设的操作,直接可以映射到外设地址的操作,这样做会使我们记忆一些苦涩的地址,更麻烦的是,书写的代码只能用与这款芯片,只要芯片的地址有任何改动,你都得仔细检查你的代码是否映射正确,没有移植性可言。
MM32初识(兼容STM32)第1张

寄存器,结构体

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

库函数

在寄存器的基础上,将外设的一些操作封装成函数,但需要配置外设时,可以直接调用该函数即可。应用方便,可读性强。
MM32初识(兼容STM32)第4张

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


LED点亮思路


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

由原理图可以知道LED灯与GPIO的链接情况。
MM32初识(兼容STM32)第5张
MM32初识(兼容STM32)第6张

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等亮起。

MM32初识(兼容STM32)第7张

MM32初识(兼容STM32)第8张

MM32初识(兼容STM32)第9张

参考资料

[1]. MM32 miniboard资料

免责声明:文章转载自《MM32初识(兼容STM32)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用ado访问excel中的数据The multi-part request contained parameter data (excluding uploaded files) that exceeded下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

FSR薄膜压力传感器使用教程

FSR薄膜压力传感器教程 本店常用的外形有2种: 圆形: 长条形: 如果用单片机控制建议买带转换的,可以直接接单片机AD口或者数字IO去读取数值; 电压输出的AO接口是模拟量输出,可以接单片机的模拟口AD接口读取数据变化; 而DO输出可以直接接单片机的DO口,判断高低电平, 当压力超过电位器调节的比较值时候DO输出高电平,板载指示灯LED点亮; 低于比...

【安富莱STM32H7教程】第1章 初学STM32H7的准备工作

完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第1章   初学STM32H7的准备工作 俗话说万事开头难,学习一门新的知识,难的往往不是知识本身,而是如何快速上手,需要什么资料和开发环境。一旦上手后,深入的学习就相对容易些了。 1.1 初学者重要提示 1.2 开发环...

STM32——timer

原文地址: http://blog.sina.com.cn/s/blog_49cb42490100s6ud.html   1.     STM32的Timer简介 STM32中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。其中系统嘀嗒定时器是前文中所描述的SysTick,看门狗定时器以...

ESP8266-12F

读者可以把ESP8266当做Arduino+WiFi功能来开发   ESP8266模块支持STA/AP/STA+AP 三种工作模式: STA 模式:ESP8266模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制 AP模式:ESP8266模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制 ESP8266-12F引脚图:  分...

(stm32f103学习总结)—ADC模数转换实验

一、STM32F1 ADC介绍  TM32F103 系列一般都有 3 个 ADC,这些 ADC 可以独立使用,也可 以使用双重(提高采样率)。STM32F1 的 ADC 是 12 位逐次 逼近型的模拟数字转换器。它具有多达 18个复用通道,可测量来自16 个外部源、2 个内部源信号。 这些通道的 A/D 转换可 以单次、连续、扫描或间断模式执行。ADC 的...

STM32中assert_param的使用

在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。如果打开任何一个例程中的stm32f10x_conf.h文件,就可以看到实际上assert_param是一个宏定义;在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。所谓有效的参数是指满足规定范围的参数,比如某个参数的取值范围只能是小于3的正整数,如果给出的参...