hdxabout 发表于 2013-7-31 23:02:58

编译不成功

F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:32:22: error: WProgram.h: No such file or directory
In file included from F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:33:
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\/DS1307.h:78: error: 'byte' does not name a type
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\/DS1307.h:114: error: 'byte' has not been declared
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In constructor 'DS1307_RAM::DS1307_RAM()':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:60: error: 'cell' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In constructor 'DS1307::DS1307(uint8_t, uint8_t)':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:68: error: 'OUTPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:68: error: 'pinMode' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'char* DS1307::getTimeStr(uint8_t)':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:137: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'char* DS1307::getDateStr(uint8_t, uint8_t, char)':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:168: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'char* DS1307::getDOWStr(uint8_t)':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:283: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:289: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:292: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:295: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:298: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:301: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:304: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:307: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'char* DS1307::getMonthStr(uint8_t)':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:317: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:323: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:326: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:329: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:332: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:335: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:338: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:341: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:344: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:347: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:350: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:353: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:356: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: At global scope:
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:399: error: variable or field '_sendStart' declared void
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:399: error: 'byte' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'void DS1307::_sendStop()':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:411: error: 'OUTPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:411: error: 'pinMode' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:412: error: 'LOW' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:412: error: 'digitalWrite' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:413: error: 'HIGH' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:415: error: 'INPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'void DS1307::_sendNack()':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:420: error: 'OUTPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:420: error: 'pinMode' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:421: error: 'LOW' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:421: error: 'digitalWrite' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:422: error: 'HIGH' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:425: error: 'INPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'void DS1307::_sendAck()':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:430: error: 'OUTPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:430: error: 'pinMode' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:431: error: 'LOW' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:431: error: 'digitalWrite' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:433: error: 'HIGH' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:435: error: 'INPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'void DS1307::_waitForAck()':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:440: error: 'INPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:440: error: 'pinMode' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:441: error: 'HIGH' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:441: error: 'digitalWrite' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:442: error: 'LOW' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:443: error: 'LOW' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'uint8_t DS1307::_readByte()':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:448: error: 'INPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:448: error: 'pinMode' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:455: error: 'HIGH' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:455: error: 'digitalWrite' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:456: error: 'digitalRead' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:457: warning: suggest parentheses around + or - inside shift
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:458: error: 'delayMicroseconds' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:459: error: 'LOW' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'void DS1307::_writeByte(uint8_t)':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:465: error: 'OUTPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:465: error: 'pinMode' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:466: error: 'MSBFIRST' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:466: error: 'shiftOut' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'void DS1307::writeBuffer(DS1307_RAM)':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:555: error: 'class DS1307_RAM' has no member named 'cell'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'DS1307_RAM DS1307::readBuffer()':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:576: error: 'class DS1307_RAM' has no member named 'cell'

hdxabout 发表于 2013-7-31 23:04:00

求各路大神相助{:soso_e183:}

伯德 发表于 2013-7-31 23:12:59

DS1307.cppline22 ,22行贴出来

hdxabout 发表于 2013-8-1 08:44:07

伯德 发表于 2013-7-31 23:12 static/image/common/back.gif
DS1307.cppline22 ,22行贴出来

大神可不可以具体一点,小弟愚蠢

伯德 发表于 2013-8-1 08:49:02

本帖最后由 伯德 于 2013-8-1 08:50 编辑

hdxabout 发表于 2013-8-1 08:44 static/image/common/back.gif
大神可不可以具体一点,小弟愚蠢

我的意思是你把出错地方的程序列出来,或者你把整个程序代码上传。
WProgram.h: No such file or directory 看起来是头文件加错了。加了<arduino.h>了吗?

hdxabout 发表于 2013-8-1 08:52:55

伯德 发表于 2013-8-1 08:49 static/image/common/back.gif
我的意思是你把出错地方的程序列出来,或者你把整个程序代码上传。
WProgram.h: No such file or dire ...

#include<DS1307RTC.h>
#include<Time.h>
#include<Wire.h>
#include<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void setup()
{
lcd.backlight();
}
void loop()
{
tmElements_t tm;
if(RTC.read(tm))
{
lcd.setCursor(0,0);
lcd.print("OK,Time=");
lcd.print(tm.Hour);
lcd.print(':');
lcd.print(tm.Minute);
lcd.print(':');
lcd.print(tm.Second);
lcd.setCursor(1,0);
lcd.print("Date (D/M/Y) = ");
lcd.print(tm.Day);
lcd.print('/');
lcd.print(tm.Month);
lcd.print('/');
lcd.print(tmYearToCalendar(tm.Year));
}
delay(3000);
}

hdxabout 发表于 2013-8-1 08:54:21

伯德 发表于 2013-8-1 08:49 static/image/common/back.gif
我的意思是你把出错地方的程序列出来,或者你把整个程序代码上传。
WProgram.h: No such file or dire ...

我没有那个Arduino的库函数

伯德 发表于 2013-8-1 09:00:33

hdxabout 发表于 2013-8-1 08:52 static/image/common/back.gif
#include
#include
#include


我缺少库文件:
aasd:7: error: 'LiquidCrystal_I2C' does not name a type
可以上传一个,还是哪里可以下载

hdxabout 发表于 2013-8-1 09:05:42

{:soso_e100:}

hdxabout 发表于 2013-8-1 09:06:46

伯德 发表于 2013-8-1 09:00 static/image/common/back.gif
我缺少库文件:
aasd:7: error: 'LiquidCrystal_I2C' does not name a type
可以上传一个,还是哪里可以 ...

已上传,对了,你知道哪里可以下载这些库文件吗?

伯德 发表于 2013-8-1 09:25:12

本帖最后由 伯德 于 2013-8-1 09:33 编辑

hdxabout 发表于 2013-8-1 09:06 static/image/common/back.gif
已上传,对了,你知道哪里可以下载这些库文件吗?

Time.h我在这下载了http://playground.arduino.cc/Code/time ,对吧

伯德 发表于 2013-8-1 09:27:48

伯德 发表于 2013-8-1 09:25 static/image/common/back.gif
Time.h我在这下载了 ,对吧

if(RTC.read(tm)) 这句话我编不过去。
aasd:13: error: could not convert 'DS1307RTC::read(((tmElements_t&)(& tm)))' to 'bool'

看起来read的返回值是void。

伯德 发表于 2013-8-1 09:31:08

本帖最后由 伯德 于 2013-8-1 09:32 编辑

改了        tmElements_t tm;
        //if(RTC.read(tm))
        if(1)
        {
                RTC.read(tm);
                lcd.setCursor(0,0);编译通过。
应该是你time库有问题。 你试试我附件的。

hdxabout 发表于 2013-8-1 09:51:29

伯德 发表于 2013-8-1 09:31 static/image/common/back.gif
改了        tmElements_t tm;
        //if(RTC.read(tm))
        if(1)


现在可以了 我的Time库真的有问题 谢谢你

伯德 发表于 2013-8-1 10:02:29

hdxabout 发表于 2013-8-1 09:51 static/image/common/back.gif
现在可以了 我的Time库真的有问题 谢谢你

给点个人意见:
1.碰到类似问题,先看出错信息的第一条;因为我没有复现你的问题,不然可以看看是库文件哪里坏了。
2.发问题的时候,要提供关键的代码部分,用论坛代码工具<>框起来,方便阅读。
页: [1] 2
查看完整版本: 编译不成功