打印
[应用相关]

痛定思痛,决定改变方式……

[复制链接]
楼主: tianli1980
手机看帖
扫描二维码
随时随地手机跟帖
21
567| | 2014-1-5 17:20 | 只看该作者 回帖奖励 |倒序浏览
好吧,用库会显得你软件水平很高。

使用特权

评论回复
22
huanben| | 2014-1-5 21:20 | 只看该作者
如果你对所有外设的操作方式有一个统一的认识,那就会知道配置的流程都是基本一样的:
时钟配置
IO配置
外设参数配置
中断配置
DMA配置
外设使能
利用库函数可以很清晰的完成上述的操作。
说实话我做硬件的就更喜欢用库,不用寄存器,寄存器看着真是头疼啊,当然这也说明我没有相关的自己代码的积累。
还有,其实做硬件的就会想把所有事情搞透彻,其实有时候并不是一种投入产出很合算的想法,因为不论是使用寄存器还是使用库都只是完成最简单最低层的外设配置,软件的最终目的是完成应用,那何不放更多时间在应用上呢(当然这也涉及到对外设有深刻的理解,但是针对配置来说,这样的说法没什么问题)

还有就是,对于我平常写代码比较少的人来说,我觉得ST的库的编程风格真的有很多值得学习的地方有空看看,对某些细节性的实现还是有很大帮助的。

使用特权

评论回复
23
huanben| | 2014-1-5 21:23 | 只看该作者
icecut 发表于 2014-1-4 23:27
不得不说,你这方法真土鳖.....
复制粘贴干嘛?整个库整体引用.....

冰刀还在做企鹅驱动吗?

请教:初学者学习驱动主要是怎么样的学习进程啊?(需要什么书本丰富基础知识?需要什么硬件学习工具?有了学习工具之后如何强化具体的应用能力?)

使用特权

评论回复
24
icecut| | 2014-1-5 21:44 | 只看该作者
huanben 发表于 2014-1-5 21:23
冰刀还在做企鹅驱动吗?

