匿名
未登录
登录
丢石头百科
搜索
查看“树莓派系列教程:I2C”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
树莓派系列教程:I2C
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
一、启动I2C 执行如下命令进行树莓派配置 <syntaxhighlight lang="python"> sudo raspi-config</syntaxhighlight> 选择Advanced Options -> I2C ->yes 启动i2C内核驱动 运行lsmod命令查看i2c时候启动 [[File:191547qoyzbeh8ah8jozoj.png]] 若没有启动i2c内核驱动,可以试下添加如下配置文件,运行如下命令打开配置文件。 <syntaxhighlight lang="python"> sudo nano /etc/modules</syntaxhighlight> 增加以下两行并保存退出。<syntaxhighlight lang="python"> i2c-bcm2708 i2c-dev</syntaxhighlight> 二、i2c-tools 安装i2c-tools,这个工具在I2c硬件监控设备识别和故障诊断是非常重要。 <syntaxhighlight lang="python"> sudo apt-get install i2c-tools</syntaxhighlight> 【i2c-tools官网】 http://www.lm-sensors.org/wiki/i2cToolsDocumentation I2c-tools仅有四条命令,下面逐条介绍。 1、i2c-tool查询i2c设备: <syntaxhighlight lang="python"> i2cdetect -y 1</syntaxhighlight> -y 代表取消用户交互过程,直接执行指令; 1 代表I2C总线编号; [[File:191551g3mmh83d1h826asy.png.thumb.png]] 上图是树莓派接上Pioneer 600扩展板检测到的i2C设备, 0x20是PCF8974 IO扩展芯片的地址, 0x48是PCF8591 AD/DA转换芯片的地址 0x68是DS3231 RTC时钟芯片的地址 0x77是BMP180压强传感器的地址 2、扫描寄存器内容: <syntaxhighlight lang="python"> i2cdump -y 1 0x68</syntaxhighlight> -y 代表取消用户交互过程,直接执行指令; 1 代表I2C总线编号; 0x68 代表I2C设备从机地址,此处表示DS3231 RTC时钟芯片 [[File:191559pc8w7e7z0970777y.png]] 3、寄存器内容写入: <syntaxhighlight lang="python"> i2cset -y 1 0x68 0x00 0x13</syntaxhighlight> -y 代表曲线用户交互过程,直接执行指令 1 代表I2C总线编号 0x68 代表I2C设备地址,此处表示DS3231 RTC时钟芯片 0x00 代表存储器地址, 0x13 代表存储器地址中的具体内容 == 4、寄存器内容读出: == <syntaxhighlight lang="python"> i2cget -y 1 0x68 0x00</syntaxhighlight> -y 代表曲线用户交互过程,直接执行指令 1 代表I2C总线编号 0x68 代表I2C设备地址,此处表示DS3231 RTC时钟芯片 0x00 代表存储器地址 <!--[if !supportLists]-->三、<!--[endif]-->使用i2c-tools控制PCF8574 IO PCF8574是I2C总线8位IO扩展芯片,初始状态IO为高电平. PCF8574和其他I2C芯片不同,该芯片没有寄存器,直接传输一个字节即控制IO输出状态。Pioneer 600扩展板,LED2接到PCF8574的p4管脚。低电平点亮LED. 写IO管脚: <syntaxhighlight lang="python"> i2cset –y 1 0x20 0xEF</syntaxhighlight> 0x20 代表I2C设备地址,此处表示PCF8574芯片 0xEF 传输的内容,此处表示PCF8574的P4管脚输出低电平,其他管脚输出高电平 可以看到Pioneer 600扩展板的LED2点亮 读IO管脚: <syntaxhighlight lang="python"> i2cget -y 1 0x20</syntaxhighlight> 运行这条命令即可读取PCF8574 IO管脚状态 熄灭LED2 <syntaxhighlight lang="python"> i2cset –y 1 0x20 0xFF</syntaxhighlight> 同理,Pionerr 600扩展板,蜂鸣器接到PCF8574的P7管脚,可以用i2c-tool控制蜂鸣器 蜂鸣器响: <syntaxhighlight lang="python"> i2cset –y 1 0x20 0x7F</syntaxhighlight> 蜂鸣器停: <syntaxhighlight lang="python"> i2cset –y 1 0x20 0xFF</syntaxhighlight>
该页面使用的模板:
模板:Raspberry Pi Study
(
查看源代码
)
返回至
树莓派系列教程:I2C
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志