匿名
未登录
登录
丢石头百科
搜索
查看“STM8 I2C从模式”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
STM8 I2C从模式
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<table border="0" cellpadding="0" cellspacing="0" style="color: rgb(72, 61, 139); font-family: Arial, 新宋体, 微软雅黑; font-size: 12px;" width="780"><tbody><tr><th class="type_483D8B" scope="col" style="line-height: 20px; font-weight: normal; border-top-style: none;" valign="top"> STM8 I2C从模式 为了产生正确的时序,必须在I2C_FREQR寄存器中设定该模块的输入时钟。输入时钟的频率必须至少是:* 标准模式下为:1MHz<li>快速模式下为:4MHz 一旦检测到起始条件,在SDA线上接收到的地址被送到移位寄存器。然后与STM8芯片自己的地址OARLSB和OAR2或者广播呼叫地址(如果ENGC=1)相比较。 </li> 注:在10位地址模式时,比较包括头段序列(11110xx0),其中的xx是地址的两个最高有效位。 头段或地址不匹配:I2C接口将其忽略并等待另一个起始条件。 头段匹配(仅10位模式):如果ACK位被置'1',I2C接口产生一个应答脉冲并等待8位从地址。 地址匹配:I2C接口产生以下时序:<li>如果ACK被置'1',则产生一个应答脉冲 </li><li>硬件将ADDR位置为1;如果设置了ITEVFEN位,则产生一个中断 在10位模式,接收到地址序列后,从设备总是处于接收模式。当接收到重复的起始条件,接着后面跟随与地址匹配的头序列并且最低位为'1'(即11110xx1)后,设备进入发送模式。 在从模式下TRA位指示当前是处于接收模式还是发送模式。</li> <strong>从发送模式</strong> 在接收到地址和清除ADDR位后,从设备将字节从DR寄存器经由内部移位寄存器发送到SDA线上。 从设备保持SCL为低电平,直到ADDR位被清除并且待发送数据已写入DR寄存器。当收到应答脉冲时:<li>TxE位被硬件置为1,如果设置了ITEVFEN和ITBUFEN位,则产生一个中断。 如果写入到DR寄存器,TxE位为1,但在上一次数据发送结束之前没有新数据写入到DR寄存器,则BTF位被置为1,I2C接口将保持SCL为低电平,以等待DR寄存器写操作。</li> [[File:STM8_P249_1.jpg]] (图94:STM8从发送器的传送序列图) <strong>从设备接收模式</strong> 在接收到地址并清除ADDR后,从接收器将通过内部移位寄存器从SDA线接收到的字节存进DR寄存器。I2C接口在接收到每个字节后都执行下列操作:* 如果设置了ACK位,则产生一个应答脉冲<li>硬件设置RxNE=1。如果设置了ITEVFEN和ITBUFEN位,则产生一个中断。 如果RxNE为1,并且在接收新的数据结束之前DR寄存器未被读出,BTF位被置位,I2C接口保持SCL为低电平,等待DR寄存器读操作(见下图)。 [[File:STM8_P250_1.jpg]] (图95:STM8从接收器的传送序列图) </li> <strong>关闭从模式通信</strong> 在传输完最后一个数据字节后,主设备产生一个停止条件,I2C接口检测到这一条件时:<li>设置STOPF=1,如果设置了ITEVFEN位,则产生一个中断。 </li>然后I2C接口等待读SR1寄存器,再写CR1寄存器。(见图95的EV4)。</th></tr></tbody></table>
返回至
STM8 I2C从模式
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志