18/01/2019
目的 ここでは前編の「STM8A Discovery kit (STM8AF EVALUATION BOARD)を動かしてみる」とのCAN通信を確認するためのCANのマスター側をArudino環境で用意し、動作確認をします。 CAN-BUS Shield V1.2 について Seeedのシールドで、現在はV2.0が販売されており、V1.2の購入は出来ないようです。しかし手元にはV1.2がありますので、こちらで動作確認をします。Seeed CAN-BUS Shieldについては本家のサイトがありますので、こちらが詳しいでしょう。 CAN-BUS Shield & Arduino 環境 今回は、Arduino Mega 2560(互換品)で動かしてみたいと思います。 ライブラリのダウンロードとインストール 本家にライブラリのダウンロードについて記載されています。 GitHubからライブラリをZip形式でダウンロードします。 ダウンロードしたZip形式のライブラリファイルをArudino IDEにインストールします。 ライブラリマネージャーからもインストールできます。こちら方が楽ですね。 サンプルコード スケッチの例からsendを選択して、サンプルコードをみてみます。 MCP_CANオブジェクトクラス変数定義の際にCS(チップセレクト)ポートを指定するようです。9番ポートが定義されています。CAN Busシールドの裏面を見てみたいと思います。 CSと9番ピンがつながっているかテスターで当たって見ると、確かに9番ピンにつながっています。SPI通信用のポートも11,12,13に繋げられるようです。本家にも記述がありました。 CSのポートを9から10へ変更出来るとの事です。ここでは何も変更しませんので、サンプルコードはそのまま動くものと判断します。 Setup()関数を動作させてみます。シリアルモニターで見てみると、SPI通信で MCP2515への設定が成功したメッセージが表示されました。ここまでは難なく動作できました。 STM8AF EVALUATION ボード・ファームウェア ファームウェアのソースコードを見てみると、Userボタン1を押しながら起動するとCANのテストモードが動作するようです。 CANテストモードではデフォルトでMasterとして動作するようになっています。 CAN通信の接続 それでは、いよいよSTM8AF EVALUATION ボードとCAN-BUS ShieldをCAN通信接続をしてみます。まずは電気的な接続です。 CANHとCANH、CANLとCANLを接続します。ここで、STM8AF EVALUATION ボードのJP2について、前編ではST-Linkを動作させるたにFlash側にしていましたが、CANの通信を実際に動作させるにはあJP2はCAN側に設定しなければ成りません。 その際、STM8AF EVALUATION ボード でST-Linkによるデバック場合JP1のLINのジャンパースイッチをFlush側にすれば、CANの動作をしつつ、デバッグが可能になります。 [ 39 more words ]
目的 ここでは前編の「STM8A Discovery kit (STM8AF EVALUATION BOARD…