打印

stm32库函数是不是必须学习

[复制链接]
3493|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
a2582006460|  楼主 | 2013-7-18 22:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是刚入门stm32不久的新手,现在一直用寄存器操作,想一直用寄存器写代码了。不知是不是有必要学库函数,听比人说好像以后需深入后用库函数会方便很多
沙发
linfeng24| | 2013-7-18 22:29 | 只看该作者
寄存器在小应用时你还能对付,但当上了SDIO\FSMC,网口等的时候,你不用库函数就吃亏了。正点原子大哥就是当年写寄存器的,很厉害,但最后也写库函数了。当然,两者精通更好。建议学库函数!!!

使用特权

评论回复
板凳
soso| | 2013-7-19 00:33 | 只看该作者
建议初学的时候,学寄存器,不要学库 ,学习是学习其原理

使用特权

评论回复
地板
a2582006460|  楼主 | 2013-7-19 07:43 | 只看该作者
我个人感觉,寄存器对一些简单的IO口控制非常方便,可以自己写。用库函数好像就写不出来了,还要看别人的代码。。。。。是不是库函数名都不要记住还是只要记住一些常用的??

使用特权

评论回复
5
sjnh| | 2013-7-19 08:02 | 只看该作者
本帖最后由 sjnh 于 2013-7-19 08:05 编辑

楼主,换个思维想:库函数也是操作寄存器,只不过是规范了些或看起来统一了些,你为什么不去参照库函数的实现学习寄存器操作呢;
举个例子:
            USART_SUB_TIM->ARR = TIM_SUB_CRC;   //TIM_SetAutoreload(USART_SUB_TIM,TIM_SUB_CRC);
            USART_SUB_TIM->CNT = 0;             //TIM_SetCounter(USART_SUB_TIM,0);
这两句话其实就是两个函数中的实现语句;
我有的产品功能简单速度不是问题时,就用库函数实现;
有的产品功能多对速度有要求,就用寄存器操作实现,实际就是把库函数内部实现拷贝出来进行组合、简化;例如上面例子就是用着Modbus进行3.5个字符计数用判断串口帧接收完成的;

这样学习多快,就像一个功能,有人已经告诉你应该按什么步骤进行怎样的操作;

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
knight_21ic + 2 赞一个!
6
uet_cache| | 2013-7-19 08:40 | 只看该作者
寄存器操作,写起来不累吗? 那么多寄存器,每次写,都要看一下,要打开手册啊,不费事?

我是都用的官方库。

使用特权

评论回复
7
w522930954| | 2013-7-19 08:55 | 只看该作者
刚开始写写寄存器比较有激情,写多了,人懒了,就写库了。

使用特权

评论回复
8
outstanding| | 2013-7-19 09:03 | 只看该作者
看你自己喜欢用什么。库函数相对简单,寄存器难点,但是能熟悉STM32

使用特权

评论回复
9
huangfeng33| | 2013-7-20 16:53 | 只看该作者
如果是第一次接触单片机,建议从库函数开始学,这样上手快.

使用特权

评论回复
10
hawksabre| | 2013-7-20 18:49 | 只看该作者
初学可能上手会比较快一点   楼主   

使用特权

评论回复
11
haibian826| | 2013-7-21 08:51 | 只看该作者
简单的IO口,你直接记几个寄存器使用,更方便。
后续很多其他函数,你记几个常用的函数名,不是更方便?

如果你熟透了库函数里每个的实现,却一点不会实际项目的使用。。。。那不是很惨。。。当然,那时候转过来也很快,只是太耗时间了

使用特权

评论回复
12
jiaxinhui| | 2013-7-23 07:40 | 只看该作者
建议从库学起,毕竟基于ARM的系统,程序量比较大的。使用困函数,你编程也轻松,可读性好,也方便日后的移植

使用特权

评论回复
13
outstanding| | 2013-7-23 09:12 | 只看该作者
没有。。。。关键看你自己,库方便

使用特权

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

本版积分规则

28

主题

150

帖子

0

粉丝