打印

学习STM32到底用不用库函数

[复制链接]
26927|33
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
飞絮飘飘|  楼主 | 2012-3-25 11:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
学了一段时间库函数,发现弄懂那么多库函数同样是很头疼的事,跟弄懂寄存器所费功夫也差不多,而且,库函数显然程序量大得多,比如,下面这一段程序:
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//打开功能时钟
   SET_BIT(RCC->APB2ENR, 2);
只要一条指令就可代替:RCC->APB2ENR |= 4;
但是,本人又很担心,简单的IO操作可以这样,如果到后来复杂的程序,不用库函数是不是编程非常困难,到底用还是不用?
沙发
BigCat111| | 2012-3-25 11:58 | 只看该作者
库函数易读,毕竟封装了一些细节,当然效率会差很多,程序对效率有特殊要求的部分毕竟很少,可以改为直接操作寄存器,不会是非此即彼的选择。

使用特权

评论回复
板凳
txcy| | 2012-3-25 12:08 | 只看该作者
肯定要用到库函数的

使用特权

评论回复
地板
火箭球迷| | 2012-3-25 12:19 | 只看该作者
LZ以后会发现库函数的好处的

使用特权

评论回复
5
logokfu| | 2012-3-25 12:21 | 只看该作者
开发过程中必须得用,前期学习过程中要看看函数到底是怎么操作的哪个寄存器,有助于了解硬件结构。你直接操作寄存器还得考虑把值付给哪一bit,如果用库函数的话就简单多了。

使用特权

评论回复
6
logokfu| | 2012-3-25 12:40 | 只看该作者
其实学习任何东西起初来头会比较困难,头疼,只有经历过了,以后就会慢慢好的。库函数很有必要学习下。不说精通吧。最起码得了解库函数得结构。做到对库函数有个整体感性的认识。另外你认真看的话就会发现好多函数都是类似的结构。有很多函数都是在重复使用。你系统的看几遍就会发现没有什么难的。

里面自带的例子自己最好要调试下。开始你会觉得比较乱。因为里面的例子都是运行在st的评估板上的。由于stm32型号比较多。评估板又有好几款。为了在不同平台的可移植性,库函数里面会有大量的筛选平台以及芯片型号的代码。这些代码对于大多数人来说都是冗余代码,给新手造成了不必要的麻烦,自己可以根据自己的需要适当的修改自带的那些例子。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
heartdoll + 1 很给力!
7
baidudz| | 2012-3-25 18:51 | 只看该作者
LS说的很好,库函数还是很有必要学习的

使用特权

评论回复
8
飞絮飘飘|  楼主 | 2012-3-26 08:24 | 只看该作者
看来还是得学库函数

使用特权

评论回复
9
zhaoyu2005| | 2012-3-27 09:57 | 只看该作者
本帖最后由 zhaoyu2005 于 2012-3-27 10:17 编辑

使用库函数好比自动挡汽车,直接操作寄存器好比手动挡汽车,至于选择哪种就看各自的习惯和追求了,如果喜欢驾驭的乐趣就选手动挡,如果只是想实现轻松的代步,那手自动挡最佳了

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
香水城 + 2 不错的比喻
10
lost1421| | 2012-3-27 10:06 | 只看该作者
学用STM8且不用STM8库的路过。

使用特权

评论回复
11
suse-lj| | 2012-3-27 16:37 | 只看该作者
一直不用库函数,感觉直接操作寄存器很方便

使用特权

评论回复
12
xsgy123| | 2012-3-27 18:30 | 只看该作者
应该是会用到的

使用特权

评论回复
13
益友电子| | 2012-3-27 19:33 | 只看该作者
用库函数,应该会简化设计的过程吧,效率应该会降低,如果有可能自己编写库!

使用特权

评论回复
14
秋天落叶| | 2012-3-27 21:51 | 只看该作者
个人还是建议用库函数,会方便很多

使用特权

评论回复
15
拿起书本| | 2012-3-27 22:15 | 只看该作者
使用固件库的好处是不容易出错吧,建议还是学学吧:loveliness:

使用特权

评论回复
16
枫叶gbwz| | 2012-3-27 23:45 | 只看该作者
个人认为还是寄存器直接操作吧,那是本质

使用特权

评论回复
17
sunzhenxing| | 2012-12-29 00:16 | 只看该作者
不言

使用特权

评论回复
18
linc676085| | 2012-12-29 08:31 | 只看该作者
我当初也问过老前辈们一些类似的问题,他们给我的答复是,想学得精就从寄存器入手,如果单纯是从利用该芯片角度出发,那还是用函数库吧。

使用特权

评论回复
19
Lee2013| | 2012-12-29 13:48 | 只看该作者
不用库开发比较慢,用库文件方便些!

使用特权

评论回复
20
huangfeng33| | 2012-12-29 16:18 | 只看该作者
对于性能要求比较高的时候使用寄存器操作吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

20

帖子

0

粉丝