我需要保持通串行通信的整數數據類型,一些幫助。我現在的設置是一個Arduino微控制器讀取一個溫度傳感器,它通過一個XBee模塊通過串口輸出一個浮點數,例如:76.82。字節轉換爲整數Python中
的的XBee接收機被掛接到我的計算機,其中一個Python程序讀取使用從串行模塊的readline()
方法。但是,當我做readline()
時,我收到b'76.66\r\n'
。我如何刪除所有的字符,並保持原來的數據類型的數字?
這裏是我的Python代碼:
import serial
ser = serial.Serial(6)
while True:
x = ser.readline();
print(x)
這裏是我的Arduino的代碼:
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 3
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress Thermometer = { 0x28, 0x36, 0x0F, 0xB0, 0x02, 0x00, 0x00, 0xF0 };
void setup(void)
{
Serial.begin(9600);
sensors.begin();
sensors.setResolution(Thermometer, 12);
}
void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
Serial.println(DallasTemperature::toFahrenheit(tempC));
}
void loop(void)
{
delay(5000);
sensors.requestTemperatures();
printTemperature(Thermometer);
}
非常感謝你的完美! – tabchas 2011-12-27 04:44:30
@TabishChasmawala - 開心解決了這個問題。因爲你是新手,我希望你不要介意,如果我提醒你,當答案解決了你的問題時,你應該選擇它作爲接受。除了向回答者提供聲望點(這最終是我們所有人回答問題的唯一原因!)對於未來的訪問者來說,立即看到問題已經解決好也很重要。每個問題只有一個答案可以被標記爲接受。如果不止一個答案是正確的,你通常選擇首先發布的答案,或者最完整/更清楚的答案。歡迎來到StackOverflow! :) – mac 2011-12-27 10:47:12
好吧,我接受了你說的答案,但我不能投票答案,因爲我沒有足夠的聲譽。但是當我這樣做時,我肯定會開始廣泛參與StackOverflow社區。感謝您的歡迎和幫助! – tabchas 2011-12-27 13:56:23