Arduino ide 1.6.9のエラーに関する問題: 'TKD2' はこのスコープで宣言されていません。
以前は、リモコンから送信されたコマンドを受信するためにIRレシーバをリンクするためにArduinoを使用していました。いくつかの周辺機器を制御します。githubからダウンロードしたライブラリを使用しました。
最近また使おうと思ったら 問題が見つかりました。まずエラーは
D:\ToolsArduino
RobotIRremote
IRremoteTools.cpp:5:16: error: 'TKD2' was not declared in this scope
int RECV_PIN = TKD2; // IRレシーバが接続されているピン
^
終了ステータス 1
開発ボードArduino/Genuino Uno用のコンパイルに失敗しました。
tkd2 が見つからないとプロンプトが表示されました。
また、「IRremoteのライブラリが2つ見つかりました」という質問もありました。ライブラリのうち1つが使用されていました。arduino ideのインストールディレクトリではない、彼の出したパスのライブラリを削除すればいいのです。arduino ideのライブラリで提供されているIRemoteライブラリを使用して書き込めばいいのですが、それでもこのエラーは出ます。
D:\ToolsArduino.cpp:5:16: error: 'TKD2' was not declared in this scope
int RECV_PIN = TKD2; // IRレシーバが接続されているピン
^
終了ステータス 1
開発ボードArduino/Genuino Uno用のコンパイルに失敗しました。
arduino.cc で提供されている公式のリモートコントロールサンプルを使用しています。
https://www.arduino.cc/en/Tutorial/RobotRemoteControl
この例では、彼は物を持ちすぎています。私が必要としないものがたくさんあります。私は彼のリモコン受信ボタンのコードが欲しいだけです。それで十分です。しかし、ライブラリのcppの1つにエラーがあることを示唆しています。
arduino ideが提供するライブラリのcppのいずれかにエラーがあるようです。そこで 開いて見てください。
エラーが示唆するこのcppファイルを開いてみてください。
D:\ToolsArduinoArduinolibrariesRobotIRremotesrcIRremoteTools.cpp
#include "IRremote.h"
#include "IRremoteTools.h"
#include
We find that he has a TKD2 thing. But there's no specific declaration or definition found above and then we look for his h header file.
#ifndef IRREMOTETOOLS_H
#define IRREMOTETOOLS_H
extern void beginIRremote();
extern bool IRrecived();
extern void resumeIRremote();
extern unsigned long getIRresult();
#endif
There is also no TKD2 declaration
Then go on to D:\Tools\Arduino\libraries\RobotIRremote\src\IRremoteTools.cpp
There are several .h header files introduced inside. Look for the TKD2 thing.
However. I bar
#include "IRremote.h"
#include "IRremoteTools.h"
I looked for both of these. There's just no such thing as TKD2. As for
#include
There's no need to go looking for this one. Because this is something that comes with the arduino environment. The external library will definitely not have a variable or a definition to put in here.
So, we conclude that there is something wrong with the official library code provided by arduinio ide ????I'm not very well read. I don't read much. But as far as we can find out the reason is that his official library file code is wrong 。。。。 Okay.
I went to the official place to find feedback on the problem. First, I searched in there. Someone said the issue was in 1.6.7.
However. They're using either something that they don't know what it is. Either the code was not written with the official tutorial. And then some of the message responses and such are also uninformative to read.
Of course here's what I'm going to say. I'm getting this error here. It's written according to the code in the official arduino.cc tutorial, copied and pasted from the original. And checked for basic syntax errors. Compiling gives this error
error: 'TKD2' was not declared in this scope
Tutorial on using the official arduino.cc remote library
https://www.arduino.cc/en/Tutorial/RobotRemoteControl
Again, I copied and pasted directly. Still have this error.
Oops. Let's just fix it ourselves. It's easier too.
We have two ways to solve this problem.
The first.
Modify this cpp of the error report file
D:\Tools\Arduino\libraries\RobotIRremote\src\IRremoteTools.cpp
right?
#include "IRremote.h"
#include "IRremoteTools.h"
#include
TKD2 in there is changed to 11 or the IO port that you use to plug the IR receiver head into for data reception
Change it to something like this
#include "IRremote.h"
#include "IRremoteTools.h"
#include
I changed it here to 11
Of course. So if you need to change the port. I also have to change the cpp file of the library of the arduino ide. That's a bit of a crap shoot. Here's a second way to do it.
The second way. It's written in C++ syntax.
Of course. You can just copy my code and that's enough.
Modify
D:\Tools\Arduino\libraries\RobotIRremote\src\IRremoteTools.h
#ifndef IRREMOTETOOLS_H
#define IRREMOTETOOLS_H
extern void beginIRremote();
extern bool IRrecived();
extern void resumeIRremote();
extern unsigned long getIRresult();
#endif
Modify this h file to
#ifndef IRREMOTETOOLS_H
#define IRREMOTETOOLS_H
extern void beginIRremote( int receivePin );
extern bool IRrecived();
extern void resumeIRremote();
extern unsigned long getIRresult();
#endif
It is the extern void beginIRremote( int receivePin );
This method adds a parameter
Then we modify the
D:\Tools\Arduino\libraries\RobotIRremote\src\IRremoteTools.cpp
#include "IRremote.h"
#include "IRremoteTools.h"
#include
Change to
#include "IRremote.h"
#include "IRremoteTools.h"
#include
OK. After the modifications are made. Let's look at the code we're using
#include
Then compile
The project uses 4,772 bytes, which takes up (14%) of the program memory. The maximum is 32,256 bytes.
Global variables use 432 bytes, (21%) of dynamic memory, leaving 1,616 bytes for local variables. This is a maximum of 2,048 bytes.
OK Changed it.
Again, the official arduino.cc remote control library tutorial address
https://www.arduino.cc/en/Tutorial/RobotRemoteControl
20160617
--by brok1n
#ifndef IRREMOTETOOLS_H
#define IRREMOTETOOLS_H
extern void beginIRremote();
extern bool IRrecived();
extern void resumeIRremote();
extern unsigned long getIRresult();
#endif
関連
-
[解決済み】Arduino Leonardo - "avrdude: butterfly_recv(): programmer is not responding".
-
[解決済み】Arduinoのエラー:型に名前がない?
-
[解決済み] arduinoが最後のアップロードで突然 "avrdude: ser_open(): can't open device "\.\COM3""" と表示される。
-
[解決済み] Esp32cam ESP32への接続に失敗:パケットヘッダ待ちでタイムアウト
-
[解決済み] ESP32-WROOM-32とESP32-WROVERを比較。
-
[解決済み] ArduinoでLEDストリップに虹色の波を作るには?
-
[解決済み] ESP32-camの「Brownout detector was triggered」エラーについて、何か解決策はありますか?
-
[解決済み] Javaベースのマイクロコントローラ?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例