应用I2C怎么进行读写,发送帧应包括 :从机地址-内存地址高-内存地址低-数据
从机地址: I2C_setSlaveAddress(I2C0_BASE,SLAVE_ADDRESS_Write>>1,I2C_MASTER_WRITE);这样发送对不?
内存地址高:
内存地址低:我不知道怎么配置,
发送数据:I2C_putMasterData(I2C0_BASE, 0x0F); I2C_setMasterConfig(I2C0_BASE, I2C_MASTER_CMD_SINGLE_SEND);不知道对不对,每次发送都要写I2C_setMasterConfig(I2C0_BASE, I2C_MASTER_CMD_SINGLE_SEND);吗;
0049CPU的I2C写操作:
p->pI2cRegs->I2CCNT = 2 + p->Txd_num; //Txd_num < 8; 在CM中怎么体现,如何实现多数据发送
p->pI2cRegs->I2CFFTX.bit.TXFFRST = 1;
p->pI2cRegs->I2CDXR.all= p->Addr >> 8;
p->pI2cRegs->I2CDXR.all = p->Addr & 0x00FF;
for (i = 0; i < p->Txd_num; i++) p->pI2cRegs->I2CDXR.all = p->Msg_Buff[i];
p->pI2cRegs->I2CMDR.all = 0x6E20;