打印

要灵活使用STM32库

[复制链接]
1318|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
拿起书本|  楼主 | 2013-8-5 15:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
开发STM32就不应该忽略函数库,尽管函数库的使用效率还有待提高。

    尤其对于初学者,使用函数库可以尽快的驱动外设,避免直接读写繁多的寄存器,毕竟ARM的寄存器比51单片机多的多。

    当然,函数库的执行效率比直接操作寄存器要差的远,那是否就应该摒弃函数库呢?我觉得也不尽然,函数库归根结底也是操作寄存器,和直接操作寄存器没有本质的区别。

    函数库的使用效率低是因为系统调用函数的过程中涉及到上下文的切换等辅助操作,因此效率要低一些,因此在应用中对函数库进行针对性的修改是提高执行效率的必然措辞。

   一:外设的初始化等操作尽量使用库函数,避免错误。

   二:为了提高读写效率可以不用库函数而是直接操作寄存器,比如读GPIOD就可以直接写

           tmp = *((unsigned long *)0x40011408); 或者 tmp = GPIOD->IDR ;

           外设的地址可以在stm32_map.h中找到基地址,然后找到寄存器的偏移地址,这样就可以直接操作寄存器了。
沙发
人生之际| | 2013-8-5 18:09 | 只看该作者
有道理,我一般也就是在初始化配置的时候使用库。

使用特权

评论回复
板凳
cjhk| | 2013-8-5 18:58 | 只看该作者
初始库用好了   会省很多的时间  效率会高很多  

使用特权

评论回复
地板
huangfeng33| | 2013-8-5 21:27 | 只看该作者
初学者用库嘛,简单,而且稳定,但是查错比较麻烦哦

使用特权

评论回复
5
jsll86| | 2013-8-7 00:16 | 只看该作者
初学者来说,简单方便就好,等用熟了,需要提高效率了,就转为寄存器操作

使用特权

评论回复
6
499734424| | 2013-8-7 08:30 | 只看该作者
有道理            

使用特权

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

本版积分规则

个人签名:好好学习,天天向上!

519

主题

4195

帖子

30

粉丝