本地总线接口与嵌入式系统的低功耗设计
1. 本地总线接口通信流程
在本地总线接口的通信中,以I2C通信为例,其基本流程如下:
1. 发送起始条件 :使用之前定义的函数发送起始条件,并等待该起始条件出现在总线上。
i2c1_send_start();
- 设置目标地址 :将目标地址设置为即将传输字节的高7位,最低位设置为0,表示写操作。等待接收从设备确认正确的地址选择后,设置I2C1_SR2中的两个标志位,表明已选择主模式且总线仍被占用。
I2C1_DR = (address << 1);
do {
sr2 = I2C1_SR2;
} while ((sr2 & (I2C_SR2_BUSY | I2C_SR2_MASTER)) != (I2C_SR2_BUSY | I2C_SR2_MASTER));
- 数据传输 :与从设备的数据通信已启动,可传输2个数据字节。通过TX FIFO EMPTY事件指示每个字节在事务帧内的传输情况。
I2C1_DR = (0x00);
do {
sr1 = I2C1_SR1;
} while ((sr1 & I2C_SR1_TX_EMPTY) != 0)
超级会员免费看
订阅专栏 解锁全文
26

被折叠的 条评论
为什么被折叠?



