Atmel Studio 7にインストールして使用したプログラムを書いています。 Arduinoのスタジオをセットアップし、Atmega128をサポートされているチップライブラリに追加しました。すべてがそこに良いです。 SoftwareSerialライブラリを使用してコンパイルしようとすると、Atmega128とAtmega64がSoftwareSerialをサポートしていないというエラーが表示されます。どうしてこれなの? atmega328などと比較して、このAVRの違いは何ですか?それはライブラリをサポートしません。 atmega128でSoftwareSerialまたはSoftUartを使用する方が良い方法はありますか?ありがとうなぜSoftwareSerialがAtmega128で動作しないのですか
答えて
このコンパイルエラーに遭遇しましたか:This version of NewSoftSerial supports only 20, 16 and 8MHz processors
?
これはcppファイル内のこれらの定義に由来します。 F_CPUを8000000と定義し、クロック速度を設定するために実際にレジスタを設定しているかどうか確認するとうまくいくかもしれません。一部のプロセッサは、デフォルトでは低速のクロック速度を使用します。ハードウェアマニュアルを参照してください。
F_CPUは、NewSoftwareSerial.cppファイルが処理される前に定義する必要があることに注意してください。 Dスイッチを使用して、コマンドラインで定義を作成することができます。私の研究を通して
#if F_CPU == 16000000
[snip]
#elif F_CPU == 8000000
[snip]
#elif F_CPU == 20000000
[snip]
#else
#error This version of NewSoftSerial supports only 20, 16 and 8MHz processors
#endif
こんにちは、返信いただきありがとうございます。コンパイル時にF_CPUエラーが発生しませんでした。そして、はい、私は16MHzにF_CPUを設定しました。唯一のエラーは、特に "ATmega64とATmega128はSoftSerialをサポートしていません!"ということです。私がSoftwareSerial.hファイルを見ると、実際には44行目にコード化されています。 – Eddie
、Arduinoのライブラリを使用して設定しながら、その含まSoftwareSerialライブラリがあるためPINの違いのatMega64とATMEGA128をサポートし、これらのチップ上で中断されません。私は、this exampleを変更することによって、atMega128の他のGPIOピンにsoftserialを設定しました。この例は送信専用です。私はそれが割り込みとクロッキングを設定する必要があるので、まだ受信部分で作業しています。覚えておくべき重要な点は、プロジェクト全体でクロック設定が一致し、シリアルボーが適切に設定されていることを確認することです。私はいくつかの異なるボーレートを使ってコードをテストしました。
初心者向けのメモとして、私はArduinoでのテストが素晴らしいことを発見しました。しかし、カスタムビルドCプロジェクトに移行しようとすると、ArduinoプロジェクトからクリーンCプロジェクトに移行することは非常に困難です。私の意見では、Atmel Studio環境でC言語を学び、Arduinoから離れたほうが簡単です。私はこれがプログラミングから始めて誰かを助けることを願っています。
- 1. 自動テストが動作しないのはなぜですか?
- 2. LibGDX:なぜGdx.files.internal()が動作し、Gdx.files.local()が動作しないのですか?
- 3. なぜ(++ x = ++ y)が動作し、(x ++ = ++ y)が動作しないのですか?
- 4. なぜfindAll()が動作し、find($ id)が動作しないのですか?
- 5. モデルナビゲーションがセルフトラッキングエンティティで動作しないのはなぜですか?
- 6. System.errでフラッシングが動作しないのはなぜですか?
- 7. htaccessがlocalhostで動作しないのはなぜですか?
- 8. なぜcolgroup/colがChromeで動作しないのですか
- 9. Sequelizeでsave()が動作しないのはなぜですか?
- 10. SVGでdocument.titleが動作しないのはなぜですか?
- 11. Cでfree()が動作しないのはなぜですか?
- 12. rsyncがbashで動作しないのはなぜですか?
- 13. なぜevent.keyCodeがng-keyupで動作しないのですか?
- 14. .includes()が.classListで動作しないのはなぜですか?
- 15. Ajax.BeginFormがChromeで動作しないのはなぜですか?
- 16. PHPで `session_destroy()`が動作しないのはなぜですか?
- 17. なぜinstanceofがGenericで動作しないのですか?
- 18. なぜ$ .postメソッドがIEで動作しないのですか?
- 19. svgがブートストラップメディアオブジェクトで動作しないのはなぜですか?
- 20. typedefがpthreadで動作しないのはなぜですか?
- 21. なぜjQueryプラグインでondragoverが動作しないのですか?
- 22. add_EventNameがTimerで動作しないのはなぜですか?
- 23. なぜJavaScriptがFirefoxで動作しないのですか
- 24. なぜCodeIgniterでクッキーが動作しないのですか?
- 25. innerTEXTがノードで動作しないのはなぜですか?
- 26. react.jsでリンクが動作しないのはなぜですか?
- 27. ie7でドロップダウンが動作しないのはなぜですか?
- 28. プレースホルダがIE8で動作しないのはなぜですか?
- 29. mysql_real_escape_stringがMySQLiで動作しないのはなぜですか?
- 30. tkinterがビジュアルスタジオで動作しないのはなぜですか?
正確なエラーメッセージは何ですか? –