Ⅰ 單片機串口接收數據格式問題
一個位元組 產生16進字元就是兩個字元了,
還原時,每兩個字元再還原一個位元組就行了。
發送: 1A-----> '1' 'A'
接收: '1'-----> 1,'A'----->10
1*16+10=26 即1A, 就變成一個位元組了。很簡單
Ⅱ 單片機程序的「.c」和「.h」格式都有什麼區別
.c文件是整個程序中的一個或幾個函數組成,在別的.C文件里可以調用它,不只是在主函數中。這樣做可以增強程序的模塊化,提高程序的可讀性。當編制好一個模塊時你可以保存在一個工程下,文件名改為**.C。這樣在另一個.C文件中的文件頭處只要你對它進行說明就可以調用它。比如#include string.cx0dx0a那麼你就可以在你說明了的.C文件中調用它,這樣枝陪仔一個模塊可以在很多處調用,使得編程復雜度降低。程序編譯時把你所說明的文件復制到你調用處程序就可以運行猛汪了。x0dx0a.H文件是對單片機一些埠及一些常用的程序的庫說明,x0dx0a比如我們在程序中用到埠一即P1,我們能夠用它是因為在庫中已對它進行了說明亂臘,對P1賦予了一個埠地址,這樣程序編譯是才不會出錯,不然會提示你UNDIFINEDx0dx0a.C文件一般是自己創建的。而.H文件是系統自帶,不過自己也可以創建.H文件,主要對用到的一些標號進行說明,其中也可以包括一些常用的函數x0dx0a用戶自己創建的.C文件是放在工程目錄下,.H文件一般放在編譯器的某個目錄下,程序編譯的時候從默認目錄中搜索,如果找到則復制到程序開頭處。
Ⅲ 在玩單片機 的時候總是會說什麼定點運算和浮點運算,始終不明白,這個浮點運算是什麼,
定點運算實際就是整數(定點小數,可以視為整數)運算,浮點運算實際就是實數運算。
假如處理器是32位的,也就是說32位都用來表示整數的話,那麼對於無符號整數就是 0~2^32-1,對於有符號整數就是 -2^31~2^31-1。如果是實數的話,機器有兩種辦法來表示,一種是定點,即小數點位置是固定的;另一種就是浮點,即小數點位置不固定,計算方法也比較麻煩,通常會比整數運算代價大很多。
因為計算機只能存儲整數,所以實數都是「約等於」出來的,浮點運算是很慢的而且會存在精度問題(也即誤差)。
基本所有處理器都支持定點運算,但不是所有的都支持浮點運算。