找回密码
 立即注册
查看: 978|回复: 11

关于使用STC51单片机xdata后程序卡死

[复制链接]

该用户从未签到

1

主题

6

回帖

27

积分

新手上路

积分
27
发表于 2023-2-8 14:57:09 | 显示全部楼层 |阅读模式
使用STC51单片机xdata后程序运行一会儿卡死,乱动作!看门狗都不起作用! 请问各位大神怎么处理?
回复 送花

使用道具 举报

该用户从未签到

1

主题

6

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2023-2-8 15:20:57 | 显示全部楼层
有人遇到过吗
  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 98 天

    [LV.6]常住居民II

    41

    主题

    1011

    回帖

    6949

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    6949
    QQ
    发表于 2023-2-8 15:33:56 | 显示全部楼层
    并没有遇到过,像8h试验箱里后面几个大的案例变量都在xdata里,也没见出问题呀。建议楼主检查下代码哪里冲突了或者没写好,使用XDAT的数据,定义的时候一定要初始化!一定要初始化!一定要初始化!
  • TA的每日心情
    开心
    2024-1-24 13:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    8

    主题

    646

    回帖

    1086

    积分

    超级版主

    积分
    1086
    发表于 2023-2-8 15:39:51 | 显示全部楼层
    我们的开天斧例程包里面的例子,基本上都是设置xdata作为默认数据存储空间。您可以试试看


    1.png

    STC官网:https://www.stcai.com/
    QQ:2593903262
    微信号:18106296598

    该用户从未签到

    1

    主题

    6

    回帖

    27

    积分

    新手上路

    积分
    27
     楼主| 发表于 2023-2-8 16:15:46 | 显示全部楼层
    STCAI-32位8051 发表于 2023-2-8 15:39
    我们的开天斧例程包里面的例子,基本上都是设置xdata作为默认数据存储空间。您可以试试看

    谢谢

    该用户从未签到

    1

    主题

    6

    回帖

    27

    积分

    新手上路

    积分
    27
     楼主| 发表于 2023-2-8 16:16:31 | 显示全部楼层
    电子DIY小家 发表于 2023-2-8 15:33
    并没有遇到过,像8h试验箱里后面几个大的案例变量都在xdata里,也没见出问题呀。建议楼主检查下代码哪里冲 ...

    为何一定需要初始化呢 ,这个问题一直不清楚,望赐教!
  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 98 天

    [LV.6]常住居民II

    41

    主题

    1011

    回帖

    6949

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    6949
    QQ
    发表于 2023-2-8 16:27:00 | 显示全部楼层
    fengshen1234 发表于 2023-2-8 16:16
    为何一定需要初始化呢 ,这个问题一直不清楚,望赐教!

    总的来说就是 u8 xdata parm;  这样定义的这个parm变量的初始值不一定为0,这点和data区域的变量有所区别。如果在写一段如下的程序就容易出问题
    if( parm ==1 )
    {
      parm = 0;
      执行巴拉巴拉;
    }
    if( parm == 0 )
    {
      parm = 1;
      执行巴拉巴拉;
    }

    要是这种情况代码里的parm变量初始值不为0就那啥了~

    该用户从未签到

    1

    主题

    6

    回帖

    27

    积分

    新手上路

    积分
    27
     楼主| 发表于 2023-2-8 16:29:47 | 显示全部楼层
    电子DIY小家 发表于 2023-2-8 16:27
    总的来说就是 u8 xdata parm;  这样定义的这个parm变量的初始值不一定为0,这点和data区域的变量有所区别 ...

    好的  非常感谢

    该用户从未签到

    551

    主题

    9427

    回帖

    1万

    积分

    管理员

    积分
    14001
    发表于 2023-2-8 16:51:24 | 显示全部楼层
    现在STC都是强烈建议用户使用xdata===容量大啊,   idata/data 留给堆栈用===用户不要用
    回复 支持 1 反对 0 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    6

    回帖

    27

    积分

    新手上路

    积分
    27
     楼主| 发表于 2023-2-8 17:03:55 | 显示全部楼层
    神农鼎 发表于 2023-2-8 16:51
    现在STC都是强烈建议用户使用xdata===容量大啊,   idata/data 留给堆栈用===用户不要用 ...

    所有变量存到xdata  不会出问题吗,比如给你不正常程序,跑飞啊,我用的STC12C5A60S2

    点评

    怎么可能出问题?  详情 回复 发表于 2023-2-8 17:27
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-5-14 13:00 , Processed in 0.079101 second(s), 72 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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