Exemplo n.º 1
0
void I2C0_Init(void)
{
    /* Open I2C0 and set clock to 100k */
    I2C_Open(I2C0, 100000);

    /* Get I2C0 Bus Clock */
    printf("I2C clock %d Hz\n", I2C_GetBusClockFreq(I2C0));
}
Exemplo n.º 2
0
void I2C0_Init(void)
{
    /* Open I2C0 and set clock to 100k */
    I2C_Open(I2C0, 100000);

    /* Get I2C0 Bus Clock */
    printf("I2C0 clock %d Hz\n", I2C_GetBusClockFreq(I2C0));

    I2C_EnableInt(I2C0);
    NVIC_EnableIRQ(I2C0_IRQn);
}
Exemplo n.º 3
0
void I2C0_Init(void)
{
    /* Open I2C0 and set clock to 100k */
    I2C_Open(I2C0, 100000);

    /* Get I2C0 Bus Clock */
    printf("I2C clock %d Hz\n", I2C_GetBusClockFreq(I2C0));

    /* Set I2C0 2 Slave Addresses */
    I2C_SetSlaveAddr(I2C0, 0, 0x15, I2C_GCMODE_DISABLE);   /* Slave Address : 0x15 */
    I2C_SetSlaveAddr(I2C0, 1, 0x35, I2C_GCMODE_DISABLE);   /* Slave Address : 0x35 */

    /* Enable I2C0 interrupt */
    I2C_EnableInt(I2C0);
    NVIC_EnableIRQ(I2C0_IRQn);
}
Exemplo n.º 4
0
void I2C3_Init(void)
{
    /* Open I2C3 and set clock to 100k */
    I2C_Open(I2C3, 100000);

    /* Get I2C3 Bus Clock */
    printf("I2C clock %d Hz\n", I2C_GetBusClockFreq(I2C3));

    /* Set I2C3 4 Slave Addresses */
    I2C_SetSlaveAddr(I2C3, 0, 0x15, I2C_GCMODE_DISABLE);   /* Slave Address : 0x15 */
    I2C_SetSlaveAddr(I2C3, 1, 0x35, I2C_GCMODE_DISABLE);   /* Slave Address : 0x35 */
    I2C_SetSlaveAddr(I2C3, 2, 0x55, I2C_GCMODE_DISABLE);   /* Slave Address : 0x55 */
    I2C_SetSlaveAddr(I2C3, 3, 0x75, I2C_GCMODE_DISABLE);   /* Slave Address : 0x75 */

    I2C_EnableInt(I2C3);
    NVIC_EnableIRQ(I2C3_IRQn);
}
Exemplo n.º 5
0
void I2C1_Init(void)
{
    /* Open I2C1 and set clock to 100k */
    I2C_Open(I2C1, 400000);

    /* Get I2C1 Bus Clock */
    printf("I2C1 clock %d Hz\n", I2C_GetBusClockFreq(I2C1));

    /* Set I2C1 2 Slave Addresses */
    I2C_SetSlaveAddr(I2C1, 0, SLAVE_ADDRESS, I2C_GCMODE_DISABLE);   /* Set Slave Address */

    I2C_EnableInt(I2C1);
    NVIC_EnableIRQ(I2C1_IRQn);

    /* I2C enter no address SLV mode */
    I2C_SET_CONTROL_REG(I2C1, I2C_SI | I2C_AA);
}
Exemplo n.º 6
0
// **********************************************************************
//                          I2C Master Initialize
// **********************************************************************
void I2C_MS_Master_Init()
{
	// =============PIN SETTNG==================
#ifdef I2C_MS_PORT0
	CLK_EnableModuleClock(I2C0_MODULE);
	/* Set I2C PA multi-function pins */
	SYS->GPE_MFPH &= ~(SYS_GPE_MFPH_PE12MFP_Msk | SYS_GPE_MFPH_PE13MFP_Msk);
	SYS->GPE_MFPH |= ( SYS_GPE_MFPH_PE12MFP_I2C0_SCL | SYS_GPE_MFPH_PE13MFP_I2C0_SDA);
	//GPIO_SetMode(PE, BIT12, GPIO_MODE_QUASI);
	//GPIO_SetMode(PE, BIT13, GPIO_MODE_QUASI);
	//SYS->GPA_MFPL &= ~(SYS_GPA_MFPL_PA2MFP_Msk | SYS_GPA_MFPL_PA3MFP_Msk);
	//SYS->GPA_MFPL |= (SYS_GPA_MFPL_PA2MFP_I2C0_SDA | SYS_GPA_MFPL_PA3MFP_I2C0_SCL);
#else
	CLK_EnableModuleClock(I2C1_MODULE);
	/* Set I2C PA multi-function pins */
	SYS->GPC_MFPL &= ~SYS_GPC_MFPL_PC4MFP_Msk;
	SYS->GPC_MFPL |= SYS_GPC_MFPL_PC4MFP_I2C1_SCL;
	SYS->GPE_MFPL &= ~SYS_GPE_MFPL_PE0MFP_Msk;
	SYS->GPE_MFPL |= SYS_GPE_MFPL_PE0MFP_I2C1_SDA;
#endif

	/* Open I2C module and set bus clock */
	I2C_Open(I2C_MS_PORT, 100000);

	/* Get I2C0 Bus Clock */
	printf("I2C MS Master clock %d Hz\n", I2C_GetBusClockFreq(I2C_MS_PORT));

	/* Enable I2C interrupt */
	I2C_EnableInt(I2C_MS_PORT);
#ifdef I2C_MS_PORT0
	NVIC_EnableIRQ(I2C0_IRQn);
#else
	NVIC_EnableIRQ(I2C1_IRQn);
#endif

	I2CMstWakeupEndFlag = 0;							//Master Wake up Flag
	I2CMstTRxEndFlag = 0;								//Master Transfer/Receive End Flag
	I2CMstSleepEndFlag = 0;								//Master sleep End Flag
	I2CMstWakeupEnStartFlag=1;
	I2CMstTRxEnStartFlag=1;
	I2CMstSleepEnStartFlag=1;
	I2CMstEndFlag=0;
	I2CMstTimeOutFlag = 0;

}
Exemplo n.º 7
0
void I2C0_Init(void)
{
    /* Open I2C module and set bus clock */
    I2C_Open(I2C0, 100000);

    /* Get I2C0 Bus Clock */
    printf("I2C clock %d Hz\n", I2C_GetBusClockFreq(I2C0));

    /* Set I2C 4 Slave Addresses */
    I2C_SetSlaveAddr(I2C0, 0, 0x15, 0);   /* Slave Address : 0x15 */
    I2C_SetSlaveAddr(I2C0, 1, 0x35, 0);   /* Slave Address : 0x35 */
    I2C_SetSlaveAddr(I2C0, 2, 0x55, 0);   /* Slave Address : 0x55 */
    I2C_SetSlaveAddr(I2C0, 3, 0x75, 0);   /* Slave Address : 0x75 */

    /* Enable I2C interrupt */
    I2C_EnableInt(I2C0);
    NVIC_EnableIRQ(I2C0_IRQn);
}
Exemplo n.º 8
0
// **********************************************************************
//               I2C Slave Initialize called by I2CWakeUpInit
// **********************************************************************
void I2C_MS_Slave_Init()
{
	// =============PIN SETTNG==================
#ifdef I2C_MS_PORT0
	CLK_EnableModuleClock(I2C0_MODULE);
	/* Set I2C PA multi-function pins */
	SYS->GPE_MFPH &= ~(SYS_GPE_MFPH_PE12MFP_Msk | SYS_GPE_MFPH_PE13MFP_Msk);
	SYS->GPE_MFPH |= ( SYS_GPE_MFPH_PE12MFP_I2C0_SCL | SYS_GPE_MFPH_PE13MFP_I2C0_SDA);
#else
	CLK_EnableModuleClock(I2C1_MODULE);
	/* Set I2C PA multi-function pins */
	SYS->GPC_MFPL &= ~SYS_GPC_MFPL_PC4MFP_Msk;
	SYS->GPC_MFPL |= SYS_GPC_MFPL_PC4MFP_I2C1_SCL;
	SYS->GPE_MFPL &= ~SYS_GPE_MFPL_PE0MFP_Msk;
	SYS->GPE_MFPL |= SYS_GPE_MFPL_PE0MFP_I2C1_SDA;
#endif

	/* Open I2C module and set bus clock */
	I2C_Open(I2C_MS_PORT, 100000);

	/* Get I2C0 Bus Clock */
	printf("I2C MS Slave clock %d Hz\n", I2C_GetBusClockFreq(I2C_MS_PORT));

	/* Set I2C 4 Slave Addresses */
#if 1
	I2C_SetSlaveAddr(I2C_MS_PORT, 0, devNum+0x14, 0);
#else
	if(devNum == 1)
		I2C_SetSlaveAddr(I2C_MS_PORT, 0, 0x15, 0);	/* Slave Address : 21,Buzzer */
	else if(devNum == 2)
		I2C_SetSlaveAddr(I2C_MS_PORT, 0, 0x16, 0);   /* Slave Address : 22,Led */
	else if(devNum == 3)
		I2C_SetSlaveAddr(I2C_MS_PORT, 0, 0x17, 0);   /* Slave Address : 23,AHRS */
	else if(devNum == 4)
		I2C_SetSlaveAddr(I2C_MS_PORT, 0, 0x18, 0);   /* Slave Address : 24,SONAR */
	else if(devNum == 5)
		I2C_SetSlaveAddr(I2C_MS_PORT, 0, 0x19, 0);   /* Slave Address : 25,TEMPERATURE */
	else if(devNum == 6)
		I2C_SetSlaveAddr(I2C_MS_PORT, 0, 0x1a, 0);   /* Slave Address : 26,Gas */
	else if(devNum == 7)
		I2C_SetSlaveAddr(I2C_MS_PORT, 0, 0x1b, 0);   /* Slave Address : 27,IR */
	else if(devNum == 8)
		I2C_SetSlaveAddr(I2C_MS_PORT, 0, 0x1c, 0);   /* Slave Address : 28,KEY */
	else if(devNum == 9)
		I2C_SetSlaveAddr(I2C_MS_PORT, 0, 0x1d, 0);   /* Slave Address : 29, Reserved device 9 */
	else if(devNum == 10)
		I2C_SetSlaveAddr(I2C_MS_PORT, 0, 0x1e, 0);   /* Slave Address : 30, Reserved device 10 */
	else if(devNum == 11)
		I2C_SetSlaveAddr(I2C_MS_PORT, 0, 0x1f, 0);   /* Slave Address : 31, Reserved device 11 */
	else if(devNum == 12)
		I2C_SetSlaveAddr(I2C_MS_PORT, 0, 0x20, 0);   /* Slave Address : 32, Reserved device 12 */
	else if(devNum == 13)
		I2C_SetSlaveAddr(I2C_MS_PORT, 0, 0x21, 0);   /* Slave Address : 33, Reserved device 13 */
	else if(devNum == 14)
		I2C_SetSlaveAddr(I2C_MS_PORT, 0, 0x22, 0);   /* Slave Address : 34, Reserved device 14 */
#endif	

	I2C_SetSlaveAddr(I2C_MS_PORT, 1, 0x35, 0);   	/* Slave Address : 0x35 */
	I2C_SetSlaveAddr(I2C_MS_PORT, 2, 0x55, 0);   	/* Slave Address : 0x55 */
	I2C_SetSlaveAddr(I2C_MS_PORT, 3, 0x75, 0);   	/* Slave Address : 0x75 */

	/* Enable I2C interrupt */
	I2C_EnableInt(I2C_MS_PORT);
#ifdef I2C_MS_PORT0
	NVIC_EnableIRQ(I2C0_IRQn);
#else
	NVIC_EnableIRQ(I2C1_IRQn);
#endif

#ifdef I2C_MS_PORT0
	s_I2C0HandlerFn = (I2C_FUNC)I2C_MS_Slave;
#else
	s_I2C1HandlerFn = (I2C_FUNC)I2C_MS_Slave;
#endif

	/* Enable I2C wake-up */
	I2C_EnableWakeup(I2C_MS_PORT);

	/* Set I2C0 enter Not Address SLAVE mode */
	I2C_SET_CONTROL_REG(I2C_MS_PORT, I2C_CTL_SI_AA);

}