S.A., arkadaşlar, word formatındaki sıcaklık bilgisini tcp_data[] isimli array e aktarmam gerekiyor. ascii karakteri tcp_data[0] = "A" şeklinde yollayabiliyorum. word formatındaki sıcaklığı nasıl dönüştürmem gerekir.
Teşekkürler,
Sıcaklık bilgisi word formatına nasıl dönünüyor ki ?
Dönüşmeden önce yakalama imkanı vardır sanırım.
_dht11_buffer şeklinde veriler alınıyor.
tcp_data[0] = _dht11_buffer[0]
tcp_data[1] = _dht11_buffer[1]
.
.
.
şeklinde denedim ama, malesef.
Tekrardan S.A.,
tcp_data[0] = 65 yazınca tcp server da decimal 65 in ascii deki karşılığı olan " A " yazmakta. Server yazılımını python ile yazdım. Benim isteğim ise 65 değerini yazdırmak.
Bu sebeple server da
data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes
olan satırı
data, addr = sock.recvfrom(1024).encode("dec")
yaptım. Malesef yemedi.
pic ve python tarafında ne yapabiliriz?
C için standart kütüphaneden itoa fonksiyonunu kullanabilirsiniz. Python tarafında ekrana yazdırırken ne kullanıyorsanız onun format string'inde %d ile tanımlarsanız otomatik dönüştürme yapılır.
print "%d" % x
Böyle yaparsanız x doğrudan tamsayı gibi yorumlanır. Örneğin x'e 'A' karakterini atarsanız 65 gözükür... PIC tarafından gelen veriyi bu şekilde kullanabilirsiniz...