找回密码
 立即注册
查看: 2676|回复: 32

32G8K64 最简单的C代码都运行异常

[复制链接]
已绑定手机

1

主题

1

回帖

21

积分

新手上路

积分
21
发表于 2024-12-9 11:41:52 | 显示全部楼层 |阅读模式

如图所示,if(admark[0]==0X00000000),这个条件应该是符合的,进入return 0这条指令执行,可实仿真的时候直接就执行后面的代码了,太扯了吧,编译优化等级已经调成0了,这是我从stm32转到stc的第一个项目,难道要我转回去?还希望stc的技术能出来解答一下

1733715368447.png

回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:123
  • 最近打卡:2025-04-19 16:12:35
已绑定手机

60

主题

777

回帖

4001

积分

论坛元老

自定义头衔

积分
4001
发表于 2024-12-9 11:45:15 | 显示全部楼层
排查这个变量是否在中断里被修改过,如果被修改过,需要加volatile修饰关键字
联系我请点击左下角的【回复】按钮,否则我收不到消息提
回复 支持 反对

使用道具 举报 送花

已绑定手机

1

主题

1

回帖

21

积分

新手上路

积分
21
发表于 2024-12-9 11:55:56 | 显示全部楼层
VC*** 发表于 2024-12-9 11:45
排查这个变量是否在中断里被修改过,如果被修改过,需要加volatile修饰关键字 ...

这个变量只是一个全局的临时变量,没有被中断用过
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-29 08:28:25
已绑定手机

17

主题

446

回帖

1173

积分

金牌会员

积分
1173
发表于 2024-12-9 13:02:02 | 显示全部楼层
难道是猜吗,直接查看下就变量值
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2024-12-9 13:15:24 | 显示全部楼层

尔...对照汇编来看吧,或许很快就知道结果了.

还是那句话,编译没那么多BUG,硬件也没那么多BUG,

出问题先找原因,大多数情况后来都被发现是自己的原因。

回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:387
  • 最近打卡:2025-05-02 10:19:07
已绑定手机

8

主题

137

回帖

1049

积分

金牌会员

积分
1049
发表于 2024-12-9 13:16:18 | 显示全部楼层

admark是什么类型的变量,整个源码去掉需保密的部分丢上来吧

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-12-9 13:37:35 | 显示全部楼层
if(admark[0]==0X00000000) 改成 if(admark[0]==0**x**00000000)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:186
  • 最近打卡:2025-03-06 09:49:49

14

主题

133

回帖

1149

积分

金牌会员

积分
1149
发表于 2024-12-9 13:40:08 | 显示全部楼层

代码也不全

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:142
  • 最近打卡:2025-04-30 09:17:52

11

主题

71

回帖

573

积分

高级会员

积分
573
发表于 2024-12-9 13:41:06 | 显示全部楼层

楼主,找到原因没

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-12-9 13:42:17 | 显示全部楼层
if(admark[0]==0X00000000)

改成 if(admark[0]==0x00000000),  试试
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 11:13 , Processed in 0.147615 second(s), 124 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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