你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8 I2C通信问题

[复制链接]
peter-338909 提问时间:2014-12-26 22:38 /

各位大神,小弟初学,在用STM8S003F3调试硬件I2C,总线上有三个器件,包括STM8,当我用MCU把另两个器件复位后,发现I2C被IC1占用,MCU要对IC2写配置写不进去,总线一直忙,后来我用IC1的测试工具接到I2C总线上发现,这个工具每次对I2C进行操作的时候都会把SDA和SCL拉低然后再发送数据(图1)。我就想如果让MCU的I2C每次通讯前也把SDA和SCL拉低,但是我用了很多方法都没办法把SDA和SCL拉低,请各位大神指点,程序要怎么写?谢谢!

图1

图1

图2

图2
收藏 评论5 发布时间:2014-12-26 22:38

举报

5个回答
那片清茶 回答时间:2014-12-27 09:18:57
STM8的IIC最好用模拟的。
peter-338909 回答时间:2014-12-27 13:07:28
没有用过模拟的I2C,有没有例子,我也可以试试
奔跑小蜗牛 回答时间:2014-12-29 10:16:35
STM8的i2c接口引脚是否连接正确?在引脚外面加一个上拉,IO配置为开漏输出,这样从设备就能拉低总线。如果你把IO设置为推挽输出,i2c设备是不能拉低总线的,推挽能力太强了。读数据的时候,只需要读取ODR_IDR寄存器就可以知道引脚的高低电平值。
wamcncn 回答时间:2014-12-29 19:12:17
这个工具每次对I2C进行操作的时候都会把SDA和SCL拉低,是怎么拉低了,工具能,MCU不能?
damiaa 回答时间:2014-12-31 14:14:15
SCL 线是高电平时,SDA 线从高电平向低电平切换,这个情况表示起始条件;

SCL 线是高电平时,SDA 线由低电平向高电平切换,这个情况表示停止条件。

SDA不变时,            SCL由低到高到低1位数据传送过去,连续8位为一字节.

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版