找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

[M051] M058的IIC

[复制链接]
跳转到指定楼层
楼主
tongyajunlwj 发表于 2014-6-2 21:30:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有没有哪位使用过M058S的P44、P45端口的IIC通道,我做了P34、P35的IIC通道能读出来加速度传感器的数据,现在要用P44、P45通道读,在程序里把I2C0换成I2C1,端口的设置也改了,但就是不行,求哪位做过的指点一下
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具 举报

沙发
a_ziliu 发表于 2014-6-6 09:42:57 | 只看该作者
我測過了,在這一包中\BSP_M058S_Series_CMSIS_EN_V1.00.002\SampleCode\Driver\I2C_MASTER
將I2C0改I2C1.
應該是GPIO沒有切到I2C1
SYS->P4_MFP=SYS_MFP_P45_SDA1|SYS_MFP_P44_SCL1;

回复 支持 反对

使用道具 举报

板凳
 楼主| tongyajunlwj 发表于 2014-6-7 11:39:27 | 只看该作者
a_ziliu 发表于 2014-6-6 09:42
我測過了,在這一包中\BSP_M058S_Series_CMSIS_EN_V1.00.002\SampleCode\Driver\I2C_MASTER
將I2C0改I2C1.  ...

我测得是MMA8451传感器的,这是我的I2C初始化:
void I2C_Init(void)
{
        SYS->IPRSTC2 |= SYS_IPRSTC2_I2C1_RST_Msk; //C: Peripheral Reset Control Resister 2: I2C-bit = 1 => controller reset
        SYS->IPRSTC2 &= ~SYS_IPRSTC2_I2C1_RST_Msk;//C: Peripheral Reset Control Resister 2: I2C-bit = 0 => set controller to normal mode
        I2C1->I2CON |= I2C_I2CON_ENS1_Msk;
  I2C1->I2CLK = I2C_I2CLK_DIV4(120); /* 48000000Hz / 4 / 120 = 100000Hz */
        _I2C_ENABLE_TIMEOUT_COUNTER(I2C1);
}

这是我的端口初始化:
        SYS->P4_MFP = SYS_MFP_P44_SCL1 | SYS_MFP_P45_SDA1;
回复 支持 反对

使用道具 举报

地板
 楼主| tongyajunlwj 发表于 2014-6-7 11:49:19 | 只看该作者
但也不行 不知道什么问题
回复 支持 反对

使用道具 举报

5#
a_ziliu 发表于 2014-6-9 10:14:08 | 只看该作者
你的電路外面有PULL HIGH電阻嗎?大概是4.7k ohm
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU