1.7.10で解決した不具合、発生した不具合このページをスマートフォンなどでご覧になる場合は、画面を横長にする方が読みやすくなる事があります。1.7.10をリリースしました。このバージョンで改善された事の内、私が確認できたことについて説明します。このバージョンで新たに発生した不具合もありましたので、合わせて報告します。1.7.10での変更点を網羅的に解説した記事ではありません。1ページ1.SAMD用SPIライブラリに関する改善SAMDプロセッサを内蔵したArduino(表1)用のSPIライブラリでは、これまでSPISettings関数、beginTransaction関数、endTransaction関数、usingInterrupt関数が使えませんでした。1.7.10で、これらの関数がSPIライブラリに実装されました。M0で動作する事を、当方で確認しました。M0搭載Arduino。M0の機能拡張版で、デバッガが使用できる。秋月電子では5,670円で販売。Proの名称が使えなくなり、商品名が変更になった。IDEを使うと、SAMDプロセッサを内蔵したArduinoでは、起動時にはA/D変換の基準電圧(フルスケール電圧)が1.65Vに設定されてしまう不具合がありました。これが、基準電圧が3.3Vになるように修正されました。1.7.9で行われた模様です。IDEで正しくA/D変換器を使いたい場合は、setup関数の中でanalogReference(AR_DEFAULT);を呼び出します。IDEでこの呼び出しを行っても、問題となる副作用は発生しませんから、SAMDのArduinoを使う場合は、必ずanalogReference関数で基準電圧を設定する方がいいでしょう。1.7.10では107010と6桁の数字になってしまいました。1.7.8では、10708と5桁の数字になっていました)【コラム】マクロ定数ARDUINOについてArduinoでスケッチやライブラリをコンパイルする際に、ARDUINOというマクロ定数があらかじめ定義された状態でコンパイルが行われます。IDEのバージョンを区別するために設けられています。1.0.X(Xは任意の数字)では、ARDUINO定数は3桁の数字でした。1.0.5では、ARDUINO定数は105と定義されます。1.6.Xおよび1.7.Xでは、ARDUINO定数は5桁の数字に変更になりました。1.7.8では、ARDUINO定数は10708と定義されます。IDEのバージョンの違いが問題になる際の対応に利用されます。#endifという具合に条件コンパイルする事で対応できます。注:上のエラーメッセージ日本語で書くと、エラーメッセージが文字コードで表示され、意味が分からなくなる。IDEでうっかりコンパイルしてしまったユーザーに、適切なエラーメッセージを提示できます。Arduinoを使う場合に特に実行したい処理#endifと、定数ARDUINOが定義されているかどうかを条件に、条件コンパイルすれば対応できます。1.7.10でARDUINOが107010と6桁で定義されてしまうため、上記のコードは正しく動作しなくなりました。1.7.10では正常に動作しない可能性があります。実際にARDUINO定数を確認したい場合は、次のスケッチを実行し、シリアルモニタで出力を観察するのが簡便です。}なお、Arduinoの機種によっては"Serial"を適切な名称に書き換える必要があります。"Serial"を全て"SerialUSB"に書き換えてください。1.7.10で解決した不具合、発生した不具合このページで使われている用語の解説Arduino関連ページArduinoでグラフィックLCDを動かす(AQM1248A編)(3)後半のコラムに、SAMD用SPIライブラリの不具合に関する記述がある。Arduino用ヘッダシールドの製作(3)SPISetting関数などを使ったスケッチの例がある。電子工作ISBN:978-4-7775-1941-5→工学社の書籍の内容の紹介ページ本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。このサイトの中の人が書いた本です。本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。