//***************************************************************************** // //! \brief Disable OTI mode corresponding pin interrupt. //! //! \param None //! //! \return None // //***************************************************************************** void ADT75IntDisable(void) { unsigned long ulBase; xGPIOSPinIntDisable(ADT75_PIN_OS); ulBase = xGPIOSPinToPort(ADT75_PIN_OS); xIntDisable(xSysCtlPeripheraIntNumGet(ulBase)); }
/* * Initiate the Wire library and join the I2C bus as a slave. This should normally be called only once. * Parameters: address: the 7-bit slave address (optional); */ void WireClass::begin(uint8_t address){ // Init the I2C as slave //xI2CSlaveInit(i2cPort, address, xI2C_GENERAL_CALL_EN); //mcy xI2CSlaveEnable(i2cPort); xI2CIntCallbackInit(i2cPort, WireClass::I2CCallbackFunc); xI2CSlaveIntEnable(i2cPort, xI2C_SLAVE_INT_DATA | xI2C_MASTER_INT_DATA); xIntEnable(xSysCtlPeripheraIntNumGet(i2cPort)); }
//***************************************************************************** // //! \brief Enable OTI mode corresponding pin interrupt. //! //! \param None //! //! \return None // //***************************************************************************** void ADT75IntEnable(void) { unsigned long ulBase; xGPIOSPinTypeGPIOInput(ADT75_PIN_OS); xGPIOSPinIntEnable(ADT75_PIN_OS, ADT75_LEVEL_OS); ulBase = xGPIOSPinToPort(ADT75_PIN_OS); xIntEnable(xSysCtlPeripheraIntNumGet(ulBase)); }
//***************************************************************************** // //! \brief something should do before the test execute of xsysctl002 test. //! //! \return None. // //***************************************************************************** static void xI2C001Setup(void) { xSysCtlPeripheralEnable2(ulSlave); xSysCtlPeripheralReset2(ulSlave); xSysCtlPeripheralEnable2(ulMaster); xSysCtlPeripheralReset2(ulMaster); xSysCtlPeripheralEnable2(GPIOB_BASE); xSysCtlPeripheralEnable(SYSCTL_PERIPH_AFIO); xSPinTypeI2C(I2C1SCK, PB6); xSPinTypeI2C(I2C1SDA, PB7); //xSPinTypeI2C(I2C1SCK, PB8); //xSPinTypeI2C(I2C1SDA, PB9); xSPinTypeI2C(I2C2SCK, PB10); xSPinTypeI2C(I2C2SDA, PB11); I2CSlaveInit(ulSlave, I2C_ADDR_7BIT, 0x12, I2C_GENERAL_CALL_DIS); I2CEnable(ulSlave); I2CIntEnable(ulSlave, I2C_INT_BUF | I2C_INT_EVT | I2C_INT_ERR); xIntEnable(xSysCtlPeripheraIntNumGet(ulSlave)); I2CIntCallbackInit(ulSlave, I2CSlaveCallback); I2CMasterInit(ulMaster, SysCtlAPB1ClockGet(), xfalse, xtrue); I2CEnable(ulMaster); I2CMasterWriteS1(ulMaster, 0x12, 'a', xfalse); I2CMasterWriteS2(ulMaster, 'b', xfalse); I2CMasterWriteS2(ulMaster, 'c', xfalse); I2CMasterWriteS2(ulMaster, 'd', xfalse); I2CMasterReadS1(ulMaster, 0x12, ucTemp, xfalse); I2CMasterReadS2(ulMaster, &ucTemp[1], xfalse); I2CMasterReadS2(ulMaster, &ucTemp[2], xfalse); I2CMasterReadS2(ulMaster, &ucTemp[3], xfalse); I2CMasterReadS2(ulMaster, &ucTemp[4], xtrue); }