<
本帖最后由 icestream 于 2024-7-22 14:47 编辑
Kit 型号 : CYW920829M2EVK-02
例程:“EzI2C_Deep_Sleep” ,在英飞凌平台的开发软件是 modus,如果当前对Create Project有疑问可以看我 之前帖子【英飞凌CYW20829测评】 从 0开始创建 project 串口循环打印 语句 图片附件
Qustion: 英飞凌的 EZI2C 和一般的I2C有什么不同吗 ?
Answer:EZI2C是英飞凌软件特有的,EZI2C的 read buffer和Writebuffer是同一个数组;只支持 Slave模式;遵循 I2C标准协议;
I2C Write
I2C Read
Qustion:Bridge Control panel 是一款什么软件?
Answer:是英飞凌推出的模拟 I2C Master的 软件,需要配合 miniprog3或者miniprog4 烧录器使用;
由于 CYW920829M2EVK-02 的PCB自带 烧录器功能,所以不需要另外使用 Miniprog了
软件截图
Miniprog4 烧录器截图 支持烧录英飞凌程序和I2C通信
Bridge Control panel 和miniprog 烧录器等资料可从 官网获取 Infineon
---------------------------------------------------------------------------------------------------------------------------------------------------------
1、EzI2C_Deep_Sleep例程也可以从 git下载 EzI2C_Deep_Sleep
2、为了方便测试我把main.c更改了一下 对数组 赋值了
烧录程序之后,串口 log如上
3、烧录程序,然后通过Bridge controller panel 软件来操作 I2C;从程序可知,I2C slave地址是0X08 ,Clock rate 100k
Read 命令验证

程序里面: uint8_t ezi2c_buffer[EZI2C_BUFFER_SIZE] = {0X11,0X22,0X33,0X44,0X55,0X66};//宏定义EZI2C_BUFFER_SIZE =8
W 08 03 r 08 x p;解释下 "w"是write 命令,08是Slave地址 ,03可认是寄存器地址,表示读取 I2C 数据 buffer (ezi2c_buffer) 的index=03的data;
"r"是read 命令,"x"可认为 占位符,表示读取一个 寄存器,几个"x"表示几个 寄存器 ;p"是此帧 结束符;
下面返回的是 "08 44+" ,读取是正确的,Index等于03的数据是 0X44;
Write 命令验证
需要先write然后read 看写入对吗?

下面我read一下
--------------------------------------------------
DeepSleep 唤醒问题 ;
在程序里面设置了,I2C 中断可以唤醒 Deepsleep,所以,每次I2C write或者read会唤醒 Deepsleep
程序代码请看附件
谢谢
------------------------------------------到底了-------------------------------------------------------------------------------------------------------------------------
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|