微型芯片中的MCP23017是I2C的16平流体延伸器。 我能够一劳永逸地安放装置(固定方向和价值),但此后不能改变预期的价值,除非这种装置重塑/电循环。 这部法典首次用于对它进行规范化,并设置了皮条:
I2C_Start(); I2C_Write(0x40); // slave address I2C_Write(0x00); // address register ... (sequential mode so next 10 are set to I2C_Write(0x00); I2C_Write(0x08); // IOCON: HAEN=1 I2C_Write(0x08); // IOCON: HAEN=1 ... (sequential mode so next 6 are set to I2C_Write(0x00); I2C_Write(0xFEu); // GPIOA I2C_Write(0x01u); // GPIOB I2C_Stop();
after this i would like to be able to toggle the output values (0xFE <-> 0x01). I attempted this code:
I2C_Start(); I2C_Write(0x40); // slave address I2C_Write(0x12); // address register I2C_Write(0x01u); // GPIOA I2C_Write(0xFEu); // GPIOB I2C_Stop();
在这一点上,午餐似乎随意(投入与产出、产出高和低)。 如果有人使用I2C IO推广器,请帮助我。 即便您不能完全相信你会作出评论。 注:此处显示的I2C 预报器是一种轨道禁止算法,所有24个周期均具有预兆。 两者的重量。
useful documents (kind of): http://ww1.microchip.com/downloads/en/DeviceDoc/21952b.pdf