我有一個與在2000年製造的嵌入式設備通信的舊的Java程序的程序使用標準的Windows串行堆棧(從我所知道的,當我在我看到這樣的請求窗口捕捉使用PORTMON該數據通信設備IRP_MJ_WRITE
和IOCTL_SERIAL_SET_RTS
)。分析可能不完全符合RS-232標準的串行通信?
的裝置然而,使用串行到立體聲插頭連接器,類似於this連接到串行端口在計算機上。我相信這意味着設備本身只能使用兩個引腳發送信號。
如何分析,試圖扭轉工程師的協議在兩個設備之間原始通信?我在Windows上,但能夠轉移到OS X或* unix。我知道在某些時候,我將不得不寫一些東西來處理設備如何通信的細節,但是你們建議如何收集信息?
立體聲插頭/插孔足以用於三線RS232鏈路(TXD,RXD,GND)。使用示波器來驗證電壓電平,並嘗試測量波特率。 – sawdust
波特率似乎是1200,這是安裝程序在嘗試通信之前在Windows上設置的東西。然後安裝程序提示用戶輸入一個串行數據,如果輸入並且有效,則發送到該嵌入式設備以驗證它是否匹配。如果我使用putty連接到串行端口,那麼我看到ASCII中的序列號很好,它只是填充了雙方的數據,我想要獲取該數據用於分析的原始數據。 – crims0n
*「Serial」*不是一個名詞,它是一個形容詞。 *「安裝程序然後提示用戶輸入序列,...」* - 串行*什麼*? *「我看到序列...」* - 串行數據?除波特率之外,還需要確定其他配置參數:數據長度,奇偶校驗和停止位。確定數據是全部ASCII還是二進制。 – sawdust