前回まで順調に進みましたので、これでもうスケッチを書き込むだけ、かと思いきや、スケッチがコンパイルエラーになってしまいました。”xxx” was not declared in this scopeと言うエラーです。

過去にこういったエラーが出たときは、実際に”xxx”部分が定義されていなかったことが多かったのですが、今回はちゃんと定義されている部分です。。エラー欄に「名前を変えたらどう?」みたいなメッセージが出てたので、それに従ってみてもダメでした。

色々検索してみると、このエラーはいくつかパターンがあるらしく、色んな理由で起きるようです。なかでも面白いなと思ったのは「IDEの”ツール”にある”エンコーディングを修正”を実行するとコンパイルが通るようになった」という報告でした。それも試してみましたが、今回のエラーとは関係ありませんでした。そして色々試しつつだいぶ悪戦苦闘した結果、今回のスケッチでは、
エラーが起きている行を、”xxx”部分が定義されている行より下に移動する
ということで解決しました!こんな単純なことなのにエラーになることもあるんですね~~。ちなみにスケッチの書き込みは、前回のブートローダの書き込みと同じ接続方法で「スケッチ」→「書き込み装置を使って書き込む」を選択すれば大丈夫です。
ところで、個人的にはスケッチのsin8()が特に分からなかったのですが、What is the argument to all of the wave functions like sin8?にあるようにlib8tion.hに定義されているようで、0~255のLEDの輝度が得られるみたいで、これでピカピカするみたいですね。
これでプログラムを自由に書き込めるようになりましたので、星型基板裏面のLEDと、表面のボタンも半田付けしました。元のスケッチにはボタン部分の機能が無かったので、とりあえず、LEDの光量変更機能も付けてみました!
>工作室へ
コメント