打印
[Kinetis]

I2C1

[复制链接]
1095|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
freescaleFans|  楼主 | 2015-4-1 16:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用IAR仿真调试K22FX51212单片机的I2C1模块。发现程序死在了i2c_wait();这个函数。监控I2C1的寄存器,发现当i2c_start();后。I2C1_S寄存器中的ARBL位被置1了!好的时候监控其是不被置1的?这应该怎么解决呢?
备注:i2c_wait();和i2c_start();等函数是按照官方例程二十四I2C模块编写的。

相关下载

相关帖子

沙发
FSL_TICS_ZJJ| | 2015-4-1 16:54 | 只看该作者
把你I2C代码贴出来,或者代码上次,有空帮你看看。

使用特权

评论回复
板凳
FSL_TICS_ZJJ| | 2015-4-2 10:14 | 只看该作者
另外,楼主可以直接参考K22的KSDK I2C代码,
安装下KSDK1.1.0, 代码路径:
C:\Freescale\KSDK_1.1.0\demos\i2c_comm

使用特权

评论回复
地板
freescaleFans|  楼主 | 2015-4-2 10:27 | 只看该作者
k22这个I2C模块是7位或10位的,我要与24CL16EEPROM通信。可是它是11位的地址啊?怎么处理?

使用特权

评论回复
5
freescaleFans|  楼主 | 2015-4-2 10:45 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-4-2 10:14
另外,楼主可以直接参考K22的KSDK I2C代码,
安装下KSDK1.1.0, 代码路径:
C:\Freescale\KSDK_1.1.0\demos ...

这个例程中有一些osa——的函数,是干什么的?操作系统吗?一定要加上嘛?

使用特权

评论回复
6
FSL_TICS_ZJJ| | 2015-4-7 13:30 | 只看该作者
freescaleFans 发表于 2015-4-2 10:45
这个例程中有一些osa——的函数,是干什么的?操作系统吗?一定要加上嘛? ...

如果使用SDK,则是需要添加OSA的。
关于OSA在SDK中的具体功能,建议你查看KSDK根目录下的文档:Kinetis SDK v.1.1 API Reference Manual.Pdf
路径: C:\Freescale\KSDK_1.1.0\doc
Chapter 48 OS Abstraction Layer (OSA)

使用特权

评论回复
7
FSL_TICS_ZJJ| | 2015-4-7 13:32 | 只看该作者
freescaleFans 发表于 2015-4-2 10:27
k22这个I2C模块是7位或10位的,我要与24CL16EEPROM通信。可是它是11位的地址啊?怎么处理?
...

K22的I2C模块最长就是11位地址,如果你的从机很特殊,11位地址的话,那么你可以使用IO去模拟I2C,从而实现你特定的时序。

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
freescaleFans + 2
8
freescaleFans|  楼主 | 2015-4-15 09:54 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-4-7 13:32
K22的I2C模块最长就是11位地址,如果你的从机很特殊,11位地址的话,那么你可以使用IO去模拟I2C,从而实 ...

结贴给分怎么操作的?

使用特权

评论回复
9
FSL_TICS_ZJJ| | 2015-4-15 10:52 | 只看该作者
freescaleFans 发表于 2015-4-15 09:54
结贴给分怎么操作的?

结贴可以参考这个帖子

https://bbs.21ic.com/icview-692566-1-1.html

使用特权

评论回复
10
FSL_TICS_ZJJ| | 2015-4-15 10:52 | 只看该作者
非常感谢你关于Kinetis的技术问题。如果你没有其他问题,我们将此帖默认为已解决.

使用特权

评论回复
11
后会无期1| | 2015-4-15 20:41 | 只看该作者
学习下K22FX51212单片机的I2C1模块

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

94

帖子

0

粉丝