编辑: kieth | 2018-08-12 |
3 SIMC0 寄寄寄寄存器 存器 存器 存器 SIMC0 寄存器也是 SPI 和I2 C 共用的, 它用来打开或者关闭串行总线功能, 设置 SIM 模式. SIMEN:SIMEN 位决定 I2 C 功能的开和关.当SIMEN 位被清除为零时,将关闭掉 I2 C 功能,SDA 与SCL 总线将会处于浮空状态,I2 C 工作电流将变为最小值.当这一位变为
1 时, I2 C 功能将打开.当然,必须要先在配置选项中打开 SIM 功能,这一位才会有效. SIM0~SIM2:这几位设置 SIM 功能的操作模式,也就是选择 I2 C 功能或者选择 SPI 功能. 当SIM0~SIM2 为110 时,将选中 I2 C 功能. SIMC1 寄存器 寄存器 寄存器 寄存器 SIMC1 寄存器是一个 I2 C 专用的寄存器. RXAK:RXAK 是从机设备接收到的应答标志位.RXAK 为0时,表示接收设备接收
8 个 位的数据后,在第
9 个SCL 时钟发出的应答信号已被发送设备收到.当从机设备处于发送 模式,主机设备处于接收模式时,从机设备通过检查 RXAK 位来确定主机设备是否要接收 下一个字节的数据,RXAK 为0,表示主机设备要继续接收数据,从机设备将发送下一个 字节的数据,RXAK 为1,表示主机设备不再接收数据,从机设备将释放 SDA 总线,主机 设备将发送停止信号,释放 I2 C 总线. IAMWU:此位用来控制 I2 C 地址匹配是否可以唤醒 MCU,1 为是,0 为否. SRW:SRW 是一个从机的读取/写入模式位.这一位决定了主机是希望发送或者接收数据. 当主机传送的地址和从机匹配后,HAAS 位将被设为高,设备将会检查 SRW 位来决定是应 该进入发送模式或者是接收模式.如果 SRW 位为高,主机会请求从 I2 C 总线读取数据,此 时从机设备为发送模式.反之,主机会写入数据到总线,从机为接收模式. TXAK:TXAK 是从机设备发送出去的应答标志位.当从机设备处于接收模式,主机设备 处于发送设备时,从机设备接收
8 个位的数据后,在第
9 个SCL 时钟把 TXAK 位作为应答 信号发送给主机设备. 当TXAK 设置为
0 时, 表示从机设备要接收下一个字节的数据, TXAK 设置为
1 时,表示从机设备不再接收数据. HTX:HTX 是从机的读取/写入模式标电平.这一位被设为高为发送模式,设为低为接收模 HT66F40 使用 使用 使用 使用 SIM I2 C Mode 之用法与注意事项 之用法与注意事项 之用法与注意事项 之用法与注意事项
4 式. HBB:HBB 是I2 C 总线繁忙标志位.HBB 变为
1 时,表示从机设备检测到主机设备发送的 开始信号,总线处于繁忙状态.HBB 变为
0 时,表示从机检测到主机发送的停止信号,总 线处于空闲状态. HAAS: HAAS 是一个地址匹配标志位. 这个标电平由从机设备的地址是否同主机发送的地 址相同决定.如果地址匹配这一位会为高,不匹配则为低. HCF:HCF 是一个数据传送标志位.当数据正被传送时,它将被设置为 0.当传送完成后, 这一位会变为 1,同时将产生一个中断. I2 C 总线通信 总线通信 总线通信 总线通信 I2 C 总线的通信需要四步骤完成,一个开始信号、一个从器件地址发送、一个数据发送和一 个最终的停止信号. 当开始信号被写入 I2 C 总线时, 所有的总线的器件都会接收信号并且被 通知总线会立即有地址数据到达.数据的前
7 位是从器件地址,高位在前,低位在后.如 果从器件地址匹配,MCU 会将 HAAS 设置为 1,同时产生 I2 C 总线中断.进入中断服务程 序后,系统要检测 HAAS 位,以确定 I2 C 总线中断是来自从机地址匹配,还是来自