极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12146|回复: 5

求助

[复制链接]
发表于 2016-12-4 00:32:35 | 显示全部楼层 |阅读模式
本帖最后由 hqsmpp 于 2016-12-4 00:48 编辑

为什么我写的程序运行32次后就会停止工作?
修改间隔后发现是32秒后停止工作。
  1. #include <U8glib.h> //声明库
  2. U8GLIB_ST7920_128X64 u8g(13,11,10, U8G_PIN_NONE);
  3. //声明液晶屏 3:E  8:RS  9:R/W
  4. int jiange=1000;
  5. void drawdian()
  6. {
  7.   static int n=2;
  8.   Serial.println(millis());
  9. //   if (n=2)
  10. //   {
  11.     u8g.firstPage();
  12. //   }
  13.    if(n>126)
  14.    {
  15.     n=0;
  16.     }
  17.   do {
  18.   u8g.drawPixel(n,n/2); //画点
  19.   } while ( u8g.nextPage() );
  20.   n=n+2;
  21. }

  22. void setup()
  23. {
  24.   Serial.begin(9600);
  25. }

  26. void loop()
  27. {
  28.     unsigned long nowtime=millis(); //获取当前的系统运行时间长度

  29.     if (nowtime>jiange)
  30.      {
  31.        jiange=nowtime+999;
  32.        drawdian();
  33.      }
  34. }
复制代码
回复

使用道具 举报

发表于 2016-12-4 07:51:26 | 显示全部楼层
是不是jiange溢出了?声明时换成unsigned long jiange;试试看?
回复 支持 反对

使用道具 举报

发表于 2016-12-4 08:40:32 | 显示全部楼层
if (millis()-oldtime>999)
     {
       oldtime=millis();
       drawdian();
     }
大家都是这样,你的方法太容易溢出了
回复 支持 反对

使用道具 举报

发表于 2016-12-4 09:07:21 | 显示全部楼层
估计真是溢出了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-4 11:22:38 | 显示全部楼层
谢谢大家的帮忙
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 14:03 , Processed in 0.046905 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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