GD32E50x的硬件主I2C时序配置

[复制链接]
1088|4
 楼主| luoengineer 发表于 2022-8-2 18:25 | 显示全部楼层 |阅读模式


用户手册上说 :
可编程的 建立时间和 保持时间;
支持标速(最高 100 kHz ),快速(最高 400 kHz )和 快速 模式( 最高 1 MHz)

I2C 时钟独立于PCLK 时钟,因此可以独立操作I2C。
I2C 时钟(I2CCLK)可以从以下三个时钟源中选择:
 APB1 时钟PCLK1(默认值)
 内部8M RC 时钟IRC8M
 系统时钟SYSCLK
I2C 时钟周期tI2CCLK 必须满足以下条件:
 tI2CCLK < (tLOW - tfilters) / 4
 tI2CCLK < tHIGH

问题1:这里的tI2CCLK是指PCLK1分频后的时钟即还是指I2C通信的时钟(400K、1M)?


时序 寄存器 (I2C_TIMING)
地址偏移:0x 10
复位值:0x0000 0000

31:28
PSC[3:0]
时序预分频
为了生成用于数据建立和数据保持的计数器的时钟周期tPSC,这些位用于配置I2CCLK时钟预分频。tPSC也用于SCL高电平和低电平计数器。
tPSC = (PSC+1) x tI2CCLK

问题2:这里的tI2CCLK是指PCLK1分频后的时钟即还是指I2C通信的时钟(400K、1M)?
koala889 发表于 2022-8-3 20:36 | 显示全部楼层
感觉还是io模拟实在,移植也快

评论

模拟IO的初始化例程请问可以分享一下吗?  发表于 2022-8-11 17:08
 楼主| luoengineer 发表于 2022-8-4 11:15 | 显示全部楼层
koala889 发表于 2022-8-3 20:36
感觉还是io模拟实在,移植也快

模拟时序掌控恐怕还要调的时间更长
koala889 发表于 2022-8-6 15:59 | 显示全部楼层
可能是习惯问题了,
不过,直接用硬件的,速度上会好很多
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

80

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部