I2C Receive Send Polling¶
1 功能概述¶
本例程演示如何使用 I2C HAL Driver 实现查询方式的I2C收发功能。
2 环境准备¶
硬件设备与线材:
PAN107X EVB 核心板与底板各两块
JLink 仿真器(用于烧录例程程序)
USB-TypeC 线两条(用于底板供电和查看串口打印 Log)
杜邦线数根或跳线帽数个(用于连接各个硬件设备)
硬件接线:
将 EVB 核心板插到底板上
使用 USB-TypeC 线,将 PC USB 插口与 EVB 底板 USB->UART 插口相连
使用杜邦线将 EVB0 底板上的 P13(SDA)、P14(CLK)分别接入EVB1对应相同PAD上
使用杜邦线将 JLink 仿真器的:
SWD_CLK 引脚与 EVB 底板的 P00 排针相连
SWD_DAT 引脚与 EVB 底板的 P01 排针相连
SWD_GND 引脚与 EVB 底板的 GND 排针相连
PC 软件:
串口调试助手(UartAssist)或终端工具(SecureCRT),波特率 921600(用于接收串口打印 Log)
3 编译和烧录¶
例程位置:<PAN10XX-NDK>\01_SDK\nimble\samples\peripheral\i2c_master_poll_send\keil_107x
PAN10XX-NDK>\01_SDK\nimble\samples\peripheral\i2c_slave_poll_receive\keil_107x
双击NDK>\01_SDK\nimble\samples\peripheral\i2c_master_poll_send\keil_107x目录下Keil Project 文件打开工程进行编译并烧录至EVB0板。
双击NDK>\01_SDK\nimble\samples\peripheral\i2c_slave_poll_receive\keil_107x目录下Keil Project 文件打开工程进行编译并烧录至EVB1板。
4 例程演示说明¶
先烧录i2c_slave_poll_receive hex至EVB1,芯片会通过串口打印初始化 Log,i2c slave进入接收模式,等待接收32Byte数据:
Try to load HW calibration data.. DONE. - Chip Info : 0x1 - Chip CP Version : 255 - Chip FT Version : 4 - Chip MAC Address : D0000000037D - Chip UID : 7D0300DDF8375603E8 - Chip Flash UID : 425031563233391700DDF8375603E878 - Chip Flash Size : 512 KB APP version: 255.255.65535 start i2c slave poll start receive
烧录i2c_master_poll_send hex至EVB0,芯片会通过串口打印初始化 Log,i2c master进入发送模式,发送8bit数据0x00~0x1f,发送前打印Log start i2c master poll start send,发送完成打印Log start i2c master poll send over:
Try to load HW calibration data.. DONE. - Chip Info : 0x1 - Chip CP Version : 255 - Chip FT Version : 4 - Chip MAC Address : D000000000D1 - Chip UID : D10000F5F737560347 - Chip Flash UID : 425031563233391700F5F73756034778 - Chip Flash Size : 512 KB APP version: 255.255.65535 start i2c master poll start send start i2c master poll send over
i2c slave接收32 Byte数据并打印接收的数据:
start i2c slave poll received: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F