找回密码
 立即注册
查看: 2261|回复: 4

请教!STC8H单片机使能I2C后出现死机现象的原因?[结贴]

[复制链接]
  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 100 天

    [LV.6]常住居民II

    27

    主题

    101

    回帖

    807

    积分

    高级会员

    积分
    807
    发表于 2023-1-28 13:29:45 | 显示全部楼层 |阅读模式
    本帖最后由 乐此不疲 于 2023-1-30 12:10 编辑

    最近我一直在用STC8H的板子做各种实验,目前工程中已经完美整合了TFT_LCD驱动、RTC时钟、硬件触摸按键,接下来要加入硬件I2C来驱动AHT25温湿度传感器,但出师不利只要主函数下主循环前使能I2C就死机,就是加入这句:I2CCFG = 0xE0;就死机黑屏,不知道这个寄存器操作与谁发生冲突了,请指点。先谢了!!!
    部分主函数如下:
    void main()
    {

    GPIO_set();//头文件中I/O口全部设置为准双向口
    INT0 = 1; //外部中断0端口置高电平(头文件中定义位变量INT0=P3^2)
    EX0 = 1; //使能 INT0 中断
    EAXSFR();
    Reset1();
    lcd_initial();

    Show_RGB (0,480,0,320,BLACK);
    RTC_config();
    //I2C_init();//此函数包含代码I2CCFG = 0xE0;!!!!!!!!!!!
    key_init();
    EA=1;
    while(1)
        {
    *****
    }}


    问题原因已经找到了,是线路设计错误,是I2C与SPI总线共用了一个引脚造成的,一旦初始化了硬件I2C通讯端口就会与TFT-LCD通讯的SPI端口出现冲突从而出现黑屏死机的故障,将SPI总线改换其他I/O口并改成软件模拟SPI模式就一切正常了。

    回复 送花

    使用道具 举报

    该用户从未签到

    547

    主题

    9117

    回帖

    1万

    积分

    管理员

    积分
    14121
    发表于 2023-1-28 13:39:54 | 显示全部楼层
    你外部加上10K 上拉电阻,将实际接线的原理图也先发上来
    参考下如下 STC32G的I2C 演示程序
    STC驱动教程系列——SHT30温湿度传感器_硬件IIC接口 - 开源广场及教学视频交流 国芯论坛 (stcaimcu.com)
    1.png
  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 100 天

    [LV.6]常住居民II

    27

    主题

    101

    回帖

    807

    积分

    高级会员

    积分
    807
     楼主| 发表于 2023-1-30 12:12:27 | 显示全部楼层
    神农鼎 发表于 2023-1-28 13:39
    你外部加上10K 上拉电阻,将实际接线的原理图也先发上来
    参考下如下 STC32G的I2C 演示程序
    STC驱动教程系列 ...

    多谢指点,问题已经解决、是PCB设计的坑。再谢。

    该用户从未签到

    547

    主题

    9117

    回帖

    1万

    积分

    管理员

    积分
    14121
    发表于 2023-1-30 15:15:16 | 显示全部楼层
    开心,又可以前进了:)
  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 100 天

    [LV.6]常住居民II

    27

    主题

    101

    回帖

    807

    积分

    高级会员

    积分
    807
     楼主| 发表于 2023-1-31 11:19:31 | 显示全部楼层
    神农鼎 发表于 2023-1-30 15:15
    开心,又可以前进了

    是的,有时候一个问题堵住就寸步难行,玩单片机就是不断排除障碍的过程,也正是因为有这些障碍才有了与别人的学习与交流和进步,而那些未知的问题也就是痴迷爱好和总也不能放手的动力。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-4-19 22:17 , Processed in 0.061914 second(s), 47 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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