找回密码
 立即注册
查看: 453|回复: 2

硬件I2C,在定时器中断操作SSD1306时屏幕死机

[复制链接]

该用户从未签到

2

主题

4

回帖

50

积分

注册会员

积分
50
发表于 2023-5-15 22:09:27 | 显示全部楼层 |阅读模式
大佬们,我使用硬件I2C驱动ssd1306,在主程序里面对ssd1306的oled屏幕如何操作都是正常的,比如初始化、复位、显示等等,但是在定时器中断操作SSD1306时屏幕就会死机,无论是初始化还是复位或者是输出显示,因为电路中有蜂鸣器和编码器,所以我可以确定只是屏幕死机,单片机仍在运行,请问这种情况有可能是什么造成?
I2C的SDA和SCL我设置为开漏输出和内部上拉,除了ssd1306屏幕,没有其他I2C设备。
回复 送花

使用道具 举报

  • TA的每日心情
    开心
    6 天前
  • 签到天数: 30 天

    [LV.5]常住居民I

    11

    主题

    185

    回帖

    1812

    积分

    版主

    积分
    1812
    QQ
    发表于 2023-5-16 08:43:15 | 显示全部楼层
    本帖最后由 红心A 于 2023-5-16 08:49 编辑

    可以用相应的范例测试下,
    STC32G12K128-屠龙刀核心功能实验板的演示包程序中有 STC8H8K64U-开天斧核心功能实验板的演示包程序中有

    1.png
    1.png
    QQ:1638975601
    手机:19952583876
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3043

    回帖

    6861

    积分

    超级版主

    积分
    6861
    发表于 2023-5-16 11:20:04 | 显示全部楼层
    在中断中和主程序中都操作同一个外设,就存在竞争,请使用忙标志。
    主程序中,使用外设时,先标志此外设忙,再使用外设,使用完毕清除忙标志。
    中断中,先判断忙标志,如忙,则不能操作外设,退出中断。外设空闲,则可以操作。
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-19 19:58 , Processed in 0.060268 second(s), 40 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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