工具与软件:
您好!
我一直在致力于一个将大量代码从 MSP430移植到 MSP432的项目、而且我们将使用 MSP432E401的以太网功能。 我能够获得大多数必需的功能、但我找到的诸如 MSP432用户指南参考函数等资源似乎并不存在。 我已经做完了介绍、重新安装了 CCS 和 SimpleLink SDK、但没有效果。 我想知道这些函数是否只适用于 MSP432Pxx 器件、但还没有找到相关答案。
我已尝试按如下方式设置和使用 I2C:
#define I2C_BASE_ADDR I2C9_BASE void I2CInit(){ MAP_GPIOPinConfigure(GPIO_PA0_I2C9SCL); MAP_GPIOPinConfigure(GPIO_PA1_I2C9SDA); MAP_GPIOPinTypeI2C(GPIO_PORTA_BASE, (GPIO_PIN_0 | GPIO_PIN_1)); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C9); while(!(MAP_SysCtlPeripheralReady(SYSCTL_PERIPH_I2C9))); I2CMasterInitExpClk(I2C_BASE_ADDR, g_ui32SysClock,0); I2CMasterEnable(I2C_BASE_ADDR); } void I2CwB(char data){ int cycles = 0; int err = 0; int fifo = 0; while(!I2CFIFODataPutNonBlocking(I2C_BASE_ADDR,data)) { cycles++; delay_ms(10); err = I2CMasterErr(I2C_BASE_ADDR); fifo = I2CFIFOStatus(I2C_BASE_ADDR); if(cycles % 8 == 0)I2CTxFIFOFlush(I2C_BASE_ADDR); } }
这能够顺利执行、但是我发现 SCL 线变为低电平、SDA 线从未被拉低、并且 ICwB 的调用无论如何也不会影响引脚。
我添加了 I2CMasterErr 和 I2CFIFOStatus、以便可以收集更多信息、但其中没有错误或任何非常有趣的信息。
提前感谢您的任何帮助。 我非常感谢。