GD32的本机地址、从机地址、双地址模式的区别

GD32的I2C外设:本机地址、从机地址、双地址模式的区别


在使用GD的I2C时,按照官方的例程进行修改,在修改的过程中,发现对于主机地址和从机从机地址、双从机地址模式的介绍很少,容易让人产生疑惑,特地做个

本机地址

在使用I2C时,一般调用以下函数进行I2C模式以及地址的配置

i2c_mode_addr_config(uint32_t i2c_periph,uint32_t mode, uint32_t addformat,uint32_t addr)

其中形参addr最终赋值给I2C_SADDR0_ADDRESS,至于I2C_SADDR0_ADDRESS是什么并未有相关文档进行详细的描述,只说了是从机地址
从机地址寄存器

实际上,I2C_SADDR0_ADDRESS是代表工作在从机模式下的本机地址,即在做为主机使用时其实并没有作用。

例程中,这个addr形参给的与I2C发送的从机设备地址是一致的,都是0xA0,这个容易让人误以为是配置从机地址的地方,实际上从机地址并不是在这里进行配置,而是在通信过程中发送的。

I2C初始化配置例程(EEPROM_BLOCK0_ADDRESS和I2C0_SLAVE_ADDRESS7都是0xA0):
I2C初始配置

I2C主机模式的本机地址定义
I2C主机模式的从机地址赋值

从机地址

这里说的从机地址是本机作为主机时,需要查询或通信的从机模块的地址。该地址是在通信过程中发送的数据信息。如下图:
在这里插入图片描述

双地址模式

可以实现从机模式下,同时响应两个地址的功能。

https://www.cnblogs.com/firege/p/9372029.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值