まず、準備です。
- Arduino Due 本体
- SAM-ICE
- 変換コネクタ
- マイクロUSBケーブル
- 電源(7-12V) USB 給電する場合は不要
このCPU(SAM3X8E) の内部には温度センサーが入っていますのでプログラムから呼び出して
温度測定を行ってみたいと思います。CPU 内なので起動後、徐々に温度は上がるハズです。
- Atmel Studio の起動
- Start ページより New Example Project... を選択する。
- Device Family 欄には SAM3X を選ぶ
- 左枠の種別は Kit を選択します。
- サンプルには ADC Temperature Sensor Example - Arduino Due/X を指定します。
以上で OK をクリックすると、ライセンス条項(英語)が表示されますので
□ I accept the license agreement にチェックを入れ Finish ボタンをクリックします。
するとプロジェクトが生成されます。
(少し時間がかかります。)
測定結果を表示させるためシリアル通信プログラムを用意します。(今回は TeraTerm )
温度データはUSB-Serial (Programing Port)に出力されます。
(通信条件:8bit Non Parity 1Stop 速度は115200bps)
Windows の場合 コントロールパネル → システムとセキュリティ → システム とたどり デバイスマネジャーをクリックし、ポート(COMとLPT) をクリックすれば COM ポート番号がわかります。番号は PC により変化します。
準備が揃ったところで Start Debugging and Break (Alt+F5) を実行します。
プログラムの main で一旦、停止します。続いて Continue (F5) でプログラムが続行されます。
TeraTerm で表示されたデータ
-- ADC Temperature Sensor Example --
-- Arduino Due/X --
-- Compiled: Oct 20 2016 12:43:25 --
ADC clock frequency = 7000000 Hz
Startup time too small: 280, programmed: 64
Temp:14.9
Temp:15.7
Temp:16.1
Temp:16.1
Temp:16.4
Temp:16.4
Temp:16.4
Temp:16.4
Temp:16.4
Temp:16.8
Temp:16.8
Temp:16.8
Temp:16.8
Atmel社の場合、自社のCPU群でソフトを共通化するため ASF (Atmel Software Framework)が採用されており、他の CPU とソフトの開発を共有化するため冗長部分があります。
また、ハードウエアのアクセスには ARM社の規定したライブラリ群(CMSIS)を使用しますので直接ペリフェラルにアクセスしません。ARM コアを使用しているCPUではほぼ共通で使えそうですが、CMSIS を理解する必要があります。
0 件のコメント:
コメントを投稿