找回密码
 立即注册
查看: 41|回复: 1

STC15W4K56S4 升级到STC32G12K128的问题

[复制链接]
  • TA的每日心情
    郁闷
    2024-4-19 21:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    2

    回帖

    29

    积分

    新手上路

    积分
    29
    发表于 2024-4-19 21:52:44 | 显示全部楼层 |阅读模式
    以前的项目用的是STC15W4K56S4,用的资源比较多,flash和ram都要满了,近期增加功能,厂家建议使用STC32G12K128,做完硬件调试程序时发现下面问题:
    1、原本C51下的定义,
    文件一中:u8 xdata sys_counter1=0,sys_counter2=0,sys_counter3=0,sys_counter4=0;
    文件二中:extern u8 xdata sys_counter1,sys_counter2,sys_counter3,sys_counter4;
    上面的定义时被允许的,但是在C251编译器下就报错
    修改为如下就正常,
    文件一中:u8 xdata sys_counter1,sys_counter2,sys_counter3,sys_counter4;
    文件二中:extern u8 xdata sys_counter1,sys_counter2,sys_counter3,sys_counter4;
    即定义的时候不能赋值,请问大佬们这是为啥?



    2、因系统需要,原T0定时器25us中断一次,中断函数中对若干变量的计数,移植到STC32G12K128后,会溢出,表现的现象要么是死机要么是重复启动,当中断函数只处理少量语句时,可以正常工作

    请问各位大佬,这是什么原因?刚才查了两种架构的区别和指令集的区别,没看出所以然来。
    回复 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 02:02
  • 签到天数: 68 天

    [LV.6]常住居民II

    4

    主题

    414

    回帖

    1122

    积分

    金牌会员

    积分
    1122
    发表于 2024-4-20 07:42:21 | 显示全部楼层
    变量在定义时赋值应该是可以的
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-3 10:10 , Processed in 0.051895 second(s), 32 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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