1. 單片機C51中將浮點數轉成字元用串口發出,有時會出錯
仔細看了一下,問題出現在Send_Data(num_ganguo[i]);這里。你去看一下,你是如何處理字元串的,是不是,把數據中的除上位機的數據的數字都處理成了0的ASCII碼了。(個人見解,如有不足,請指出)
2. 瑞薩單片機如何發送浮點數
一般是浮點數乘以10的n次方變成整數進行計算等處理,在輸出的時候再次處理小數點。比如,輸入的是1234.567,1234保存到2個unsigned char型變數裡面,567保存到2個unsigned char型變數裡面,如果是有符號浮點數,可以把符號單獨保存到一個unsigned char裡面,計算的時候所有的數都乘以1000,輸出的時候單獨輸出整數部分和小數部分。
51單片機是對所有兼容Intel 8031指令系統的單片機的統稱。該系列單片機的始祖是Intel的8031單片機,後來隨著Flash rom技術的發展,8031單片機取得了長足的進展,成為應用最廣泛的8位單片機之一,其代表型號是ATMEL公司的AT89系列,它廣泛應用於工業測控系統之中。很多公司都有51系列的兼容機型推出,今後很長的一段時間內將佔有大量市場。51單片機是基礎入門的一個單片機,還是應用最廣泛的一種。需要注意的是52系列的單片機一般不具備自編程能力。
3. 51單片機怎麼通過串口發送小數
方法多的去了,把數字37.5轉換為字元串「37.5」發送可以,用壓縮BCD碼0x37、0x05發送也可以,多得是。不一定一定要浮點處理。