2025-10-10 16:07:00 +08:00

195 lines
4.3 KiB
ReStructuredText
Executable File

**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