smbus总线单片机c语言程序,SMBus总线单片机硬件接口

本文介绍了SMBus总线作为I2C的扩展,及其在单片机应用中的特点。针对STM32单片机在高速时可能出现的中断干扰问题,文章对比了不同单片机的SMBus硬件接口,并以中颖79f329为例详细阐述了SMBus的操作流程,包括主发送器和主接收器模式。此外,还提到了SMBus的超时判断、通讯频率设定以及状态码解析,为SMBus总线的C语言编程提供实用指导。
摘要由CSDN通过智能技术生成

SMBus总线是根据I2C总线改进而来的,很多单片机提供了硬件SMbus总线接口,STM32单片机听说硬件接速可以使用高速时有中断干扰时会死掉,这点STM32有个硬伤,其他单片机还好,下面是介绍中颖的79f329单片机的SMBus总线做这个介绍。

首先它和I2c先发起始位,器件地址,从机应答,读写地址,再应答。

START Addr MSB AddrMSB R/W ACK

起始位 地址 地址 读写 应答

____________________________________________________________________________________________________

每次数据字节或从地址传输都产生 SMBus 中断。发送数据时在 ACK 周期后产生中断,

使软件能读取接收到ACK值;接收数据时在ACK周期之前产生中断,使软件能确定要发出的ACK值

主器件产生起始条件时也会产生一个中断,指示数据传输开始;

从器件在检测到停止条件时产生一个中断,指示数据传输结束。

软件应通过读 SMB0CN( SMBus 控制寄存器)来确定 SMBus 中断的原因。

主发送器、主接收器、从发送器或从接收器四种模式

SMBus 在产生起始条件时进入主方式,并保持在该方式直到产生一个停止条件或在总线竞争中失败。

设置P0OS P0.5 P0.6

___________________________________________________________________________________________________

主发送器方式

SDA发数据,SCL输出时钟。<

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值