0
我在尋找我的問題與Java DataOutputStream類類的解決方案寫完整的整數。DataOutputStream類不上的SerialPort
我想一個8位二進制值發送到微控制器,它應該是它的新地址。所以我試圖使用函數DataOutputStream.writeByte(int arg0);
當我嘗試用下面的代碼發送地址110
,我能看到的範圍,即通過一個串口正在發送4個字節的ASCII碼"1","1","0","LF"
但我想有端口01101110
。你看到我犯了什麼錯誤嗎?
SerialPort serialPort;
DataOutputStream outputStream;
void sendeSerialPort(int adresse)
{
System.out.println("Sende: " + adresse);
if (serialPortGeoeffnet != true)
return;
try {
outputStream.writeByte(adresse);
}
catch (IOException e) {
System.out.println("Error when sending");
}
}
謝謝
編輯:這是什麼樣子的範圍:
110 sent as int with outputStream.writeByte(int)
一個java'int'爲4個字節(因爲它是一個32位有符號數量)它只打印它作爲文本和換行;如果你想發送一個字節,你應該傳入一個字節。另外,你應該使用'BinaryOutputStream' –
@ElliottFrisch你是否想過DataOutputStream寫入二進制文件? –
@ElliottFrisch什麼是「BinaryOutputStream」? – EJP