66 #define I2C_MASTER_MODE 1
68 #define I2C_SLAVE_ADDR_7BIT (0x90)
70 #define I2C_SLAVE_ADDR_10BIT (0x2CA)
72 #define I2C_ROM_MEM_SIZE (0x100UL)
74 #define I2C_BITRATE (1000000)
76 #define BUFFER_SIZE (0xFF)
104 for (i = 0; i < buf_len; i++) {
109 for (i = 0; i < buf_len; i++) {
128 for (i = StartPos; i < StopPos; i++) {
129 if (buffer1[i] != buffer2[i]) {
224 NVIC_DisableIRQ(I2C_IRQn);
225 NVIC_ClearPendingIRQ(I2C_IRQn);
226 NVIC_EnableIRQ(I2C_IRQn);
293 NVIC_DisableIRQ(I2C_IRQn);
294 NVIC_ClearPendingIRQ(I2C_IRQn);
295 NVIC_EnableIRQ(I2C_IRQn);
312 NVIC_DisableIRQ(I2C_IRQn);
313 NVIC_ClearPendingIRQ(I2C_IRQn);
314 NVIC_EnableIRQ(I2C_IRQn);
328 static void App_I2C_Slave_Polling(
void)
375 static void App_I2C_Slave_Interrupt(
void)
387 NVIC_DisableIRQ(I2C_IRQn);
388 NVIC_ClearPendingIRQ(I2C_IRQn);
389 NVIC_EnableIRQ(I2C_IRQn);
442 static void App_I2C_Slave_10bitAddressTest(
void)
453 NVIC_DisableIRQ(I2C_IRQn);
454 NVIC_ClearPendingIRQ(I2C_IRQn);
455 NVIC_EnableIRQ(I2C_IRQn);
550 App_I2C_Slave_Polling();
551 App_I2C_Slave_Interrupt();
552 App_I2C_Slave_10bitAddressTest();