分享

树莓派读写单总线设备DS2431

 ylsnData 2017-12-29

一开始,查阅DS2431的数据手册,根据上面的逻辑写DS2431的代码,写了好久,代码是出来了,可是就是不能正常工作。

后来发现了这个方法,简直太好用啦,真是方法才是王道呀,平台才是王道。

一:修改配置文件

sudo nano /boot/config.txt

在/boot/config.txt文件的最后一行加上dtoverlay=w1-gpio-pullup,gpiopin=4(管脚为BCM编号)


注:

     其他资料说是gpiopin=4的管脚号可以更具自己的需要随意修改,根据本人的反复试验,发现当修改了管脚号后,树莓派无法识别出该器件,故为保险起见:建议不要修改,就用4号管脚。

     经查阅大量资料:在《精通 Raspberry Pi》([美] Warren Gay著  张龙杰 陈青华 刘勇  译)(2015年11月第一版)书中162页:

    Raspbian linux驱动程序支持GPIO 4(P1-07)上的单总线。这个引脚硬编码在内核驱动程序中。如果想改变它,在源文件中寻找W! GPIO的定义:

   arch/arm/mach-bcm2708.c

   将W!_GPIO的定义(在第73行左右查找)改到你需要的引脚上:

  //如果可以,使用GPIO 4作为单总线GPIO 引脚

  #define W1_GPIO 4 

  接下来,当然,你需要重建并安装新内核。

二,重启树莓派,使之前的配置生效

动态加载需要用到的内核模块

sudo modprobe w1_ds2431

sudo modprobe w1-gpio

运行lsmod命令,发现所需要的模块已经启动了


三:如果上述步骤没有问题,那么接下来,就可以操作DS2431啦

cd  /sys/bus/w1/devices

就会看到下面的文件夹


图中以2d-....的文件就是DS2431的设备文件

进入该目录,会发现有eeprom的文件,就是DS2431的存储文件

通过cat eeprom就可以读出里面写入的内容,图中的内容就是我写进去的

注:写入文件时,一开始我使用sudo echo "qcq"> eeprom 发现总是提示:权限不够

后来我用 sudo nano eeprom打开文件,像普通文件一样写入数据,就没有问题了。

方法参考(链接)

博文索引  持续更新中。。。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多