ตัวอย่างสมบูรณ์ — ไดรเวอร์ I2C ระดับไบต์
rgb_panel.c — ทั้งสามแบบฝึกเรียกไดรเวอร์นี้ร่วมกัน:
status = Cy_SCB_I2C_MasterSendStart(base, RGB_PANEL_I2C_ADDRESS,
CY_SCB_I2C_WRITE_XFER,
RGB_PANEL_BYTE_TIMEOUT_MS, context);
if (status == CY_SCB_I2C_SUCCESS) {
for (uint32_t i = 0U; i < RGB_PANEL_TX_SIZE; i++) {
status = Cy_SCB_I2C_MasterWriteByte(base, tx_buffer[i],
RGB_PANEL_BYTE_TIMEOUT_MS, context);
if (status != CY_SCB_I2C_SUCCESS) { break; }
}
}
stop_status = Cy_SCB_I2C_MasterSendStop(base,
RGB_PANEL_BYTE_TIMEOUT_MS, context);