void InitDaisyLink(BYTE *I2CRAM, BYTE manufacturer, BYTE type, BYTE moduleVersion, int ramsize) { // DaisyLink DL_Reg.ModuleType = type; DL_Reg.ModuleVersion = moduleVersion; DL_Reg.DLVersion = 4; DL_Reg.Manufacturer = manufacturer; // Initialize I2C module EzI2Cs_SetRamBuffer(ramsize, ramsize,(BYTE *) I2CRAM); EzI2Cs_Start(); // enable interrupts PRT1IC0 = PIN_DOWNSTREAM; PRT1IC1 = PIN_DOWNSTREAM; // Set downstream pin interrupt type to "change from last read" M8C_EnableIntMask( INT_MSK0, INT_MSK0_GPIO ); // Allow GPIO interrupts (but leave interrupt for actual pin disabled until Active state) M8C_EnableIntMask( INT_MSK0, INT_MSK0_VC3); // Enable timer interrupts M8C_EnableGInt; // Enable global interrupts ResetToInitState(); }
void I2C_Init(void) { EzI2Cs_SetRamBuffer(sizeof(I2C_Regs), 0, (char*)(&I2C_Regs)); EzI2Cs_SetAddr(I2C_SLAVE_ADDRESS); EzI2Cs_Start(); // Turn on I2C }
void I2C_Init(void) { EzI2Cs_Start(); EzI2Cs_EnableInt(); }