码迷,mamicode.com
首页 > Web开发 > 详细

RaspberryPi2B使用bcm2835c库控制GPIO

时间:2017-12-05 20:10:36      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:base   使用   wiringpi   logs   define   芯片   简单   配置   很多   

RaspberryPi2B使用bcm2835c库控制GPIO

网上有很多RaspberryPi控制GPIO的方法,有Python、WiringPi、bcm2835 C library

使用bcm2835 C库控制GPIO时,发现不管怎么设置,GPIO都没有反应,没有输出控制的值。

查资料发现:
bcm2835的C库是bcm2835芯片专用的库,在RaspberryPI上使用没有问题,而RaspberryPi2B使用的是bcm2836芯片,虽说bcm2836和bcm2835芯片基本上一模一样,可以拿bcm2835芯片的数据手册,对应bcm2836芯片使用,但是毕竟两个芯片还是有差别的,在这里只针对GPIO的区别简单介绍:

在bcm2835库src/bcm2835.h中GPIO的基地址为:0x20000000

#define BCM2835_PERI_BASE               0x20000000

需要改成bcm2836上对应的虚拟地址基地址:0x3F000000

#define BCM2835_PERI_BASE               0x3F000000  

是因为虚拟地址和物理地址对应关系不统一造成控制GPIO无反应。
通过以上修改后,在RaspberryPi2B上重新配置并编译安装bcm2835库后,就可以正常通过调用bcm2835库控制GPIO。

RaspberryPi2B使用bcm2835c库控制GPIO

标签:base   使用   wiringpi   logs   define   芯片   简单   配置   很多   

原文地址:http://www.cnblogs.com/microxiami/p/7988903.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!