OpenEdv-开源电子网

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

开个帖子,不聊技术,想和大家聊聊用寄存器或者库函数开发项目的感觉

[复制链接]

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
发表于 2016-2-13 16:20:14 | 显示全部楼层 |阅读模式
5金钱
楼主以前一直用寄存器,现在开始用寄存器和库函数混编,由于使用这种方法时间还比较短,暂时没有遇到过什么奇葩的问题。

最佳答案

查看完整内容[请看2#楼]

这两个东西本质上没有区别,库函数只是把寄存器给封装成了一个一个的功能函数。相对来说库函数可读性要好,适合快速上手和底层代码移植。
这是我的小尾巴~
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2016-2-13 16:20:15 | 显示全部楼层
这两个东西本质上没有区别,库函数只是把寄存器给封装成了一个一个的功能函数。相对来说库函数可读性要好,适合快速上手和底层代码移植。
回复

使用道具 举报

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
 楼主| 发表于 2016-2-13 16:21:10 | 显示全部楼层
哈哈,大家也可以来聊聊自己的感受,就当在搞技术的闲暇之余娱乐一下
这是我的小尾巴~
回复

使用道具 举报

22

主题

180

帖子

1

精华

高级会员

Rank: 4

积分
616
金钱
616
注册时间
2015-6-29
在线时间
101 小时
发表于 2016-2-13 20:28:59 | 显示全部楼层
没什么区别,能用库函数就用库函数,有时候看到一两句话都弄成一个函数觉得不爽就用寄存器~~
我是菜鸟
回复

使用道具 举报

3

主题

548

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1383
金钱
1383
注册时间
2015-2-3
在线时间
197 小时
发表于 2016-2-13 21:45:28 | 显示全部楼层
一般还是用库函数,可读性强、简单,而且ST的程序员一般都要想得更全面。
优化只应当在占用主要时间的“热点”优化,现在STM32的配置已经不低了,可维护性和可读性更重要
回复

使用道具 举报

170

主题

917

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1824
金钱
1824
注册时间
2013-4-13
在线时间
63 小时
发表于 2016-2-14 08:49:36 来自手机 | 显示全部楼层
熟悉st了之后,用库函数方便,操作简单
回复

使用道具 举报

10

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1838
金钱
1838
注册时间
2014-6-27
在线时间
981 小时
发表于 2016-2-14 11:43:45 | 显示全部楼层
搞底层的,都要和硬件打交道,不管用什么方式,都会无意识的去看下寄存器的东西,所以用寄存器和库函数很多情况下就混编使用了,在某些情况下,混编有混编的好处,反正能实现功能,灵活应用就行了。
回复

使用道具 举报

6

主题

188

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
432
金钱
432
注册时间
2016-1-19
在线时间
38 小时
发表于 2016-2-15 09:17:53 | 显示全部楼层
现在公司也没有强制限制条条框框,一般用寄存器。闲暇之余用库文件做些小玩具体验。
原来你也在这里
回复

使用道具 举报

13

主题

276

帖子

0

精华

高级会员

Rank: 4

积分
697
金钱
697
注册时间
2014-6-20
在线时间
146 小时
发表于 2016-2-15 09:27:15 | 显示全部楼层
混用,有时候看着库代码实现一个简单功能需要老长老长代码的时候,就改用寄存器,刚开始学习的时候,也可以用用寄存器,这样更容易了解底层;
用库函数可读性好,移植方便
回复

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2015-11-24
在线时间
5 小时
发表于 2016-2-16 19:19:33 来自手机 | 显示全部楼层
我是初始化用库函数,其余的自己写
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13129
金钱
13129
注册时间
2012-11-26
在线时间
3814 小时
发表于 2016-2-16 19:25:59 | 显示全部楼层
没弄过寄存器的,个人感觉库函数的容易阅读和维护
学无止境
回复

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
发表于 2016-2-16 19:34:24 | 显示全部楼层
本帖最后由 wszdxmh 于 2016-2-16 19:35 编辑

编译器已经做的很不错了,用库函数还方便后面的人维护,为什么不用呢?如果已经要靠用汇编的方式来优化才能达到合格的话,我们一般会选择换一个性能更好的芯片,毕竟这把芯片榨干了让我感觉可能会坑自己,万一再出问题就完了。
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复

使用道具 举报

15

主题

181

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
389
金钱
389
注册时间
2014-11-8
在线时间
40 小时
发表于 2016-2-17 16:32:21 | 显示全部楼层
库函数写程序快,好改,可读性强。
Good good study , day day up...
回复

使用道具 举报

84

主题

347

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2008
金钱
2008
注册时间
2014-7-1
在线时间
189 小时
发表于 2016-2-17 16:48:34 | 显示全部楼层
以前用51的,刚开始学的寄存器,感觉顺。后来改库函数,挺别扭的,句子太长,但是大多数都用库函数,用库函数方便交流
做一个相信自己的人
回复

使用道具 举报

20

主题

468

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
1684
金钱
1684
注册时间
2014-2-25
在线时间
230 小时
发表于 2016-2-17 23:34:45 | 显示全部楼层
我觉得区别不大,很多时候代码长都是在初始化的时候,代码多一些问题不大。只要不涉及底层的核心算法,不管你用寄存器还是库函数都是一样的。
回复

使用道具 举报

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
 楼主| 发表于 2016-2-18 08:38:17 | 显示全部楼层
shenqihao 发表于 2016-2-17 16:48
以前用51的,刚开始学的寄存器,感觉顺。后来改库函数,挺别扭的,句子太长,但是大多数都用库函数,用库函 ...

是啊,库函数开发交流方便好多,用寄存器显得有点孤独
这是我的小尾巴~
回复

使用道具 举报

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
 楼主| 发表于 2016-2-18 08:39:03 | 显示全部楼层
Just Beat It 发表于 2016-2-17 16:32
库函数写程序快,好改,可读性强。

这也是我后来去学库函数的原因
这是我的小尾巴~
回复

使用道具 举报

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
 楼主| 发表于 2016-2-18 08:40:22 | 显示全部楼层
wszdxmh 发表于 2016-2-16 19:34
编译器已经做的很不错了,用库函数还方便后面的人维护,为什么不用呢?如果已经要靠用汇编的方式来优化才能 ...

“如果已经要靠用汇编的方式来优化才能达到合格的话,我们一般会选择换一个性能更好的芯片”这还真是我以前所不知的,受教了
这是我的小尾巴~
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 05:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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