Esempio n. 1
0
void main(void)
{
	M8C_EnableGInt; 
	LCD_Start();																	// Start LCD
	
	LCD_Position(0,0); 
	LCD_PrCString("PSoC I2C Slave");
	
	EzI2Cs_SetRamBuffer(1, 1, (char *)&Wert);										// Start I²C Buffer, Size of 1 Byte, Allowing to Read/Write 1 Byte
	
	I2C_Init();
	
	while(1)
	{
		LCD_Position(1,0); 
		LCD_PrCString("Wert:");
		LCD_Position(2,0);
		LCD_PrHexInt(Wert);
	}
}
Esempio n. 2
0
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();
}
Esempio n. 3
0
void I2C_Init(void)
{
	EzI2Cs_SetRamBuffer(sizeof(I2C_Regs), 0, (char*)(&I2C_Regs));
	EzI2Cs_SetAddr(I2C_SLAVE_ADDRESS);
	EzI2Cs_Start();  // Turn on I2C
}