yangjiansichuan 发表于 2014-1-18 12:40:16

编写库,求指导,简单函数

跪求各位大神!最近小弟刚学arduino,自己写个库老是报错,求大神指导! request for member 'delay_ms' in 'delay2', which is of non-class type 'delayy ()()'

h文件如下:
#ifndef DELAYY_h
#define DELAYY_h
#if (ARDUINO >= 100)
#include <Arduino.h>
#else
#include <WProgram.h>
#endif
class delayy
{
public:
        delayy();
        delay_us(unsigned int j);
        delay_ms(unsigned int i);
};
#endif


cpp如下:
#include "delayy.h"
#include "Arduino.h"

delayy::delayy ()
{
}

void delayy::delay_us(unsigned int j)
{   
    while( j--);
}                  
       
void delayy::delay_ms(unsigned int i)
{
          delay(10);
}

调用如下:
#include <delayy.h>
#include "Arduino.h"
int led = 13;
delayy delay2();
void setup()
{
pinMode(led,OUTPUT);
}

void loop()
{
digitalWrite(led,HIGH);
delay2.delay_ms(1);
}



yangjiansichuan 发表于 2014-1-18 12:40:49

坐等回复啊!调了半天了!感激涕零啊!

zoologist 发表于 2014-1-18 14:51:24

不懂,帮你顶一下。

不过你还可以找一个可以编译通过的库,然后一点点改一下

学慧放弃 发表于 2014-1-19 13:00:48

我也想学会,但是没有指导,只能自己钻研

隨風大俠 发表于 2014-1-20 21:49:31

本帖最后由 隨風大俠 于 2014-1-20 22:11 编辑

h檔改成這樣:↓
#ifndef DELAYY_h
#define DELAYY_h
#if (ARDUINO >= 100)
#include <Arduino.h>
#else
#include <WProgram.h>
#endif
class delayy
{
public:
                delayy();
       void   delay_us(unsigned int j);
       void   delay_ms(unsigned int i);
};
#endif

delay_us跟delay_ms前面加個void就好了~{:soso_e189:}

隨風大俠 发表于 2014-1-20 22:09:41

本帖最后由 隨風大俠 于 2014-1-20 22:11 编辑

重點就是要宣告型別,您一開始沒宣告。

yangjiansichuan 发表于 2014-1-21 10:08:27

隨風大俠 发表于 2014-1-20 21:49 static/image/common/back.gif
h檔改成這樣:↓
#ifndef DELAYY_h
#define DELAYY_h


谢大神!果然好使

隨風大俠 发表于 2014-1-21 11:51:43

yangjiansichuan 发表于 2014-1-21 10:08 static/image/common/back.gif
谢大神!果然好使

:lol:lol:lol
页: [1]
查看完整版本: 编写库,求指导,简单函数