本帖最后由 bitter 于 2023-4-13 08:55 编辑
【英飞凌PSOC 62S4 PIONEER KIT 测评】——I2C
通过翻阅数据手册,发现PSOC 62S4 PIONEER KIT拥有六个Serial Communication Blocks (SCB),都可以配置为I2C模式,操作速率高达1Mbps。它还支持EZI2C,创建了一个邮箱地址范围,并有效地将I2C通信减少到读取和写入内存中的数组。SCB支持一个256字节的FIFO,用于接收和传输。SCB兼容I2C标准模式、快速模式和快速模式+。I2C总线I/O采用开漏模式的GPIOs实现。
二、主要API介绍
1. I2C初始化cyhal_i2c_init()
注意:默认情况下,它被配置为Master,总线频率= CYHAL_I2C_MASTER_DEFAULT_FREQ。使用cyhal_i2c_configure()更改默认行为。
- I2C配置cyhal_i2c_configure()
其中,cyhal_i2c_cfg_t结构体为
注意:特定于主/从的函数只有在块被配置为该模式时才有效。
- I2C高级配置cyhal_i2c_configure_adv()
其中,cyhal_i2c_cfg_t结构体为
- I2C事件使能cyhal_i2c_enable_event()
其中,cyhal_i2c_event_t枚举为
- I2C地址事件使能cyhal_i2c_enable_address_event()
其中,cyhal_i2c_addr_event_t枚举为
PS:
- 不知道为什么使用官方提供的I2C例程编译能通过,但是I2C并没有任何数据发出,通过debug发现是在调用cyhal_i2c_master_write()发送数据错误,不清楚是什么情况。
- 在PSOC 62S4 PIONEER KIT的KitProg3可以作为一个USB-I2C桥接器,并可以与作为I2C MASYER的Bridge Control Panel(BCP)软件进行通信。但是找了半天也没找到这个软件在哪。下图是BCP的界面和KitProg3与PSoC 62S4的连接。