找回密码
 立即注册
查看: 55|回复: 7

STC8A作为IIC从机,如何读出数据?

[复制链接]

该用户从未签到

2

主题

4

回帖

18

积分

新手上路

积分
18
发表于 2024-4-25 14:59:36 | 显示全部楼层 |阅读模式
本帖最后由 木棉 于 2024-4-25 15:04 编辑

主机和从机都使用例程《16-12C从机中断模式与10口模拟12C主机进行自发自收》,库均无修改,主机main代码如图,发送时,从机可以接收到,但是读取打印全是0,从机地址配置为不识别,main代码是打印IIC接收到的数据,别的没有修改。请问如何解决?

截图202404251454537189.jpg

Downloads.rar

646.97 KB, 下载次数: 0

回复 送花

使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:13
  • 签到天数: 136 天

    [LV.7]常住居民III

    20

    主题

    1048

    回帖

    2485

    积分

    金牌会员

    积分
    2485
    发表于 2024-4-25 15:36:28 | 显示全部楼层
    木棉 发表于 2024-4-25 15:20
    额,20分钟过去了,还没有回复,这种回复速度,不得一年才能解决一个问题?STC这是要完全走给学生玩玩的路 ...

    毕竟只是个官方论坛 不是售后服务耐心等等dalao吧
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:56
  • 签到天数: 134 天

    [LV.7]常住居民III

    26

    主题

    1311

    回帖

    4083

    积分

    论坛元老

    积分
    4083
    发表于 2024-4-25 15:43:20 | 显示全部楼层
    I2C从机中断模式与10口模拟12C主机进行自发自收,例子前面有介绍该例子的测试方法:
    内部集成I2C串行总线控制器做从机模式,SCL->P2.5, SDA->P2.4;
    IO口模拟I2C做主机模式,SCL->P0.0, SDA->P0.1;
    通过外部飞线连接 P0.0->P2.5, P0.1->P2.4,实现I2C自发自收功能。

    使用两个芯片进行通信的话可以参考附件例子,一个芯片烧录主机程序,一个芯片烧录从机程序。
    如果使用不同脚位进行通信的话,修改脚位切换代码就可以,其它先不要修改,功能测试正常后再根据需要进行修改或者移植。

    I2C主从收发测试-P14P15.zip

    88.62 KB, 下载次数: 4

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    2

    主题

    4

    回帖

    18

    积分

    新手上路

    积分
    18
     楼主| 发表于 2024-4-25 15:48:16 | 显示全部楼层
    乘风飞扬 发表于 2024-4-25 15:43
    I2C从机中断模式与10口模拟12C主机进行自发自收,例子前面有介绍该例子的测试方法:
    内部集成I2C串行总线控 ...

    收发已经实现了,这个可以主机读从机数据吗?
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:56
  • 签到天数: 134 天

    [LV.7]常住居民III

    26

    主题

    1311

    回帖

    4083

    积分

    论坛元老

    积分
    4083
    发表于 2024-4-25 16:05:59 | 显示全部楼层
    例子前面都有功能说明:
    截图202404251604022941.jpg
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    2

    主题

    4

    回帖

    18

    积分

    新手上路

    积分
    18
     楼主| 发表于 2024-4-25 17:04:04 | 显示全部楼层
    乘风飞扬 发表于 2024-4-25 16:05
    例子前面都有功能说明:

    我看程序,主从都是配置的P14、15,我没有修改引脚,按这个连接,然后只修改了uart波特率,打印的结果很奇怪。 截图202404251703588404.jpg
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:56
  • 签到天数: 134 天

    [LV.7]常住居民III

    26

    主题

    1311

    回帖

    4083

    积分

    论坛元老

    积分
    4083
    发表于 2024-4-25 17:19:17 | 显示全部楼层
    本帖最后由 乘风飞扬 于 2024-4-25 17:22 编辑
    木棉 发表于 2024-4-25 17:04
    我看程序,主从都是配置的P14、15,我没有修改引脚,按这个连接,然后只修改了uart波特率,打印的结果很 ...
    你打印的内容是对的。
    发送的是累加计数值,像 283、284、285......
    读取的数据是已发送的数据与7取与的值做地址(应该是低3位,不是低7位)。
    例如发送283,读取地址为3,从机就返回0x31 32 33 34。
    发送284,读取地址为4,从机就返回0x41 42 43 44。


    从机根据主机发送的存储器地址内容返回对应的数据,可以根据需要进行修改。

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    2

    主题

    4

    回帖

    18

    积分

    新手上路

    积分
    18
     楼主| 发表于 2024-4-25 17:20:11 | 显示全部楼层
    木棉 发表于 2024-4-25 17:04
    我看程序,主从都是配置的P14、15,我没有修改引脚,按这个连接,然后只修改了uart波特率,打印的结果很 ...

    知道了,这个打印格式化不好,而且没有注释,结合从机看一遍就明白了。
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-8 00:29 , Processed in 0.076807 second(s), 59 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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