CAN-BUS Shield V1.2 を動かしてみる
目的
ここでは前編の「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については本家のサイトがありますので、こちらが詳しいでしょう。
http://wiki.seeedstudio.com/CAN-BUS_Shield_V1.2/
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の動作をしつつ、デバッグが可能になります。
STM8AF EVALUATION ボード (Master), CAN-BUS Shield (Slave)動作確認
STM8AF EVALUATION ボード のファームウェアはデフォルトではMasterに成っています。Arudinoのスケッチの例>CAN-BUS Shield>receive_checkを動作させます。Arudinoのシリアルモニターを表示し、
STM8AF EVALUATION ボード のUserボタン1を押しながら、USBを接続して起動してあげると、 Arudinoのシリアルモニター 画面は以下のように表示されます。

Topics:COSMIC STM8 コンパイルのライセンスについて
余談になりますが、この作業中にST Visual Developで使用しているCOSMICコンパイラーからライセンスの要求画面が表示されるようになりました。

Nextで次の画面が表示されます。

登録したメールアドレスなど適当な文字を入力してNextすると、認証に成功したかの様な画面に移行します。

実際にはライセンスの認証がされていません。フォーラムなどで似たような記事があり、いろいろ調べてさまよっておりましたが、COSMICのコンパイラーをダウンロードする際に登録したメールアドレスにライセンスファイルが送られてきていました。

COSMICから送られてきたメールに添付されている「license.lic」ファイルをコンパイラーのサブホルダーの「licence」フォルダーにコピーせよと書いてあります。その通りにしたら、コンパイル時にライセンス要求画面が表示されなくなりました。これでとりあえず、1年間は無料でコンパイル出来るようです。