//Logo Image
作者:巫佳哲(2008-11-25);推薦:徐業良(2008-11-25)

KS_2410RS232序列埠與裝置溝通使用方式

KS_2410支援3RS232序列埠,由『/dev』裝置資料夾中可以得知其裝置名稱ttyS0ttyS1ttyS2(如圖1)。其中ttyS0已被系統預設為與電腦終端機連接使用,剩下ttyS1ttyS2可供使用。本文主要介紹KS_2410RS232序列埠與裝置溝通使用方式。

1. /dev』裝置資料夾內容

1.         腳位連接

2RS232序列埠腳位圖,請依照表1的腳位說明,正確的連接至裝置。例如要使用ttyS1與裝置連接,請將RSTXD1RSRXD1SGND(任一個SGND都可)連接至裝置的對應位置。

2. 序列埠腳位配置圖

1. 序列埠腳位說明

序號

說明

序號

說明

1

VCC

2

VCC

3

RSTXD1

4

RSTXD0

5

RSRXD1

6

RSRXD0

7

RSTXD2

8

RSRTS0

9

RSRXD2

10

RSCTS0

11

UCLK/GPH8

12

NC

13

SGND

14

SGND

2.         範例一:使用“ttyS1”與電腦連接

範例一示範使用ttyS1連結KS_2410與電腦傳送資料。將硬體裝置連接正確後,執行範例程式“RS232_example_01”。首先範例程式會由KS_2410傳送字串“Hello…ARM…DDS..” 給電腦,圖2為電腦終端機顯示接收到字串“Hello…ARM…DDS..” ,再以電腦鍵盤輸入“abcd” 4個字元回傳給KS_2410,圖3反黑處為顯示KS_2410接收到的電腦訊息。

2. 範例一電腦終端機顯示畫面

3. 範例一KS_2410終端機顯示畫面

4為此範例程式“RS232_example_01”之程式碼。第3~12行主要是引用程式庫;第13~14行為基本定義,其中13行為定義“DDS_COM1_Path”“ttyS1”裝置路徑;14行為設定序列埠傳輸速率,注意速率必須與所連接裝置速率相同。

15~55行為主程式內容,其中17~21行為變數宣告;23行執行內建函式“open”以開啟序列埠“ttyS1”,並將函式回傳數值命名為“DDS_COM1”,當開啟序列埠成功時“DDS_COM1”大於0,反之失敗則“DDS_COM1”小於034~43行主要是設定序列埠的參數;46行執行內建函式“write”傳送字串“Hello…ARM…DDS..”49行執行內建函式“read”接收電腦傳送字元後,在終端機顯示;最後第54行執行內建函式“close”關閉序列埠。

4. 範例一程式碼

3.         範例二:使用“ttyS1”與泰博2合一血壓血糖計(TD-3250)連接

範例二示範使用“ttyS1”連結KS_2410TD-3250傳送資料。將硬體裝置連接正確後,執行範例程式“RS232_example_02”。首先範例程式會由KS_2410傳送一串8字元的16進位訊息{0x51, 0x22, 0x02, 0x00, 0x00, 0x00, 0xA3, 0x18}給TD-3250(此串數據為TD-3250標準protocol一部份,目的為取得TD-3250 Project Code),當TD-3250接受到這串數據後會立即回覆{0x51, 0x22, 0x02, 0x00, 0x50, 0x32, 0xA5, 0x9C}數據給KS_2410告知其Project Code,若是要繼續傳輸資料動作則重複以上步驟即可。圖5反黑處為顯示KS_2410接收到的TD-3250回傳訊息。

5. 範例二 KS_2410執行時的終端機顯示畫面

程式“RS232_example1”內容如圖6,與範例一的程式大同小異,只有傳送的資料與接收的資料不同,其餘引用與定義皆相同。如要進一步讀取TD-3250內儲存之量測數據,僅需以同樣方式繼續protocolTD-3250即可取得資料。

1TD-3250之序列埠RS232相關參數設定,通訊時請確認接收端是否配合此參數才可接收訊息。表2TD-3250相關訊息格式,傳送訊息時請依照標準格式發送訊息,其中第8Check Sum的計算方式為前面七個字元總和取兩位,例如{0x51, 0x22, 0x02, 0x00, 0x00, 0x00, 0xA3, 0x18}總和為118取後兩位18,所以Check Sum0x18。表3TD-3250之相關訊息資料。

6. 範例二程式碼

1. TD-3250 RS232相關參數

TD-3250 RS232

Baud rate

19200

Data bit

8

Parity

NO

Start bit

1

Stop bit

1

2. TD-3250通訊協定標準格式

1

2

3

4

5

6

7

8

Start
HEX

CMD
HEX

Data_0
HEX

Data_1
HEX

Data_2
HEX

Data_3
HEX

Stop
HEX

ChkSum
HEX

0x51

CMD

Data_0

Data_1

Data_2

Data_3

0xA3

[1…7]

0x51

ACK

Data_0

Data_1

Data_2

Data_3

0xA5

[1…7]

3. TD-3250 protocol訊息

訊息名稱

CMD/ACK

Data_0

Data_1

Data_2

Data_3

Read Device Project Code.

0x22

0x02

0x00

0x00

0x00

Response from device.

0x22

0x02

0x00

Project_Code (word)

Read System Clock time.

0x23

0x00

0x00

0x00

0x00

Response from device.

0x23

Day+Month+Year(詳細如表4

Minute

Hour

Read the storage data with Index, part 1.(time)

0x25

Index

0x00

0x00

Response from device.

0x25

Day+Month+Year(詳細如表4

Minute

Hour

Read the storage data with Index, part 2.(result)

0x26

Index

0x00

0x00

Response from device.
(result : Blood Glucose)

0x26

Glucose Value (word)

0x00

0x00

Response from device.
(result : Blood Pressure)

0x26

Systolic (word)

Diastolic

Pulse

Read device serial number, part 1.

0x27

0x00

0x00

0x00

0x00

Response from device.

0x27

SN_0

SN_1

SN_2

SN_3

Read device serial number, part 2.

0x28

0x00

0x00

0x00

0x00

Response from device.

0x28

SN_4

SN_5

SN_6

SN_7

Read Storage Number of Stored Readings

0x2B

0x00

0x00

0x00

Response from device.

0x2B

Storage Number

 

 

Write System Clock time

0x33

Day+Month+Year(詳細如表4

Minute

Hour

Response from device.

0x33

Day+Month+Year(詳細如表4

Minute

Hour

Clear/Delete all Memory Storages in Slave Device EEPROM

0x52

0x00

0x00

0x00

0x00

Response from device.

0x52

0x00

0x00

0x00

0x00

4. 時間儲存格式

Data_1

Data_0

Year (7bit)

Month (4bit)

Day (5bit)

6

5

4

3

2

1

0

3

2

1

0

4

3

2

1

0

Data_3

Data_2

 

 

 

Hour (5bit)

 

 

Minute (6bit)

 

 

 

4

3

2

1

0

 

 

5

4

3

2

1

0