
お世話になります。
Arduinoで検証すると「コンパイル時にエラーが発生しました。」と出ますがスケッチ上に黄色い帯が出ません。
なにが原因なのでしょう?
参考にしたスケッチ
http://www.mauroalfieri.it/en/elettronica/data-l …
これに「RTClib.h」というファイルを同じ場所に置きました。
テキストファイルに以下のスケッチをコピーし「RTClib.h」を作成します。
// Code by JeeLabs http://news.jeelabs.org/code/
// Released to the public domain! Enjoy!
// Simple general-purpose date/time class (no TZ / DST / leap second handling!)
class DateTime {
public:
DateTime (uint32_t t =0);
DateTime (uint16_t year, uint8_t month, uint8_t day,
uint8_t hour =0, uint8_t min =0, uint8_t sec =0);
DateTime (const char* date, const char* time);
uint16_t year() const { return 2000 + yOff; }
uint8_t month() const { return m; }
uint8_t day() const { return d; }
uint8_t hour() const { return hh; }
uint8_t minute() const { return mm; }
uint8_t second() const { return ss; }
uint8_t dayOfWeek() const;
// 32-bit times as seconds since 1/1/2000
long secondstime() const;
// 32-bit times as seconds since 1/1/1970
uint32_t unixtime(void) const;
protected:
uint8_t yOff, m, d, hh, mm, ss;
};
// RTC based on the DS1307 chip connected via I2C and the Wire library
class RTC_DS1307 {
public:
static uint8_t begin(void);
static void adjust(const DateTime& dt);
static void sqw(int sqw);
uint8_t isrunning(void);
static DateTime now();
};
// RTC using the internal millis() clock, has to be initialized before use
// NOTE: this clock won't be correct once the millis() timer rolls over (>49d?)
class RTC_Millis {
public:
static void begin(const DateTime& dt) { adjust(dt); }
static void adjust(const DateTime& dt);
static DateTime now();
protected:
static long offset;
};
みなさま、どうかよろしくお願い致します。
No.3ベストアンサー
- 回答日時:
>同じ「コンパイルエラー」が発生してしまいました。
確認に使ったのは「arduino-1.0.1」ですが…
#2の後半に記述した手順でコンパイルは通りましたよ。
# Windows7 Pro(64bit)…だけど関係ないと思われますが。
対応するシールドも持っていないので動作検証まではできません。
# そしてシールドを購入する気もありません。今のところ必要性ないし。
エラーメッセージ不明なので私はここで終わり…ですかね。
ご丁寧に、ありがとうございます。
私が使っているVerは「1.0.5-r2」と書いて有ります。
Verの違いでエラーが発生するのでしょうか・・・
Wir5様の所で、エラーが発生しなかった。と言うことが分かってとてもよかったです。
本当に、ありがとうございました。
No.2
- 回答日時:
>これも、試してみたのですが・・・・違うところがエラーに。
>RTClib内の情報をマルッと書き換えたりしたのですがエラーに。
>ライブラリを使わずに同じホルダーに入れたらこんなエラーに。
どんなエラーですか?と……
まぁ、試してみました。
どうも、ある程度手を入れてあるRTClibみたいですね。
ということで…#1で回答した際のRTClibはディレクトリごと削除。
質問に書かれたサイトのリンク先にある「Download sketch del data logging」の「GitHub」のリンク先から同じようにDownload ZIPで取得。
展開するとRTClib.hとRTClib.cppが出てきますので、元々のスケッチが置かれているディレクトリにコピーしてください。
その後で、Arduinoコンパイラを起動して「検証・コンパイル」で。
重ね重ね、ありがとうございます。
Wr5様の所ではエラーが発生しませんか?
同じ「コンパイルエラー」が発生してしまいました。
PCの問題でしょうか・・・・
WIN7なのですが。
検証していただき、ありがとうございました。
No.1
- 回答日時:
>テキストファイルに以下のスケッチをコピーし「RTClib.h」を作成します。
RTClib.hだけ…ですか???
RTC_DS1307クラスのadjust()の実体とかどこにあるんでしょう???
https://github.com/adafruit/RTClib
で、右側の「Download ZIP」からZIPファイルを入手し、
展開してできたRTClib-masterディレクトリの中身をArduinoコンパイラのlibrariesディレクトリに入れればいいんじゃないですかね?
# 実際にはlibrariesディレクトリにRTClibというディレクトリを掘って、その中…でしょうかねぇ……。
その後、Arduinoコンパイラ起動して、[スケッチ]-[ライブラリを使用]-[RTClib]を選択…でよいかと……。
早速ありがとうございます。
これも、試してみたのですが・・・・違うところがエラーに。
RTClib内の情報をマルッと書き換えたりしたのですがエラーに。
ライブラリを使わずに同じホルダーに入れたらこんなエラーに。
もう少し、試してみます。
何か、情報が有りましたら
よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
既定のコンストラクタがありま...
-
静的でないメンバ関数の呼び出...
-
gcc: incompatible pointer type
-
const_castのつかいどころを教...
-
TimerProc コールバック関数を...
-
多重定義が起きている?--lnk20...
-
C# KeyDownイベントでショート...
-
C++にてtemplateで受け取った任...
-
コールバックって・・・
-
C言語 ① 5秒間 1秒間隔で点滅を...
-
int main()、void main()、void...
-
[VC++]ヘッダファイルからの関...
-
void*型の配列について
-
C言語プログラムについて
-
C# Controls.Addで動的に配置し...
-
C++ 静的クラスの役割が分からない
-
Aの値からBの値を除するとは??
-
「Aに対するBの割合」と「Aに対...
-
複数桁10進数の*桁目だけを抽出...
-
2÷3などの余りについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
静的でないメンバ関数の呼び出...
-
既定のコンストラクタがありま...
-
C++にてtemplateで受け取った任...
-
多重定義が起きている?--lnk20...
-
【gcc・cygwin】multiple defin...
-
const_castのつかいどころを教...
-
戻り値を返す関数の前に(void)...
-
C言語 ① 5秒間 1秒間隔で点滅を...
-
C# Controls.Addで動的に配置し...
-
C#でテンキーの操作は可能でし...
-
int main()、void main()、void...
-
C# KeyDownイベントでショート...
-
gcc: incompatible pointer type
-
Notepad++の関数リスト表示の変...
-
(void)0 はどんな意味ですか
-
VC++でGetKeyboardStateがうま...
-
関数ポインタについて
-
void main()って誰が最初?:AN...
-
演算子のオーバーロードでコン...
-
この式の意味
おすすめ情報