2010-12-08 26 views
1

我正在開發一個Perl腳本來在藍牙固件(通過USB連接的BT)和測試設備(通過串行端口連接)之間傳輸數據。我正在使用Perl模塊Win32::SerialPort。我可以使用特殊的ASCII格式(☻Black Smiley ..♥黑色心臟)獲取設備中的數據。當我將它轉換回十六進制時,我得到我的固件可以處理的操作碼。作爲回報,BT固件發回命令完整操作碼。使用Perl的串行端口和設備之間的數據傳輸Win32 :: SerialPort模塊

問題從這裏開始......當我嘗試使用$ PortObj-> write(opcode(hex))寫回串行端口時,測試設備無法識別它。我應該在這裏做什麼?

+0

錯誤很可能在第42行。如果您提供了您正在編寫的程序的小樣本,則可以更好地查明問題。沒有它,人們只能在學術上懷疑可能導致問題的原因。我的猜測是你沒有發送你認爲你正在發送的串口。 – mfontani 2010-12-08 13:38:21

回答

2

好,我想在Perl包功能爲我工作:) ..

@輸入=(0x04,0x0e,0x04,0x01,0x03,0x0c,0×00);

$ ascii = pack(「C *」,@input);

print「value is $ ascii」;

$ PortObj-> write($ ascii)||死「無法寫入$ PortObj:$^E \ n」;

相關問題