アプリケーションの説明 2014/02/04 -...
TRANSCRIPT
-
1
Access_SerialPortアプリケーションの説明 2014/02/04
RS232CインターフェースでPCに接続したCPU基板と UART通信(非同期シリアル通信)を行うためのプログラムです。
USBのVCP(仮想COMポート)による通信を行う場合は、Access_VCPアプリケーションを使用してください。
Microsoft Visual C# 2010 Expressを使用して作成した PCアプリケーションです。
Access_SerialPortアプリケーションは、実行中はいつでも受信可能にしておくためにCOMポートを開いたままにしています。
アプリケーションを終了するとCOMポートをクローズします。
他のアプリケーションで同一のCOMポートを使用する場合は、Access_SerialPortアプリケーションを閉じてください。
目次
1. PCとCPU基板との接続 .............................................................................................................................................................................................................................. 2
1) UART1による接続 ...................................................................................................................................................................................................................................... 2
2) UART2による接続 ...................................................................................................................................................................................................................................... 3
1.1. 「飛石伝ひ I/F基板」 を使用して RS232C接続する場合 ......................................................................................................................................... 4
1.2. STM32F4 Discoveryの場合 ......................................................................................................................................................................................................... 6
1.3. STM32L-Discoveryの場合 .......................................................................................................................................................................................................... 7
2. インストールして使用したい場合 .............................................................................................................................................................................................................. 8
3. Microsoft Visual C# 2010 Expressプロジェクトを起動して実行したい場合 ................................................................................................................ 10
4. Access_SerialPortアプリケーションの動作 ...................................................................................................................................................................................... 12
4.1. エコーバック ......................................................................................................................................................................................................................................... 12
4.2. データ受信 ........................................................................................................................................................................................................................................... 15
4.3. Access_SerialPortアプリケーションの使用上の注意 .................................................................................................................................................... 16
5. 主なモジュールの概要 .............................................................................................................................................................................................................................. 17
-
2
1. PCとCPU基板との接続
RS232Cの非同期シリアル通信で接続するものなら何でも接続できますが、ここでは Cortex-M3またはCortex-M4シリーズ
のCPUを対象に説明します。
PC と CPU基板との接続は次のようになります。
1) UART1による接続
a) 信号接続
UART1による接続信号は次のようになります。
(STM32F4 Discoveryでは PA9と PA10を USBの制御に使用しているため UART1としては使用できません。)
番号 CPU機能名 CPU信号名 方向
(RS232C ドライバ挿入)
接続相手の
信号名
D-SUB 9S
ストレート接続
1 USART1_TX PA9 --- > RxD 2
2 USART1_RX PA10 < --- TxD 3
3 GND GND < --- > GND 5
b) RS232C ドライバ接続例
RS232C
ドライバ
CPU基板
UART
PC RS232Cケーブル
-
3
2) UART2による接続
a) 信号接続
UART2による接続信号は次のようになります。
番号 CPU機能名 CPU信号名 方向
(RS232C ドライバ挿入)
接続相手の
信号名
D-SUB 9S
ストレート接続
1 USART2_TX PA2 --- > RxD 2
2 USART2_RX PA3 < --- TxD 3
3 GND GND < --- > GND 5
b) RS232C ドライバ接続例
-
4
1.1. 「飛石伝ひ I/F基板」 を使用してRS232C接続する場合
1) UART1を使用する場合
UART1を使用する場合、PCとの接続は以下のようになります。
コネクタ P8-UART0を使用して PCなどとRS232C接続することができます。
(P8-UART0にCPUの USART1の信号が接続されています。まぎらわしくて、すみません。)
「飛石伝ひ I/F基板」の UART信号表
飛石伝ひ I/F基板
P8 ピン番号
信号名 CPU機能名 CPU信号名 飛石伝ひCPU基板
コネクタピン番号
接続相手の信号名
1 TxD USART1_TX PA9 P1-41 --- > RxD
2 RxD USART1_RX PA10 P1-40 < --- TxD
3 GND GND GND P1-1, P1-2, P1-5
P1-17, P1-49, P1-50
P2-1, P2-2, P2-50
< --- > GND
DSUB-9Sとの接続
飛石伝ひ I/F基板
P8 ピン番号
信号名 DSUB-9S 備考
1 TxD 2
2 RxD 3
3 GND 5
DSUB-9Sには上記の3本の信号以外は接続されていません。
飛石伝ひ I/F基板
P8 DSUB-9S
PC
RS232C変換ケーブル
飛石伝ひCPU基板
P3 P4
図1.1. 1)
-
5
2) UART2を使用する場合
UART2を使用する場合、PCとの接続は以下のようになります。
「飛石伝ひ I/F基板」はRS232C ドライバを搭載しています。
コネクタ P9-UART1を使用して PCなどとRS232C接続することができます。
(P9-UART1にCPUの USART2の信号が接続されています。まぎらわしくて、すみません。)
「飛石伝ひ I/F基板」の UART信号表
飛石伝ひ I/F基板
P9 ピン番号
信号名 CPU機能名 CPU信号名 飛石伝ひCPU基板
コネクタピン番号
接続相手の信号名
1 TxD USART2_TX PA2 P2-40 --- > RxD
2 RxD USART2_RX PA3 P2-39 < --- TxD
3 GND GND GND P1-1, P1-2, P1-5
P1-17, P1-49, P1-50
P2-1, P2-2, P2-50
< --- > GND
DSUB-9Sとの接続
飛石伝ひ I/F基板
P9 ピン番号
信号名 DSUB-9S 備考
1 TxD 2
2 RxD 3
3 GND 5
DSUB-9Sには上記の3本の信号以外は接続されていません。
飛石伝ひ I/F基板 P9 D
SUB-9S
PC
RS232C変換ケーブル
飛石伝ひCPU基板
図1.1. 2)
-
6
1.2. STM32F4 Discoveryの場合
PCとの接続は以下のようになります。
RS232C
ドライバ
DSUB-9S
PC
RS232C変換ケーブル
図1.2.
STM32F4 Discovery
-
7
1.3. STM32L-Discoveryの場合
PCとの接続は以下のようになります。
RS232C
ドライバ DSUB-9S
PC
RS232C変換ケーブル
STM32L-Discovery
図1.3.
-
8
2. インストールして使用したい場合
Access_SerialPort.zipをダウンロードして解凍すると、下図のようにフォルダAccess_SerialPortの下の publish内に
インストールのためのファイルが格納されています。
setup.exeをダブルクリックすると次の警告のダイアログが開きます。
[インストール(I)] ボタンをクリックしてインストールしてください。
次ページに続く
-
9
プログラムがインストールされて自動的にAccess_SerialPortプログラムが実行されて次のダイアログが表示されます。
-
10
3. Microsoft Visual C# 2010 Expressプロジェクトを起動して実行したい場合
Microsoft Visual C# 2010 Expressがインストールされている必要があります。
フォルダAccess_SerialPortの下のファイルAccess_SerialPort.slnをダブルクリックしてプロジェクトを起動してください。
プロジェクトが起動すると以下の画面になります。
-
11
メニューの {デバッグ(D)} -> {デバッグ開始(S)} をクリックするとプログラムが実行されて次のダイアログが開きます。
図3.
-
12
4. Access_SerialPortアプリケーションの動作
4.1. エコーバック
1) COMポートの選択
COM選択のComboBoxで COMポートを選択してください。
選択すると次のメッセージが表示されます。
[はい(Y)] ボタンをクリックしてください。
次ページに続く
-
13
この例では 「COM4に設定しました。」 とメッセージが表示されています。
2) 次に送信データにASCII文字を入力して [送信] ボタンをクリックしてください。次のようになります。
この例では “How are you?” と入力しています。(このプログラムではASCII文字のみ入力可能です。)
エコーバックされて、受信の部分に “How are you?” が表示されています。
-
14
3) 送信データの入力について
送信データにはASCII文字のみ入力可能です。
データの値が 0x20未満、 0x7F以上の場合、 &xx の 3byteで表現します。
a) 例1
: 0x0D 0x0A を入力する場合 : &0D&0A と入力します。
b) 例2
& を入力する場合 : && と&を2個入力します。
受信データ表示選択が ASCII の場合、受信データの欄に表示されるデータもこの規則に従います。
-
15
4.2. データ受信
データを受信すると、受信データの欄に受信データが表示されます。
CPU基板がUART_STM32F4プログラムを実行している場合、Userスイッチを押すたびに8byteデータを送信します。
他のプロジェクトサンプル実行時は、この限りではありません。それぞれのプロジェクトサンプルの動作に従います。
コマンドを送信して応答データを返すプロジェクトサンプルでは、応答データを表示します。
1) ASCII表示
受信データ表示選択でASCIIを選択している場合の受信データの表示を示します。
この例では Userスイッチを3回押しました。 “ABCDEFGH” と “abcdefgh” が表示されています。
(UART_STM32F4プログラムを実行している場合の例です。)
-
16
2) HEX表示
受信データ表示選択でHEXを選択している場合の受信データの表示を示します。
Userスイッチを3回押しました。 “abcdefgh” と “ABCDEFGH” がHEXコードで表示されています。
(UART_STM32F4プログラムを実行している場合の例です。)
4.3. Access_SerialPortアプリケーションの使用上の注意
Access_SerialPortアプリケーションは、実行中はいつでも受信可能にしておくためにCOMポートを開いたままにしています。
アプリケーションを終了するとCOMポートをクローズします。
他のアプリケーションで同一のCOMポートを使用する場合は、Access_SerialPortアプリケーションを閉じてください。
-
17
5. 主なモジュールの概要
1) COMポートのオープン
指定されているCOMポートをオープンします。
private int SerialPortOpen()
2) COMポートのクローズ
指定されているCOMポートをクローズします。
private void SerialPortClose()
3) 送信ボタンクリック時のイベント
送信ボタンをクリックしたときの処理です。
送信データ_textBoxのデータを送信して受信データをReceiveData_listBoxに表示します。
private void 送信_button_Click(object sender, EventArgs e)
4) UART受信のイベント
UARTデータを受信したときにイベントが発生します。
//Serial Port データ受信イベント
private void Communicate_serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
5) ReceiveData_listBoxにデータを表示する。
ReceiveData_listBoxに指定したデータを表示します。
//ListBoxにデータを表示する。
public void SetReceiveData_listBox(string strData)
-
18
6) 送信データチェック
送信データ_textBoxに入力されたデータをチェックします。
//戻り値 :
// 0 : OK
// 1 : NG
private int 送信データチェック(string strSendData)
7) 送信データ作成
送信データ_textBoxに入力された stringデータを byteデータに変換して送信できる形にします。
//戻り値 : 送信データ数
// 0 : NG
// 1以上 : OK
int 送信データ作成(string strSendData)