① 單片機的數據類型是什麼意思
(無符號)整型、字元型、浮點型 這就是數據類型
② 51單片機數據類型轉換 高分!
假如你的串口發送函數叫SendData,接收函數叫RecvData,參考如下代碼
發送端:
intSendData(unsignedchar*pSendBuf,unsignedintnSendLen);
intRecvData(unsignedchar*pRecvBuf,unsignedintnBufLen);
voidmain(void)
{
floatf;
inti;
doubled;
SendData((unsignedchar*)&f,sizeof(float));
SendData((unsignedchar*)&i,sizeof(int));
SendData((unsignedchar*)&d,sizeof(double));
}
接收端:
voidmain(void)
{
floatf;
inti;
doubled;
RecvData((unsignedchar*)&f,sizeof(float));
RecvData((unsignedchar*)&i,sizeof(int));
RecvData((unsignedchar*)&d,sizeof(double));
}
宗旨就是,先取其他類型數據的地址,用&符號,然後把地址轉換為unsigned char*型,就可以通過*(unsigned char)的方式或(unsigned char)[]的方式訪問了,就這么簡單,希望可以幫到你.
③ 單片機中io和ad數據類型有什麼區別
IO是單片機的輸入輸出埠,一般接收的是數字量,有部分單片機帶有AD功能,其中的一些IO口可以設置成接收模擬量輸入,進行AD轉換,比如STC12C5A60S2就帶8路AD,可最大進行12位AD轉換。所以從題目上來看IO和AD數據類型是不搭界的,但兩者之間對於一些單片機而言卻實有些關系。
④ 51單片機中SBUF中讀出的數據類型
SBUF讀出來的是ASCII碼,數據類型當然是unsigned char,所以如果你從PC發一個數字9給單片機,單片機實際接收到的數據是0x39(9對應的ASCII碼),所以你在程序中判斷的值應該是0x39而不是9。希望我的回答對你有幫助,謝謝!
⑤ 51單片機的數據類型怎麼用
按存儲類型分的話,51單片機有data,idata,xdata,pdata四種數據類型。
dATa: 固定指前面0x00-0x7f的128個RAM,可以用acc直接讀寫的,速度最快,生成的代碼也最小。
idATa: 固定指前面0x00-0xff的256個RAM,其中前128和dATa的128完全相同,只是因為訪問的方式不同。idATa是用類似C中的指針方式 訪問的。匯編中的語句為:mox ACC,@Rx.(不重要的補充:c中idATa做指針式的訪問效果很好)
xdATa: 外部擴展RAM,一般指外部0x0000-0xffff空間,用DPTR訪問。
pdATa: 外部擴展RAM的低256個位元組,地址出現在A0-A7的上時讀寫,用movx ACC,@Rx讀寫。
⑥ 單片機串口接收數據格式問題
一個位元組 產生16進字元就是兩個字元了,
還原時,每兩個字元再還原一個位元組就行了。
發送: 1A-----> '1' 'A'
接收: '1'-----> 1,'A'----->10
1*16+10=26 即1A, 就變成一個位元組了。很簡單