This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

I2C设置及发送问题



想要控制液晶屏,如附件所示I2C设置,这样总是调试不通过,又不知道如何检查,其中0XAA是从机地址,WriteAddr为子地址,*pBuffer为要发送的内容,想知道I2C是这样设置的吗,我看例程都是用中断进行发送的,不用中断可不可以,是不是图中代码的顺序。

  • 用的I2C1模块,正常初始化后还需不需要考虑GPIO管脚复用问题的,就是需不需要考虑GPIOPCTL寄存器的问题?

  • 楼主,

       7位从机地址应该是0xAA的高7位,0x55.

    初始化也是需要对用到的管脚初始化的,可以参考下面的初始化:

    //I2C
    void i2cInit(void)
    {

    SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C0);
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);// 

    GPIOPinTypeI2C(GPIO_PORTB_BASE, GPIO_PIN_2 | GPIO_PIN_3); //PB2---- PB3---
    GPIOPinTypeI2CSCL(GPIO_PORTB_BASE,GPIO_PIN_2);


    I2CMasterEnable(I2C0_MASTER_BASE);

    I2CMasterInitExpClk(I2C0_MASTER_BASE,SysCtlClockGet(),0);//I2C0 master,100kbps

    }

    你的数据发送代码应该是对的。