1-1-1框架
  • 意法半导体的三端双向可控硅

    意法半导体的三端双向可控硅

  • 亿光反射式光电开关芯片ITR1204SR10A-TR

    亿光反射式光电开关芯片ITR1204SR10A-TR

  • 如何提升微波网络分析仪的测量精度?

    如何提升微波网络分析仪的测量精度?

  • 14周年庆-发金币,500名额,每人50金币。学堂课程全场半价

    14周年庆-发金币,500名额,每人50金币。学

  • 发一个TI的6层工业以太网通信主板,原理图和PCB

    发一个TI的6层工业以太网通信主板,原理图

[技术文章] stm32入门(从51过渡到32)

[复制链接]
查看5848 | 回复19 | 2018-10-31 11:58:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
单片机对于我来说,就是一个超级大机器,上面有一排一排数不尽的开关,我需要做的,就是根据我的设计,拿着一张超级大的表(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显示也不会变成一棵树,本质一样的
回复

使用道具 举报

williamtony | 2018-10-31 12:47:37 | 显示全部楼层
回复

使用道具 举报

shenchengan | 2018-10-31 16:56:38 | 显示全部楼层
回复

使用道具 举报

mj8abcd | 2018-10-31 17:19:21 | 显示全部楼层
回复

使用道具 举报

a154462865 | 2018-11-1 08:00:23 | 显示全部楼层
回复

使用道具 举报

ldj186 | 2018-11-1 08:23:42 | 显示全部楼层
回复

使用道具 举报

西湖烟雨 | 2019-5-29 16:19:00 | 显示全部楼层
回复

使用道具 举报

catv951 | 2019-5-30 20:44:50 | 显示全部楼层
回复

使用道具 举报

天涯哥 | 2020-4-27 08:05:56 | 显示全部楼层
回复

使用道具 举报

学海无涯 | 2020-4-27 08:12:29 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则