智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 7328|回复: 24
打印 上一主题 下一主题

K60自带的IIC读写MMA845X难道是个bug?

  [复制链接]

9

主题

51

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1055
威望
491
贡献
322
兑换币
301
注册时间
2013-3-10
在线时间
121 小时
毕业学校
跳转到指定楼层
1#
发表于 2014-2-18 21:11:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    蛋疼啊,花了一两天时间研究了k60自带的IIC模块读写MMA8451!可是写数据时候就是没有应答信号,我以无力吐槽了,代码用kl25z试过了,完全可以,k60和kl25z IIC模块一样的,考虑过可能是时钟原因,但是几乎每个分频值都用过了,不知道大家有没有人用K60自带IIC读写MMA8451,不知道你们有没有遇到这问题,反正我打算用IO口模拟了,在这里也以我这蛋疼经历建议大家如果用K60读写MMA845X,还是选IO口模拟吧,KL25z的可以选择用自带的IIC,当然如果哪位遇到过这个问题并解决的大神看到了这个帖子还望不吝赐教,真是蛋都碎了,心底还是想知道why?
回复

使用道具 举报

0

主题

50

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2470
威望
1132
贡献
690
兑换币
591
注册时间
2012-5-22
在线时间
324 小时
2#
发表于 2014-2-18 22:52:47 | 只看该作者
表示K60,硬件IIC读写MMA8451没有碰到问题。可能是你的底层有问题。
回复 支持 反对

使用道具 举报

9

主题

51

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1055
威望
491
贡献
322
兑换币
301
注册时间
2013-3-10
在线时间
121 小时
毕业学校
3#
 楼主| 发表于 2014-2-19 03:55:44 | 只看该作者
azraeltang 发表于 2014-2-18 22:52
表示K60,硬件IIC读写MMA8451没有碰到问题。可能是你的底层有问题。

你F寄存器设置的值是多少?你是自己写的底层库吗?代码应该没问题,自己写的,因为同样的代码在kl25z上完全运行成功了,而且网上也找了官网iic的方面代码也不行,想来想去要不就是F寄存器值设置的不对,要不就是板子问题。我已经用IO模拟了,能不能把你iic工程借我试一下
回复 支持 反对

使用道具 举报

0

主题

50

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2470
威望
1132
贡献
690
兑换币
591
注册时间
2012-5-22
在线时间
324 小时
4#
发表于 2014-2-19 11:27:30 | 只看该作者
笑而不语 发表于 2014-2-19 03:55
你F寄存器设置的值是多少?你是自己写的底层库吗?代码应该没问题,自己写的,因为同样的代码在kl25z上完 ...

IIC底层我是移植野火的库。
回复 支持 反对

使用道具 举报

8

主题

139

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1215
威望
666
贡献
369
兑换币
435
注册时间
2012-11-3
在线时间
90 小时
毕业学校
建设路小学
5#
发表于 2014-2-19 11:30:08 | 只看该作者
一般情况下都用模拟的IIC读写时序....自带的都不是很好用的....当然你要是研究透了自带的就好说了
回复 支持 反对

使用道具 举报

80

主题

1045

帖子

0

精华

跨届大侠

北京龙邱智能科技有限公司

Rank: 10Rank: 10Rank: 10

积分
10332

论坛元老奖章

QQ
威望
2905
贡献
6151
兑换币
4515
注册时间
2008-6-7
在线时间
638 小时
6#
发表于 2014-2-19 18:29:15 | 只看该作者
先用模拟的试试看,确定模块没有问题了再去试试硬件IIC,注意IIC设置为大端还是小端模式,跟MMA要匹配才行的。
回复 支持 反对

使用道具 举报

9

主题

51

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1055
威望
491
贡献
322
兑换币
301
注册时间
2013-3-10
在线时间
121 小时
毕业学校
7#
 楼主| 发表于 2014-2-19 21:42:20 | 只看该作者
azraeltang 发表于 2014-2-19 11:27
IIC底层我是移植野火的库。

额,好吧,哥们,是不是只需要Z轴的加速度就可以满足车平衡需要了?你用过ENC-03吗啊?知不知道那个1号引脚vref输出的高电平还低电平啊。
回复 支持 反对

使用道具 举报

9

主题

51

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1055
威望
491
贡献
322
兑换币
301
注册时间
2013-3-10
在线时间
121 小时
毕业学校
8#
 楼主| 发表于 2014-2-19 21:44:06 | 只看该作者
无人的回忆 发表于 2014-2-19 11:30
一般情况下都用模拟的IIC读写时序....自带的都不是很好用的....当然你要是研究透了自带的就好说了

我觉得这绝对是真理,自己模拟写的代码时序都掌握在自己手上,出错了也方面检查出来!图方便还是模拟好了
回复 支持 反对

使用道具 举报

9

主题

51

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1055
威望
491
贡献
322
兑换币
301
注册时间
2013-3-10
在线时间
121 小时
毕业学校
9#
 楼主| 发表于 2014-2-19 21:48:30 | 只看该作者
chiusir 发表于 2014-2-19 18:29
先用模拟的试试看,确定模块没有问题了再去试试硬件IIC,注意IIC设置为大端还是小端模式,跟MMA要匹配才行的 ...

什么是大端还是小端?是指主从关系吗?其实k60的iic我们只会用到master模式,所以真正用到的就几个寄存器,一点都不复杂,C1,F,D,再加个状态寄存器就行了。IO模拟可行,而且自己写的IIC代码去KL25z上实验完全可行。网上也看到人家遇到这个问题,说别的都能行,就K60用不起来。还特意下了一些成功的人分享的代码还是不可以。会不会是各各人用的系统版本身原因?
回复 支持 反对

使用道具 举报

3

主题

32

帖子

0

精华

高级会员

Rank: 4

积分
953
威望
512
贡献
299
兑换币
250
注册时间
2011-12-6
在线时间
71 小时
10#
发表于 2014-2-22 16:11:50 | 只看该作者
azraeltang 发表于 2014-2-19 11:27
IIC底层我是移植野火的库。

我用的野火的库也出现了这种问题啊,有什么需要修改的地方吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-28 15:03 , Processed in 0.061122 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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