目的

ここでは前編の「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年間は無料でコンパイル出来るようです。