牛卧堂MCU技术交流

标题: M058的IIC [打印本页]

作者: tongyajunlwj    时间: 2014-6-2 21:30
标题: M058的IIC
有没有哪位使用过M058S的P44、P45端口的IIC通道,我做了P34、P35的IIC通道能读出来加速度传感器的数据,现在要用P44、P45通道读,在程序里把I2C0换成I2C1,端口的设置也改了,但就是不行,求哪位做过的指点一下

作者: a_ziliu    时间: 2014-6-6 09:42
我測過了,在這一包中\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
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
但也不行 不知道什么问题
作者: a_ziliu    时间: 2014-6-9 10:14
你的電路外面有PULL HIGH電阻嗎?大概是4.7k ohm




欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/) Powered by Discuz! X3.2