找回密码
 立即注册
查看: 123|回复: 9

关于一个休眠的小问题无法进休眠

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:420
  • 最近打卡:2025-06-16 07:58:06

45

主题

353

回帖

839

积分

高级会员

积分
839
发表于 2025-3-27 18:49:46 | 显示全部楼层 |阅读模式
首先说休是可以用的。

然后再使用中发生的问题如下
定义 float TEMP_TEMP=0;

因为要运算所以就这么定义了。
如果下面这样写就不出错

        if (TEMP_TEMP>=0 && TEMP_TEMP<14)
        {
        P1=0;
        P14=1;       
        }



如果下面这么定就会出错(无法休眠)
if (TEMP_TEMP<13)
{
P1=0;
P14=1;
}


实在搞不懂为什么。求指教
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:420
  • 最近打卡:2025-06-16 07:58:06

45

主题

353

回帖

839

积分

高级会员

积分
839
发表于 2025-3-27 19:24:16 | 显示全部楼层
现在这样改了只能进一次中断!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:420
  • 最近打卡:2025-06-16 07:58:06

45

主题

353

回帖

839

积分

高级会员

积分
839
发表于 2025-3-27 19:32:04 | 显示全部楼层
                if (TEMP_TEMP>=22 && TEMP_TEMP<23)
        {//22  10110
        P1=0;
        P14=1;
        P15=0;
        P16=1;       
        P17=1;       
        P13=0;       
        }

有这个就不行了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:420
  • 最近打卡:2025-06-16 07:58:06

45

主题

353

回帖

839

积分

高级会员

积分
839
发表于 2025-3-27 20:14:08 | 显示全部楼层
现在解决方法就是不能写P1=0;或者P1=1;
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:208
  • 最近打卡:2025-06-16 08:41:37
已绑定手机

67

主题

1915

回帖

4301

积分

荣誉版主

无情的代码机器

积分
4301
发表于 2025-3-27 21:08:56 | 显示全部楼层
没看明白哇,哪个型号,能上传下可复现的工程?
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:420
  • 最近打卡:2025-06-16 07:58:06

45

主题

353

回帖

839

积分

高级会员

积分
839
发表于 2025-3-27 21:19:46 来自手机 | 显示全部楼层
ercircle 发表于 2025-3-27 21:08
没看明白哇,哪个型号,能上传下可复现的工程?

Stc 8h2k08u
这个问题我已经解决了
就是不能设置p1=0或者p1=1,可能和用p10p11做iic通讯有关系,反正就是只要有这两句,他就不会进入休眠.

点评

使用硬件I2C就不要软件操作IO口 不要声明时赋值,否则编译器不清楚在何时赋值  详情 回复 发表于 2025-3-27 21:28
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:468
  • 最近打卡:2025-06-16 07:06:57
已绑定手机

79

主题

5131

回帖

9138

积分

超级版主

DebugLab

积分
9138
发表于 2025-3-27 21:28:08 | 显示全部楼层
qepu*** 发表于 2025-3-27 21:19
Stc 8h2k08u
这个问题我已经解决了
就是不能设置p1=0或者p1=1,可能和用p10p11做iic通讯有关系,反正就是 ...

使用硬件I2C就不要软件操作IO口
不要声明时赋值,否则编译器不清楚在何时赋值
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:420
  • 最近打卡:2025-06-16 07:58:06

45

主题

353

回帖

839

积分

高级会员

积分
839
发表于 2025-3-28 07:53:57 | 显示全部楼层
Debu*** 发表于 2025-3-27 21:28
使用硬件I2C就不要软件操作IO口
不要声明时赋值,否则编译器不清楚在何时赋值 ...

学到了谢谢。以后声明时不赋值了。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:67
  • 最近打卡:2025-06-16 08:30:05
已绑定手机

17

主题

472

回帖

1341

积分

金牌会员

积分
1341
发表于 2025-3-28 09:04:00 | 显示全部楼层
qepu*** 发表于 2025-3-28 07:53
学到了谢谢。以后声明时不赋值了。

那是定义时赋值,是完全正常合理的,编译在main之前会处理正确的,
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:420
  • 最近打卡:2025-06-16 07:58:06

45

主题

353

回帖

839

积分

高级会员

积分
839
发表于 2025-3-28 11:31:29 | 显示全部楼层
Ayb_*** 发表于 2025-3-28 09:04
那是定义时赋值,是完全正常合理的,编译在main之前会处理正确的,

谢谢  我是常定义时赋值,我怕运行时值不确定。
看电流就是设置了P1后导致P10 11 不对程序进了死循环了。程序已经改了在操作中不设置P10 11就没事了。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-16 16:18 , Processed in 0.294411 second(s), 104 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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