#ASC51. ASC实验室的IIC设备通讯演练

ASC实验室的IIC设备通讯演练

题目描述

在ASC智能车实验室,大家常常用IIC(I2C)总线连接各种传感器,比如MPU6050、OLED屏、EEPROM等等。每次调试,学长们会用单片机模拟主机,发起一整套标准的IIC通讯流程,包括:

发送起始信号(Start)

发送设备地址和读写位

等待从机应答(ACK或NACK)

成功应答后读写数据

结束通信(Stop)

实验室的IIC总线规范:

地址为0到119的设备是常规可用传感器或模块,主机能收到“ACK”应答;

地址为120到127是保留或特殊用途,主机收不到“ACK”应答,只能得到“NACK”。

假如你就是实验室调试员,请你根据输入的IIC设备地址和读写操作,输出实验室标准的IIC通信流程!

输入格式

输入一行,包含两个整数,分别表示设备地址 addr(0<=addr<=127)和操作标志 rw(0为写,1为读)。

输出格式

如果设备地址在0~119之间,按如下格式输出:

Start
Addr: [addr], RW: [rw]
ACK
Transferring Data
Stop

否则(设备未应答)输出:

Start
Addr: [addr], RW: [rw]
NACK
Stop

样例

68 1
Start
Addr: 68, RW: 1
ACK
Transferring Data
Stop

图片与题无关