OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4556|回复: 7

本人最近在研究tcs34725,经过几天,但是输出的数字总是0,希望大神帮忙,这是我写的程序看看

[复制链接]

1

主题

5

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2017-9-16
在线时间
3 小时
发表于 2017-9-16 16:18:53 | 显示全部楼层 |阅读模式
5金钱

tcs3472.zip

5.14 MB, 下载次数: 491

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

685

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3448
金钱
3448
注册时间
2017-7-4
在线时间
869 小时
发表于 2017-9-16 17:21:31 | 显示全部楼层
1、从机地址错了,i2c器件地址7bit模式时,最低位的读写位,注意器件手册i2c的地址是否包括读写位,比如这个TCS34725地址是0x29(手册描述不清楚,这点不太好),没有其他说明,应该是不包括读写位的(真实的i2c地址就是7bit),按照你的程序,必须将加入读写位,将地址左移一位,即是0x52;
2、不同人写的i2c驱动,使用时,也要注意传入的地址否包括了读写位,比如linux的i2c驱动,传入的i2c地址就是不包括读写位的!如果用Linux i2c驱动控制这个器件填0x29就对了;
3、i2c调试技巧:首先单步调试,发送i2c地址如果没有应答就知道是i2c地址错误或者总线没有正常通信了;如果i2c能够和其他器件正确通信,这就肯定地址错了。
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2017-9-16
在线时间
3 小时
 楼主| 发表于 2017-9-16 18:09:53 | 显示全部楼层
谢谢,我在去试试
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2017-9-16
在线时间
3 小时
 楼主| 发表于 2017-9-16 18:32:33 | 显示全部楼层
大神,这是读时的地址(TCS34725_I2C_ADDRESS<<1)|0x01,这是写时的地址(TCS34725_I2C_ADDRESS<<1)&0xfe,但好像还是0,是不是还有其他地方写差了呢,麻烦看看了
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2017-9-16
在线时间
3 小时
 楼主| 发表于 2017-9-16 19:26:51 | 显示全部楼层
个人认为可能是其他寄存器的配置出现了问题,希望大神给点指点
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-9-17 00:46:45 | 显示全部楼层
帮顶
回复

使用道具 举报

2

主题

685

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3448
金钱
3448
注册时间
2017-7-4
在线时间
869 小时
发表于 2017-9-17 09:41:15 | 显示全部楼层
犬夜叉 发表于 2017-9-16 19:26
个人认为可能是其他寄存器的配置出现了问题,希望大神给点指点

检查i2c时序,单步调试,看器件是否有应答,
回复

使用道具 举报

3

主题

178

帖子

0

精华

高级会员

Rank: 4

积分
524
金钱
524
注册时间
2016-12-31
在线时间
195 小时
发表于 2017-9-17 09:51:16 来自手机 | 显示全部楼层
帮顶!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 02:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表