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

关于 STC8G1K08A 的IIC通信问题

[复制链接]
  • TA的每日心情

    2023-12-11 16:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    2

    回帖

    21

    积分

    新手上路

    积分
    21
    发表于 2023-12-11 17:14:14 | 显示全部楼层 |阅读模式
    最近在研究IIC通信,打算用STC8G1K08A做从机,STM32F407做主机来通信,主机的IIC用软件模拟的,而从机用的是硬件的IIC,程序用的官方提供的的自发自收的例程,我只改了从机的地址,和屏蔽主函数里面的程序,并用串口打印出当前的IIC接收数据,但是在串口显示过程,发现并没有数据被打印出来(串口功能测试没有问题),单独测试主机用IIC去读取EEPROM功能,没有问题,线路用的P30:SDA,P31:SCL,检查没有出现连接性问题,故想请教一下大佬们,这是出现了什么问题。下面是从机的接收中断代码。
    截图202312111713552228.jpg
    回复 送花

    使用道具 举报

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

    [LV.7]常住居民III

    27

    主题

    1343

    回帖

    4187

    积分

    论坛元老

    积分
    4187
    发表于 2023-12-11 18:25:42 | 显示全部楼层
    不要在IIC中断里面进行串口打印,会影响IIC接收。
    像例程那样在主循环里判断接收完成标志,然后再打印接收到的内容。
    回复 支持 0 反对 1 送花

    使用道具 举报

  • TA的每日心情

    2023-12-11 16:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    2

    回帖

    21

    积分

    新手上路

    积分
    21
     楼主| 发表于 2023-12-11 21:17:42 | 显示全部楼层
    乘风飞扬 发表于 2023-12-11 18:25
    不要在IIC中断里面进行串口打印,会影响IIC接收。
    像例程那样在主循环里判断接收完成标志,然后再打印接收 ...

    截图202312112111152311.jpg 这是我改了后的IIC中断接收函数
    截图202312112114416426.jpg 这个是主函数

    截图202312112115127072.jpg 这是串口打印出来的数据,我发了两个数据过来,分别为0x3b,0x3c,但是却执行了两次停止位的操作,大佬这是啥原因


    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    552

    主题

    9497

    回帖

    1万

    积分

    管理员

    积分
    14069
    发表于 2023-12-12 07:43:34 | 显示全部楼层
    用 STC的2个MCU,自己先I2C 测试下
    截图202312120745239757.jpg
    截图202312120746213698.jpg
    截图202312120748262446.jpg
    截图202312120749048118.jpg



    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    552

    主题

    9497

    回帖

    1万

    积分

    管理员

    积分
    14069
    发表于 2023-12-12 07:50:40 | 显示全部楼层
    先把我们的测试通过,再用 407来测试
    另外 STC-ISP V6.92H的串口助手已超级强悍
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.7]常住居民III

    27

    主题

    1343

    回帖

    4187

    积分

    论坛元老

    积分
    4187
    发表于 2023-12-12 09:05:00 | 显示全部楼层
    define__chen_ 发表于 2023-12-11 21:17
    这是我改了后的IIC中断接收函数
    这个是主函数

    你中断里还在打印:

    截图202312120904467714.jpg

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    11 小时前
  • 签到天数: 172 天

    [LV.7]常住居民III

    13

    主题

    244

    回帖

    899

    积分

    高级会员

    积分
    899
    发表于 2023-12-17 11:45:56 | 显示全部楼层
    IIC处理中,如果发生其他终端,会破坏IIC的通讯时序吧?不如先保存起来,IIC处理完成后,再输出或者显示
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    9

    主题

    8

    回帖

    133

    积分

    注册会员

    积分
    133
    发表于 2024-1-31 14:47:28 | 显示全部楼层
    遇到了类似的问题
    请问你这边问题解决了吗
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-18 21:40 , Processed in 0.067627 second(s), 59 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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