请教:初学者学习驱动主要是怎么样的学习进程啊?(需要什么书本丰富基础知识? ...

做过一年,感觉是体力活就离开了.

学一下基本的char驱动,然后看看usb驱动.理解一下面向对象.做驱动工作大多数是调试芯片,调试硬件....真正驱动设计=0

使用特权

评论回复
25
huanben| | 2014-1-5 22:03 | 只看该作者
icecut 发表于 2014-1-5 21:44
做过一年,感觉是体力活就离开了.

学一下基本的char驱动,然后看看usb驱动.理解一下面向对象.做驱动工作大 ...

你的意思是,工作内容就是以现有的代码为基础调试新的芯片是吗?

目前是什么行业?

咳,小公司做硬件,迷茫中。。

使用特权

评论回复
26
icecut| | 2014-1-5 23:03 | 只看该作者
huanben 发表于 2014-1-5 22:03
你的意思是,工作内容就是以现有的代码为基础调试新的芯片是吗?

目前是什么行业?

行业对我来说不重要.每一个工作一个行业...

现在驱动都是芯片厂给的.99%的能用.

使用特权

评论回复
27
ticomi| | 2014-1-6 08:41 | 只看该作者
不要库函数,一般小量代码还可以,大量代码的话都几乎没有办法维护的!!

使用特权

评论回复
28
拿起书本| | 2014-1-6 20:44 | 只看该作者
其实呢,都是熟能生巧。
不管库函数,还是寄存器,都一样,关键在人,浮躁不得

使用特权

评论回复
29
dong_abc| | 2014-1-7 02:55 | 只看该作者
拿起书本 发表于 2014-1-6 20:44
其实呢,都是熟能生巧。
不管库函数,还是寄存器,都一样,关键在人,浮躁不得 ...

对于同一种体系的芯片,一次配置,持续优化,终身使用。感觉比较好!

使用特权

评论回复
30
lufeijian| | 2014-1-7 08:17 | 只看该作者
两种选择,如果对寄存器熟悉就用寄存器,不熟悉就用库了,
我个人是用寄存器的,无办法,当我要用一个单片机的时候,我并不期待能像X86那样完全不了解硬件的去用它,往往是必须第一步就是先了解清楚这个单片机的外设有什么功能,能怎么用,这样才能把单片机用好,不要以为每个型号的外设功能都一样,就像同样是IIS接口,ST的STM32F103大部分就只能支持半双功模式,而SSTM32F4系列就支持全双功模式,但有一点,要注意他们在超过16位结果时只能装在32位包中;
而新唐的M0就不一样了,IIS支持8~32位包,全部支持全双功模式,想要玩好某个单片机,不会用寄存器那绝对称不上玩好了.大多时候只有先弄清楚寄存器了,能满足自己的要求了才能去定原理图开板.只去看那个库是不怎么靠谱的.

使用特权

评论回复
31
busdriver| | 2014-1-7 08:53 | 只看该作者
嗯,有库好

使用特权

评论回复
32
拿起书本| | 2014-1-7 10:28 | 只看该作者
dong_abc 发表于 2014-1-7 02:55
对于同一种体系的芯片,一次配置,持续优化,终身使用。感觉比较好!

呵呵,我现在库函数和寄存器混合着用,效果非常好。如果单纯用寄存器的话,开发量挺大,可以辅助者一些库函数

使用特权

评论回复
33
happyming0809| | 2014-1-7 10:36 | 只看该作者
两种都用,开始时候确实觉得接触器好用,毕竟我是硬件出身,软件不太熟悉,但是后面也学学用库,感觉库看起来更加严密点。

使用特权

评论回复
34
huangfeng33| | 2014-1-11 22:15 | 只看该作者
哈哈!我一直都用寄存器模式,支持楼主,用寄存器有个好处就是能发挥得淋漓尽致!

使用特权

评论回复
35
GERALDWONG| | 2014-1-14 16:35 | 只看该作者
人家写库出来自有它的好处,楼主没体会到而已

使用特权

评论回复
36
bruce_helen| | 2014-1-15 13:45 | 只看该作者
楼主不会用source insight么?
寄存器操作是最原始的操作方法。
时代在进步,ST已经把下面的寄存器操作封装好了不需要你自己操作了,学习时可以使用寄存器操作,这样能更深入了解外设的功能,但是项目中强烈推荐使用库来操作!

使用特权

评论回复
37
zhangyang86| | 2014-1-16 13:03 | 只看该作者
其实本质是一样的。你懂了本质就可以了。。。
我们的《STM32开发指南》《原子教你玩STM32》,都有两个版本,,,
但是本质一样,,,,库函数你懂了基本的配置,你会发现,库函数写得还是很好的,只是你要了解一下寄存器,也就是懂库的实现原理,这样你使用起才会游刃有余。
https://bbs.21ic.com/forum.php?mod=viewthread&tid=599161

使用特权

评论回复
38
jxmzzr| | 2014-1-26 20:40 | 只看该作者
个人觉得还是先用库吧,上手容易,用寄存器挺费时间,况且库用熟了,寄存器用起来也一样,最主要的是思路问题

使用特权

评论回复
39
明月小厨| | 2014-1-26 22:08 | 只看该作者
如果相关的库有很好的说明,肯定远比看寄存器手册简单;用库的地方通常都是外设的初始化,很直观,很好;
用库用习惯了,如果有现成的库,我优先考虑。
最好有相关的例程,直接大段大段复制过来,个别地方改改就用起来了,多省心啊;

使用特权

评论回复
40
明月小厨| | 2014-1-27 21:59 | 只看该作者
以前我不知道库怎么用,一直感觉用寄存器好,没有技术障碍,很灵活,很高效,唯一的缺点就是要看手册,要仔细看很多遍;还要验证自己的理解是否正确;
后来用库,相关寄存器的细节我不再关注,反正都是做填空题似的,省心了许多。
你要想成为绝顶的高手,把相关的部分吃透,当然是用寄存器;
如果你只是用它做做项目,做完了也就完了,还是库比较省心;

使用特权

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

本版积分规则