Hephaestus 发表于 2022-6-2 22:07
如果没有仿真器,那么用串口把(gds1302_time[1]/16*10+gds1302_time[1]%16-5)和(offpower)两个值打印出来看 ...
啤酒瓶子老大 发表于 2022-6-2 22:24
如果只是5分钟后关闭什么东西,不用1302也行。直接用定时器计时简单一点。
Hephaestus 发表于 2022-6-2 22:07
如果没有仿真器,那么用串口把(gds1302_time[1]/16*10+gds1302_time[1]%16-5)和(offpower)两个值打印出来看 ...
Hephaestus 发表于 2022-6-2 22:07
如果没有仿真器,那么用串口把(gds1302_time[1]/16*10+gds1302_time[1]%16-5)和(offpower)两个值打印出来看 ...
tongguan123 发表于 2022-6-2 22:45
首先说明一下,我也是一名初学者啊。
你所说的通过串口把这两个值打印出来,是不是在编程序时候, ...
wolfinn 发表于 2022-6-2 21:57
想了一下,初值取模有点问题如果是定时10分钟,应当是offpower>49时,offpwoer应当是offpwoer+10-60。 ...
lkc8210 发表于 2022-6-2 23:07
要不改成这样试试
wolfinn 发表于 2022-6-2 23:09
条件满足时在进入里面的语句加才有效,要不循环内我的时间值在不断的读不断的变。
tongguan123 发表于 2022-6-2 23:17
所以你那个取模应该是没问题的。
tongguan123 发表于 2022-6-2 23:13
作为一名菜鸟,只能这样分析了,看图说话!
wolfinn 发表于 2022-6-2 23:22
程序里没有写-60,当然这里不是讨论这个模的问题,最多是在变模处会有1~10分钟的不规则定时。
tongguan123 发表于 2022-6-2 23:31
因为你设置的时间刚好是五分钟就要执行关闭WIFI电源,所以按照你那个if里面取模公式,必须要等于==offpowe ...
tongguan123 发表于 2022-6-2 23:39
所以这条语句应该不会执行吧? if (offpower>49) offpower=0; //将与下面的量比定时最大十分钟
tongguan123 发表于 2022-6-2 23:39
所以这条语句应该不会执行吧? if (offpower>49) offpower=0; //将与下面的量比定时最大十分钟
tongguan123 发表于 2022-6-2 22:45
本帖最后由 tongguan123 于 2022-6-2 23:14 编辑
首先说明一下,我也是一名初学者啊。
wolfinn 发表于 2022-6-2 23:50
时间分钟是59,但是1302读出的是0x59,而不是值是59,值是5*16+9=89
tongguan123 发表于 2022-6-2 23:39
所以这条语句应该不会执行吧? if (offpower>49) offpower=0; //将与下面的量比定时最大十分钟
wolfinn 发表于 2022-6-3 00:05
你别跟我纠结模的问题啦,在40以下不跟模运算有关的用 >都出现点问题,模我改了以后没问题的了。还有你对 ...
wolfinn 发表于 2022-6-3 00:28
再说一个,比如我们要LED十六进制显示出一个数,我们知道它的值是0x6B(107十进制),先原样字符0x,再经 ...
188610329 发表于 2022-6-3 00:34
我不知道为什么你要用这么复杂的算法……
不知道乘除法非常费资源的么? 而且跨60的时候,还要策略去补偿 ...
wolfinn 发表于 2022-6-3 00:50
多谢指导,你的才真的高。学习。
总会有问题的,你怎不查下为什么我会出这种小问题?是数据左右不同?
...
188610329 发表于 2022-6-3 13:12
查问题, 是需要标本的……, 楼上好多层都让你回传数据,你觉得没有意义。那么很多东西是没有办法分析的 ...
wolfinn 发表于 2022-6-3 20:26
唉,转模处不讨论,这东西经过我进行转模处理后是没有问题的了。我是想让高手你以你的经验看看条件中同样 ...
188610329 发表于 2022-6-3 23:28
所以,我就是问, 按我上面写的加一个判断, 大于是不是可以了? 这个也很难回答么?
wolfinn 发表于 2022-6-4 11:30
我历来都是说不触发模的情况下20多分钟也不行,所以你说的有关加个检查模的那条命令这没有必要试。另外我 ...
188610329 发表于 2022-6-4 12:26
行吧,如无意外,最后一次对此问题展开讨论。
在所有的判定当中, == 是最为严格的, 当测试 == 能正常 ...
zhxiufan 发表于 2022-6-4 14:38
关键的问题是当,分值大于49时,被赋予了值为0,当然就会出问题了。所以要分别处理大于49和小于49的情况。
名字不是重点 发表于 2022-6-4 16:13
其实一开始就是逻辑的问题:
1、开机读取1302的分钟值,存为变量比如“”
2、过一段时间(这个时间影响定 ...
wolfinn 发表于 2022-6-4 13:29
好吧,谢谢你,左边是一个现算值,右边一个算好的变量值,数据乱入?不想吵了,谢谢你,浪费了你的时间。
名字不是重点 发表于 2022-6-4 16:13
其实一开始就是逻辑的问题:
1、开机读取1302的分钟值,存为变量比如“”
2、过一段时间(这个时间影响定 ...
lkc8210 发表于 2022-6-5 00:56
如你所说左边是现算值,右边是算好的变量值
if(A>B)要成立必定是A的值大于B
既然B是固定值
lkc8210 发表于 2022-6-5 00:56
如你所说左边是现算值,右边是算好的变量值
if(A>B)要成立必定是A的值大于B
既然B是固定值
wolfinn 发表于 2022-6-5 06:34
分析得有道理,别的代码没必要放出来。
我误解了,仔细看你所的加条语句是解决乱入问题的。
你说的我的 ...
wolfinn 发表于 2022-6-4 13:29
好吧,谢谢你,左边是一个现算值,右边一个算好的变量值,数据乱入?不想吵了,谢谢你,浪费了你的时间。
188610329 发表于 2022-6-5 14:37
本不打算再回复此帖,正好路过,也不打算再帮你分析了,就给你指条路,
DS1302 时常读出 0xff ...
188610329 发表于 2022-6-5 14:37
本不打算再回复此帖,正好路过,也不打算再帮你分析了,就给你指条路,
DS1302 时常读出 0xff ...
lkc8210 发表于 2022-6-5 11:18
对不起~误会了你
想不到管X员还会删代码
ephzq 发表于 2022-6-5 22:30
WIFI中有个叫看门狗的设置,你需要在程序中,时常去喂狗,就不会出现你说的情况了
Hephaestus 发表于 2022-6-4 23:16
传说中三个臭皮匠赛过诸葛亮,但是这个帖子告诉我们一个臭皮匠能气死三个诸葛亮。
wolfinn 发表于 2022-6-5 15:38
照这么说,最高明的那俩朋友的方法也不可靠了,不同就加1,也会定时不准。
188610329 发表于 2022-6-9 18:21
给你那个 判断方法,从来没说可以解决你的问题, 只是告诉你,你根本不用计算就能判断是不是过了5分钟, ...
1.64 MB, 下载次数: 5
C语言教程
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |