OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4174|回复: 11

学习了一段时间STM32,发现寄存器方式更容易入门上手

[复制链接]

16

主题

197

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
457
金钱
457
注册时间
2012-4-20
在线时间
91 小时
发表于 2016-9-29 11:48:13 | 显示全部楼层 |阅读模式
固件库的要熟悉整套库函数的文件,文档阅读量比寄存器的更为复杂。也可能自己以前玩过51(也是肤浅的应用),感觉寄存器方式更为简洁,也容易脱离例程直接编程。举个例子:比如入门第一站GPIO点亮LED的使用,寄存器版本的只需要按照1、开启对应的gpio时钟。使用哪一组就使能哪一组,就一条一目了然的指令,比如开启GPIOA,就打几个字:RCC->APB2ENR| = 1 << 2; //2到8分别为A~G端口,但是库函数却要熟悉库函数的结构体,然后到处寻找敲打或复制那一行豆芽字,非常不适合我们英文小学水平的爱好者……
2、配置GPIO口的模式,设置很简单,两三行,很少的字母就完成,熟悉了,常用的就几种十六进数字,基本上可以闭着眼睛敲进去,而且连端口速度选择也一起解决,就算大家都很熟悉寄存器和库函数,如果比赛编程打字的话,我感觉寄存器的一定赢啊!字少……
3、配置端口电平也简单,就那么几个数字……
4、然后是相关的头文件和C文件都可以很简单的自己码字,自己很清楚什么代表什么,用起来顺心放心舒心!不像库函数,好像背政治课本……

所以简单的、个人的小项目应用我推荐寄存器版本的编程方式!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-9-29 11:57:01 | 显示全部楼层
配置一般用库函数,直观好多,不用翻手册。
你是不习惯库函数,所以有这种感觉,我一般都是库函数,遇到某些不常用的操作,比起去翻看库函数,我就直接寄存器操作了
回复 支持 反对

使用道具 举报

15

主题

184

帖子

0

精华

高级会员

Rank: 4

积分
647
金钱
647
注册时间
2014-4-29
在线时间
299 小时
发表于 2016-9-29 13:07:54 | 显示全部楼层
问题是这样下去你早晚要自己写库函数
回复 支持 反对

使用道具 举报

4

主题

346

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3657
金钱
3657
注册时间
2016-2-21
在线时间
542 小时
发表于 2016-9-29 13:34:35 | 显示全部楼层
库函数用起来是复制粘贴的问题。寄存器,你不能每步都保证自己填对。而且复杂的外设,配置起来,也是很容易出问题的。
回复 支持 反对

使用道具 举报

16

主题

197

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
457
金钱
457
注册时间
2012-4-20
在线时间
91 小时
 楼主| 发表于 2016-9-29 13:36:26 | 显示全部楼层
憨厚诚实大叔 发表于 2016-9-29 11:57
配置一般用库函数,直观好多,不用翻手册。
你是不习惯库函数,所以有这种感觉,我一般都是库函数,遇到某 ...

库函数手册和寄存器手册哪个厚?我感觉后者就几张表格……反而是库函数容易迷路。你自己都说了,比起翻看库函数,就直接寄存器操作了……
回复 支持 反对

使用道具 举报

16

主题

197

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
457
金钱
457
注册时间
2012-4-20
在线时间
91 小时
 楼主| 发表于 2016-9-29 13:38:08 | 显示全部楼层
xianshasaman 发表于 2016-9-29 13:07
问题是这样下去你早晚要自己写库函数

自己的东西自己熟悉嘛。当然,大的工程估计还得库函数,但是作为入门推荐和替代51应用,我反而从库函数的阵营里回到寄存器了……
回复 支持 反对

使用道具 举报

16

主题

197

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
457
金钱
457
注册时间
2012-4-20
在线时间
91 小时
 楼主| 发表于 2016-9-29 13:42:48 | 显示全部楼层
shikihane 发表于 2016-9-29 13:34
库函数用起来是复制粘贴的问题。寄存器,你不能每步都保证自己填对。而且复杂的外设,配置起来,也是很容易 ...

这两天我反而感觉寄存器问题更少,特别是GPIO的操作……顺便看了下串口和ADC感觉比库的简单明了可靠,不容易落下东西。STM32对我而言只是替代以前的51而已,没有使用太多的外设。但是我肯定,复杂的工程当然是库函数优势,要不ARM团队没那么吃饱撑着……
回复 支持 反对

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-9-29 14:04:05 | 显示全部楼层
ba5rw 发表于 2016-9-29 13:36
库函数手册和寄存器手册哪个厚?我感觉后者就几张表格……反而是库函数容易迷路。你自己都说了,比起翻看 ...

配置外设,库函数就直观好多,是某些不常用的操作,翻寄存器才比翻库函数快。
常用的库函数比起寄存器会快好多的,而且还不容易出错。次次寄存器,你迟早会自己封装库函数给自己用的
回复 支持 反对

使用道具 举报

3

主题

238

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1366
金钱
1366
注册时间
2016-5-26
在线时间
1698 小时
发表于 2016-9-29 14:43:19 来自手机 | 显示全部楼层
ba5rw 发表于 2016-9-29 13:42
这两天我反而感觉寄存器问题更少,特别是GPIO的操作……顺便看了下串口和ADC感觉比库的简单明了可靠,不 ...

虽然不太理解只用GPIO、串口和ADC的话为什么要用STM32来替代51,但就这几个外设的基本应用来说,确实用寄存器很容易,似乎没什么可争议的……
回复 支持 反对

使用道具 举报

16

主题

197

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
457
金钱
457
注册时间
2012-4-20
在线时间
91 小时
 楼主| 发表于 2016-9-29 16:08:15 | 显示全部楼层
K.O.Carnivist 发表于 2016-9-29 14:43
虽然不太理解只用GPIO、串口和ADC的话为什么要用STM32来替代51,但就这几个外设的基本应用来说,确实用寄 ...

技术发展有个积累和进化过程,有时候必需赶潮流……
回复 支持 反对

使用道具 举报

3

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2016-6-22
在线时间
56 小时
发表于 2016-9-29 16:49:15 | 显示全部楼层
库函数和寄存器可以一起用?
回复 支持 反对

使用道具 举报

344

主题

1464

帖子

12

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
8044
金钱
8044
注册时间
2015-10-15
在线时间
2907 小时
发表于 2016-9-30 12:29:48 | 显示全部楼层
寄存器需要了解一下。。。项目开发,能用库的用库不错。。。
但是如果你寄存器一点都不了解,那么你库用起来也不会很好,,,
真正懂的,是需要了解原理,也就是对寄存器必须有个初步了解,了解大致的配置过程和思路,具体配置可以不用去记。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-24 13:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表