**Support Board: BK7236** I2c =============================== Project Overview ------------------------------- This project is used to demonstrate the functions of the peripheral module i2c Hardware Requirements ------------------------------- BK7236 development board Configure and Build ------------------------------- Configure *************************** Build *************************** Execute the following command in the Armino root directory to compile:make bk7236 Connect UART *************************** Uart0 is used for Logging and CLI Flash *************************** Burn all-app.bin to the board using BKFIL. Running and Output ------------------------------- i2c0 communication as follows: - The BK7236 development board is used as the master device, and the eeprom is used as the slave device - The clock interface swclk of BK7236 i2c module is connected with the clock interface sclk_e2 of eeprom i2c module - The data interface swdio of BK7236 i2c module is connected with the data interface sdio_e2 of eeprom i2c module - Block block BK7236 development board and eeprom, total eeprom external voltage of 3.3v - The SWCLK BK7236 and swdio on 2k resistors, respectively The cmd example of i2c0 as follows: - i2c_driver init - i2c 0 init - i2c 0 memory_write 10 0x50 - i2c 0 memory_read 10 i2c1 communication as follows: - The BK7236 development board is used as the master device, and the eeprom is used as the slave device - The clock interface TXD of BK7236 i2c module is connected with the clock interface sclk_e2 of eeprom i2c module - The data interface RXD of BK7236 i2c module is connected with the data interface sdio_e2 of eeprom i2c module - Block block BK7236 development board and eeprom, total eeprom external voltage of 3.3v The cmd example of i2c1 as follows: - i2c_driver init - i2c 1 init - i2c 1 memory_write 10 0x50 - i2c 1 memory_read 10 Case 1 of i2c0 *************************** Operate *************************** Execute cmd init i2c_driver and observe the process Output *************************** :: [SYNC]:i2c driver init Case 2 of i2c0 ************************** Operate *************************** Execute cmd init i2c and observe the process Output *************************** :: [SYNC]:I2C(0) init ok, baud_rate:400000 [SYNC]:I2C(0) init Case 3 of i2c0 ************************* Operate ************************** Execute cmd i2c 0 memory_write 10 0x50 and observe the process Output ************************** :: [SYNC]:memory_write buf_len:10 Case 4 of i2c0 ************************** Operate ************************** Execute cmd i2c 0 memory_read 10 and observe the process Output ************************** :: [SYNC]:i2c_read_buf[0]=0 [SYNC]:i2c_read_buf[1]=1 [SYNC]:i2c_read_buf[2]=2 [SYNC]:i2c_read_buf[3]=3 [SYNC]:i2c_read_buf[4]=4 [SYNC]:i2c_read_buf[5]=5 [SYNC]:i2c_read_buf[6]=6 [SYNC]:i2c_read_buf[7]=7 [SYNC]:i2c_read_buf[8]=8 [SYNC]:i2c_read_buf[9]=9 [SYNC]:i2c(0) memory_read buf_len:10 Case 5 of i2c1 *************************** Operate *************************** Execute cmd init i2c_driver and observe the process Output *************************** :: [SYNC]:i2c driver init Case 6 of i2c1 ************************** Operate *************************** Execute cmd init i2c and observe the process Output *************************** :: [SYNC]:I2C(1) init ok, baud_rate:400000 [SYNC]:I2C(1) init Case 7 of i2c1 ************************* Operate ************************** Execute cmd i2c 1 memory_write 10 0x50 and observe the process Output ************************** :: [SYNC]:memory_write buf_len:10 Case 8 of i2c1 ************************** Operate ************************** Execute cmd i2c 1 memory_read 10 and observe the process Output ************************** :: [SYNC]:i2c_read_buf[0]=0 [SYNC]:i2c_read_buf[1]=1 [SYNC]:i2c_read_buf[2]=2 [SYNC]:i2c_read_buf[3]=3 [SYNC]:i2c_read_buf[4]=4 [SYNC]:i2c_read_buf[5]=5 [SYNC]:i2c_read_buf[6]=6 [SYNC]:i2c_read_buf[7]=7 [SYNC]:i2c_read_buf[8]=8 [SYNC]:i2c_read_buf[9]=9 [SYNC]:i2c(1) memory_read buf_len:10