195 lines
4.3 KiB
ReStructuredText
Executable File
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
|