2015-7-13 11:35| 发布者: kaloha| 查看: 5886| 评论: 0
STM8 I2C主模式
在主模式时,I C接口启动数据传输并产生时钟信号。串行数据传输总是以起始条件开始并以停止条件结束。当通过START位在总线上产生了起始条件,设备就进入了主模式。以下是主模式所要求的操作顺序:
注:在主模式下,设置STM8的START位将在当前字节传输完后由硬件产生一个重开始条件。
一旦发出开始条件:
从地址的发送从地址通过内部移位寄存器被送到SDA线上。
主设备发送模式
在发送了地址和清除了ADDR位后,主设备通过内部移位寄存器将字节从DR寄存器发送到SDA线上。
主设备等待,直到TxE被清除,(见图96传送序列的EV8)。 当收到应答脉冲时:
关闭通信在DR寄存器中写入最后一个字节后,通过设置STOP位产生一个停止条件(见图96传送序列的EV8_2),然后I2C接口将自动回到从模式(M/S位清除)。
注:TxE或BTF位置位时,应该在EV8_2事件时设置停止条件。
(图96:STM8主设备发送模式发送序列图)
主设备接收
在发送地址和清除ADDR之后,I2C接口进入主设备接收模式。在此模式下,I2C接口从SDA线接收数据字节,并通过内部移位寄存器送至DR寄存器。在每个字节后,I2C接口依次执行以下操作:
关闭通信主设备在接收到从设备发送的最后一个字节后发送一个NACK。从设备接收到NACK后,释放对SCL和SDA线的控制;主设备就可以发送一个停止/重起始条件。
(图97:STM8主设备接收模式接收序列图)
以上资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!
评论
微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )
GMT+8, 2024-12-22 13:04 , Processed in 0.025160 second(s), 20 queries .