设为首页 收藏本站
开启辅助访问 切换到宽版

  找回密码
  立即注册

QQ登录

只需一步,快速开始

快捷导航
  • 论坛
  • 问答区
  • 单片机教程
  • 单片机DIY
  • 电子DIY
  • 帮助

热门: 51单片机 | 24小时必答区 | 单片机教程 | 单片机DIY制作 | STM32 | Cortex M3 | 模数电子 | 电子DIY制作 | 音响/功放 | 拆机乐园 | Arduino | 嵌入式OS | 程序设计

搜索
» 论坛 嵌入式/单片机论坛 24小时必答区 stc8g1k08a单片机模拟IIC读取不到IIC信号
返回列表 发新帖
查看: 3266|回复: 7
收起左侧

stc8g1k08a单片机模拟IIC读取不到IIC信号

[复制链接]
ID:1012238 发表于 2022-3-22 16:15 | 显示全部楼层 | 阅读模式
如题,我做的是从IIC(用的模拟IIC,引脚为SCl5.4,SDA5.5,因为硬件的不太会用,)读取信号,然后把信号通过uart传给电脑,但是一直传过来的信号都是FF,不知道为啥,求求大佬们救救孩子吧。设备地址是127

附件里有单片机代码

这是单片机引脚图

这是单片机引脚图

这是要读取的信号的时序

这是要读取的信号的时序

这是目前读到的值

这是目前读到的值

STC8G1K08A模拟 IIC自己改(1).zip

132.42 KB, 下载次数: 27

回复

使用道具 举报

ID:688692 发表于 2022-3-23 01:16 | 显示全部楼层
我看到你将P5口设置为推挽输出,这显然有问题的。你的代码如下
void IO_init(void)
{
        P5M0 = 0XFF;
        P5M1 = 0X00;//设置P5口为推挽输出
       
        P3M0 |= 0X00;//0000 0000
        P3M1  = 0X00;//       

}

显然,应该设置为标准双向口或者SCL推挽SDA开漏然后外部加个上拉。
回复

使用道具 举报

ID:1012238 发表于 2022-3-23 09:28 | 显示全部楼层
cnos 发表于 2022-3-23 01:16
我看到你将P5口设置为推挽输出,这显然有问题的。你的代码如下
void IO_init(void)
{

P5M0 = 0x00; P5M1 == 0x00;       设置成这样嘛
SCL推挽SDA开漏咋设置呀,大佬能指点一下嘛
回复

使用道具 举报

ID:401564 发表于 2022-3-23 17:01 | 显示全部楼层
P5只要设置成正常的模式就行了,但是要启用上拉电阻
IIC应答和写入部分我改了一下,你看一下没有看完所有程序,暂时没有看到其它问题
STC8G1K08A模拟 IIC自己改.rar (117.2 KB, 下载次数: 108)
回复

使用道具 举报

ID:1012238 发表于 2022-3-31 18:34 | 显示全部楼层
Y_G_G 发表于 2022-3-23 17:01
P5只要设置成正常的模式就行了,但是要启用上拉电阻
IIC应答和写入部分我改了一下,你看一下没有看完所有程 ...

好的,谢谢大佬。
我已经弄好啦
回复

使用道具 举报

ID:975054 发表于 2022-4-23 00:06 | 显示全部楼层
嗯 弄好了就好,我用的硬件I2C,稳定的要死! 就懒得去试软件模拟的代码了.
归根到底,按手册弄清楚 接口要求的时序就好了!
回复

使用道具 举报

ID:960619 发表于 2022-4-25 21:45 来自手机 | 显示全部楼层
ax6808 发表于 2022-4-23 00:06
嗯 弄好了就好,我用的硬件I2C,稳定的要死! 就懒得去试软件模拟的代码了.
归根到底,按手册弄清楚 接口要求 ...

硬件的从机吗?我用官方的例程,读一遍后数据就被覆盖成从机地址了。
回复

使用道具 举报

ID:1063561 发表于 2023-6-4 18:33 | 显示全部楼层
模拟IIC,引脚可以用SCl3.6,SDA3.7吗?
回复

使用道具 举报

返回列表 发新帖
高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版| 小黑屋| 51黑电子论坛 | 51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表