stm32入门(从51过渡到32)
单片机对于我来说,就是一个超级大机器,上面有一排一排数不尽的开关,我需要做的,就是根据我的设计,拿着一张超级大的表(Datasheet),把需要的开关(reg)都开关(config)到对应功能的位置(硬件配置初始化),然后运行你设计的程序流程(while(1)后面的),这机器应该先做什么在做什么,应该一边做什么但是过一会儿查一个什么,什么发生了应该停下来做什么,什么来了应该回复什么,这样这样
比如你需要使用一个io口,需要打开时钟,配置方向,控制上下拉,甚至拓展附加功能
首先说说它的时钟,51没有时钟控制这一说是因为51比32简单,32内部结构很复杂,如果那个高频的时钟信号比如72M的那个,在所有内部线路上跑,那么芯片就会很费电,如果学过场效应管的原理你就会知道,数字电路让晶体管工作在两个状态中,饱和和截止,为什么呢,数字电路在1的时候有电压没电流,数字电路在0的时候有电流没电压,P=UI可知,两者只有其一(严格来说另一个很小),则功率很小,在中间切换的时候,处于放大区,比较耗电,所以,时钟是对功耗最好的控制,因此,默认状态下,大部分电路的时钟都是关闭的,当你要启用哪个模块,你就必须把他的时钟打开,消耗能源,启动功能。
第二个是属性类,比如单片机是i口还是o口,要不要上下拉,因为32的设计应用场景比较复杂,所以多样化的可选配置可以让32应付各种各样的设计。常用的有推挽(大拉力输出),开漏(小电流再加上拉电阻驱动大电流),上下拉等。还有速度控制,可选高速中速低速。
第三个是附加功能类,比如io口可以用做pwm输出,Adda输入输出,i2c,usart,等,根据不同的功能会有对应的功能设置,这个具体要看数据手册对相应寄存器的设定,初学建议用c语言配合库函数开发加深理解,一开始不要求自己能写,你去看别人写的初始化配置函数,能看懂就行。
说完了寄存器配置,说说中断,32的中断写法跟51的不一样,但是思路是一样的,保护现场,记录断点,跳转中断服务,清除标识,回到断电,恢复现场,32的中断比51多很多,也可以嵌套
说到底,32,51,430都只是单片机,只要知道他们的寄存器在那里,如何根据自己的功能修改寄存器的值,剩下的功能逻辑实现,就跟单片机无关了,对于你的显示屏来说,它并不知道你的mcu是什么,只是它发现出来的信号都一样,所以用51可以显示一朵花,同样的程序用32显示也不会变成一棵树,本质一样的
stm32入门(从51过渡到32)的更多相关文章
- stm32入门学习路线个人见解
可以说就目前的市场需求来看,stm32在单片机领域已经拥有了绝对的地位,51什么的已经过时了也只能拿来打基础了,最后依然会转到stm32来,也正是因为这样stm32的学习者越来越多,其中不难发现绝大部 ...
- STM32 入门之 GPIO
入手STM32有一段时间了,感觉刚入门时很难,无处下手,现在学到了点皮毛,写出来和大家分享一下. 首先,什么叫GPIO?这个问题,答案是我也不知道!至少目前我没有必要知道,我只要知道他其实就是51单片 ...
- 最简单的STM32入门教程----闪烁LED
本文讲述的是如何从零开始,使用keil建立一个简单的STM32的工程,并闪烁LED灯,给小白看. 第零步,当然首先你得有一个STM32的板子,其IO口上接了一个LED... 第一步,建立一个文件夹0. ...
- STM32单片机和51单片机区别
单片机 / AVR / PIC / STM32 / 8051803189C5189S51 6905 单片机简介 单片微型计算机简称单片机,简单来说就是集CPU(运算.控制).RAM(数据存储-内存). ...
- STM32入门系列-STM32时钟系统,STM32时钟树
时钟对于单片机来说是非常重要的,它为单片机工作提供一个稳定的机器周期从而使系统能够正常运行.时钟系统犹如人的心脏,一旦有问题整个系统就崩溃.我们知道STM32属于高级单片机,其内部有很多的外设,但不是 ...
- STM32入门系列-启动文件介绍
在启动文件内部使用的都是汇编语言,这个文件的作用是负责执行微控制器从"复位"到"开始执行 main 函数"中间这段启动时间所必须进行的工作.它完成的具体工作有: ...
- STM32入门系列-库目录及文件介绍
已经介绍了过了CMSIS标准,ST公司按照这个标准设计了一套基于STM32F10x的固件库,我们可以直接在ST公司的官网进行下载,现在给大家STM32最新固件库v3.5,在网盘上给大家提供了下载包,链 ...
- STM32入门系列-使用C语言封装寄存器
前面文章介绍了存储器映射.寄存器和寄存器映射,这些都是为了介绍使用 C语言封装寄存器做铺垫.这里我们通过一个实例来对 C 语言封装寄存器进行介绍. 具体实例:控制 GPIOC 端口的第 0 管脚输出一 ...
- STM32入门系列-开发工具keil5安装
主要介绍如下三部分内容: keil5软件获取 keil5安装 安装STM32芯片包 软件获取 可以通过搜索引擎搜索关键字"KEIL5下载",找到其官方网站www.keil.com. ...
随机推荐
- 基于CSS3自定义发光radiobox单选框
之前我们分享过一些CSS3和HTML5实现的自定义checkbox和Radiobox,比如纯CSS3美化Checkbox和Radiobox按钮,不仅外观唯美,而且Radiobox选中时还有动画效果.今 ...
- 阿里云ECS,WampServer无法访问外网
情况: 使用阿里云ECS服务器.服务端打开WampServer后,在服务端能通过127.0.0.1和localhost访问到WampServer的首页. 阿里云已经给了外网IP,不需要路由器再做端口映 ...
- 使用 OpCache 提升 PHP 5.5+ 程序性能
说明 PHP 5.5 以后内建了 OpCache , OpCache 的加速原理是把编译后的 bytecode 存储在内存里面, 避免重复编译 PHP 所造成的资源浪费. 引用 How To Enab ...
- 利用层的table-row、table-cell属性进行页面布局
利用层的table-row.table-cell属性可以进行等高.宽度自适应页面布局,这是参看了<我所知道的几种display:table-cell的应用>及<基于display:t ...
- sparkr——报错
> sc <- sparkR.init() Re-using existing Spark Context. Please stop SparkR with sparkR.stop() o ...
- 统一建模语言 UML
目录 统一建模语言 UML UML定义了5类10种模型图 一用例图用于建立需求模型 二静态图主要描述系统的静态表示和关系包括类图包图对象图 三行为图描述系统动态模型和对象组成的交换关系包括状态图和活动 ...
- Kafka Tools
参考, https://cwiki.apache.org/confluence/display/KAFKA/System+Tools https://cwiki.apache.org/confluen ...
- 总结一发linux常用命令
显示目录和文件的命令 Ls:用于查看所有文件夹的命令. Dir:用于显示指定文件夹和目录的命令 Tree: 以树状图列出目录内容 Du:显示目录或文件大小 修改目录,文件权限和属主及数组命令 Ch ...
- 【转】【C#】全局键盘监听
using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServi ...
- C++ 判断
C++ 判断判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的). #include <iostream> /* ru ...