hqsmpp 发表于 2016-12-4 00:32:35

求助

本帖最后由 hqsmpp 于 2016-12-4 00:48 编辑

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

void setup()
{
Serial.begin(9600);
}

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

    if (nowtime>jiange)
   {
       jiange=nowtime+999;
       drawdian();
   }
}

antbot 发表于 2016-12-4 07:51:26

是不是jiange溢出了?声明时换成unsigned long jiange;试试看?

275891381 发表于 2016-12-4 08:40:32

if (millis()-oldtime>999)
   {
       oldtime=millis();
       drawdian();
   }
大家都是这样,你的方法太容易溢出了

单片机菜鸟 发表于 2016-12-4 09:07:21

估计真是溢出了

hqsmpp 发表于 2016-12-4 11:22:38

谢谢大家的帮忙
页: [1]
查看完整版本: 求助