请问:
参考了 CC2538基础固件,需要用GPIO模拟方式配置I2C 端口,不采用I2C外围模块,该怎么配置端口?
需要I2C端口既可以输出也可以输入,外接上拉电阻。用户直接控制波形读取端口线状态。
尝试配置了如下代码,
//
// Configure I2C pins
//
GPIOPinTypeI2C(GPIO_I2C_BASE, I2C_SCL);
GPIOPinTypeI2C(GPIO_I2C_BASE, I2C_SDA);
//
// Configure pins as peripheral input and output
//
IOCPinConfigPeriphInput(GPIO_I2C_BASE,I2C_SCL, IOC_I2CMSSCL);
IOCPinConfigPeriphInput(GPIO_I2C_BASE, I2C_SDA,
IOC_I2CMSSDA); IOCPinConfigPeriphOutput(GPIO_I2C_BASE, I2C_SCL,
IOC_MUX_OUT_SEL_I2C_CMSSCL);
IOCPinConfigPeriphOutput(GPIO_I2C_BASE, I2C_SDA,
IOC_MUX_OUT_SEL_I2C_CMSSDA);
然后用 GPIOPinWrite ,GPIOPinRead 函数操作端口,但是i2c控制无效,观察波形无有效信号输出。
gaoyang9992006:
要按照I2C的时序做,另外由于该芯片是 ARM Cortex M3 的强大的 MCU 。因此操作IO上要按照M3的操作方式。
MT:
回复 gaoyang9992006:
请问:
首先是端口如何配置?输出?输入?还是上例?有没有验证过的参考代码?
谢谢
MT:
回复 Alvin Chen:
很详细 谢谢!