你(们)好
我无法从 I2C 获取中断。 以下设置代码是否正确?
//为 I2C 设置 PB2、PB3
GPIOPinTypeI2C (GPIO_PORTB_BASE、GPIO_PIN_2 | GPIO_PIN_3);
//基于 PB2、PB3的 I2C
GPIOPinConfigure (GPIO_PB2_I2C0SCL);
GPIOPinConfigure (GPIO_PB3_I2C0SDA);
//启用 I2C0
SysCtlPeripheralEnable (SYSCTL_Periph_I2C0);
//等待外设就绪
while (!SysCtlPeripheralReady (SYSCTL_Periph_I2C0));
I2CMasterInitExpClk (I2C0_BASE、时钟、false);
I2CIntRegister (I2C0_BASE、I2C0_handler);
I2CMasterIntEnableEx (I2C0_BASE、I2C_MASTER_INT_STOP |
I2C_MASTER_INT_NACK |
I2C_MASTER_INT_DATA |
I2C_MASTER_INT_TIMEOUT);
I2CMasterEnable (I2C0_BASE);
如果我尝试向未连接的设备发送数据,我将接收 NACK 中断....
I2CMasterSlaveAddrSet (I2C0_BASE、0x55、false);
I2CMasterDataPut (I2C0_BASE、'*');
I2CMasterControl (I2C0_BASE、I2C_MASTER_CMD_SINGLE_SEND);
while (true);
但没有什么...
此致