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

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

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-06-18 20:20:06

47

主题

354

回帖

855

积分

高级会员

积分
855
发表于 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
  • 打卡总天数:422
  • 最近打卡:2025-06-18 20:20:06

47

主题

354

回帖

855

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-06-18 20:20:06

47

主题

354

回帖

855

积分

高级会员

积分
855
发表于 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
  • 打卡总天数:422
  • 最近打卡:2025-06-18 20:20:06

47

主题

354

回帖

855

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:210
  • 最近打卡:2025-06-18 08:45:53
已绑定手机

68

主题

1937

回帖

4336

积分

荣誉版主

无情的代码机器

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-06-18 20:20:06

47

主题

354

回帖

855

积分

高级会员

积分
855
发表于 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
  • 打卡总天数:470
  • 最近打卡:2025-06-18 08:23:09
已绑定手机

79

主题

5145

回帖

9154

积分

超级版主

DebugLab

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-06-18 20:20:06

47

主题

354

回帖

855

积分

高级会员

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

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

使用道具 举报 送花

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

17

主题

472

回帖

1349

积分

金牌会员

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-06-18 20:20:06

47

主题

354

回帖

855

积分

高级会员

积分
855
发表于 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-18 21:57 , Processed in 0.214780 second(s), 102 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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