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. ...
随机推荐
- hdu26道动态规划总结
前言:我们队的dp一直是我在做,说不上做的很顺,有些可以做,有些不能做.到现在为止,做dp题目也有七八十道了,除了背包问题的题目我可以说有百分之七八十的把握ac的话,其他类型的dp,还真没有多大把握. ...
- windows 批处理-重命名
从数字1递增批量重命名ren.bat: @echo off SETLOCAL ENABLEDELAYEDEXPANSION set /A num= FOR /F "tokens=*" ...
- 一款基于jQuery可放大预览的图片滑块插件
今天给大家分享一款基于jQuery可放大预览的图片滑块插件.这款jQuery焦点图插件的特点是可以横向左右滑动图片,并且点击图片可以进行放大预览,唯一的缺陷是这款焦点图并不能循环切换,如果你有较好的J ...
- Spring监管下的Hibernate配置文件
今天看了看别人的程序,用的是SSH搭建的,自己回忆了下感觉假设採用注解的话那么Hibernate的配置文件hibernate.cfg.xml是还须要的,而*.hbm.xml则能够被注解所替代的,结果确 ...
- C语言 · 用宏求球的体积
算法提高 7-1用宏求球的体积 时间限制:1.0s 内存限制:256.0MB 问题描述 使用宏实现计算球体体积的功能.用户输入半径,系统输出体积.不能使用函数,pi=3.141592 ...
- Linux下安装rpm出现error: Failed dependencies
在Linux下安装rpm包时经常会遇到下面这个问题: error: Failed dependencies: xxxxxxxxxxxxxxxxxxxxxx 遇到此问题时可以在安装rpm包命令的后面加两 ...
- ansible debug模块学习笔记
- name: Print debug infomation eg hosts: test2 gather_facts: F tasks: - name: Command run line shell ...
- sysctl -p 重新加载文件/etc/sysctl.conf -a 所有参数 -w 临时指定
sysctl命令用于运行时配置内核参数,这些参数位于/proc/sys目录下.sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发.IP碎 ...
- WHAT EXACTLY IS WASM ?!
终于, 我入门了当初很仇视的技术.... 什么是WebAssembly? WebAssembly或WASM是一个编译器目标(由编译器生成的代码),具有二进制格式,允许我们在浏览器上执行C,C ++和R ...
- jQuery实现点击单选按钮切换选中状态效果
实现效果:第一次点击单选按钮时选中该按钮,再次点击时取消选中该单选按钮. 关键就是要将单选按钮原来的值保存起来,第二次点击时.如果原来选中则取消,否则选中. 看代码吧,是用jQuery实现的,功能虽小 ...