国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門 >> 8位單片機(jī)中如何對(duì)16位INT型數(shù)據(jù)進(jìn)行操作?

8位單片機(jī)中如何對(duì)16位INT型數(shù)據(jù)進(jìn)行操作?

關(guān)鍵字:單片機(jī) 數(shù)據(jù)操作 作者:admin 來源:不詳 發(fā)布時(shí)間:2018-05-18  瀏覽:10

在8位單片機(jī)中沒有16位數(shù)的操作指令,所有的int型數(shù)據(jù)都要通過兩個(gè)字節(jié)分開操作,使用的方法不用,生成的代碼也不相同,當(dāng)然效率也不一樣,通過指針對(duì)16位數(shù)進(jìn)行操作可以得到高效的代碼。

比如通過串行口接收數(shù)據(jù),或者從串行的EEPROM中讀取的數(shù)據(jù),或者從大于8位的A/D讀取的數(shù)據(jù),由于8位單片機(jī)的數(shù)據(jù)線是8位的,高于8位的數(shù)據(jù)都要分成兩個(gè)字節(jié)分別讀取,然后寫入到RAM中去再進(jìn)行計(jì)算,或者把16位的int型數(shù)據(jù)從RAM中讀出再分別把高低字節(jié)存到EEPROM或者送到D/A,或者通過串行口發(fā)送出去,方法有很多種,下面用多種方法進(jìn)行實(shí)現(xiàn)該操作,這里只演示寫入到16位的情況,讀取的情況非常相似,不贅述。

(1)使用聯(lián)合 (union)

typedef union{

unsigned int i;

unsigned char c[2];

}u_int;

unsigned char dH = 0x11, dL=0x22;

unsigned int d;

u_int ud;

ud.c[0] = dH;

ud.c[1] = dL;

d = ud.i;

此時(shí)d = 0x1122;

(2) 使用移位指令

數(shù)據(jù)定義與前面相同

d = ((unsigned int)dH)<<8 + dL;

或者

d = dH;

d <<= 8; // or: d = d<<8; 但后者編譯的代碼可能不是最簡(jiǎn)的

d |= dL; // or: d = d | dL; 后者編譯的代碼可能不是最簡(jiǎn)的

(3)使用指針

unsigned char *cptr;

cptr = (unsigned char*)(&d);

cptr[0] = dH;

cptr[1] = dL;

(4)強(qiáng)制指針類型轉(zhuǎn)換

*((unsigned char*)(&d)) = dH;

*((unsigned char*)(&d)+1) = dL;

((unsigned char*)(&d))[0] = dH;

((unsigned char*)(&d))[1] = dL;

這兩種方式看似相同但由Keil編譯出的代碼是不用的,前都有一次加法運(yùn)算,而后者沒有,后者生成的代碼更簡(jiǎn)潔,這種方式與用聯(lián)合成生的代碼是完全一樣的,

在這幾種方法中第(1)與第(4)的第二種生成的代碼是最乘潔的,是推薦使用的,從軟件工程的角度出發(fā),推薦使用方法(1),這樣沒有強(qiáng)制類型轉(zhuǎn)換,沒有用到指針,更不容易出錯(cuò)。從書寫的代碼來講,第(4)的第二種方法是最好的,代碼簡(jiǎn)潔而且效率最高,但語法有點(diǎn)兒復(fù)雜。

編輯:admin  最后修改時(shí)間:2018-05-18

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

国产亚洲午夜高清国产拍精品| 免费观看在线午夜视频| 日本一二三区不卡免费| 国产欧美性成人精品午夜| 中文字幕乱子论一区二区三区| 激情五月综五月综合网| 日韩av生活片一区二区三区| 国产一区二区三区免费福利| 欧美精品久久男人的天堂| 精品人妻一区二区三区在线看| 精品欧美日韩一二三区| 四十女人口红哪个色好看| 亚洲专区中文字幕视频| 中文字幕亚洲精品在线播放| 女生更色还是男生更色 | 欧美在线观看视频免费不卡| 国内精品一区二区欧美| 免费特黄一级一区二区三区| 免费精品国产日韩热久久| 亚洲欧美日产综合在线网| 久久国产成人精品国产成人亚洲| 国产不卡在线免费观看视频| 国产一区欧美一区日韩一区| 亚洲黄色在线观看免费高清| 国产欧美日韩精品一区二区| 欧美日韩校园春色激情偷拍| 国产韩国日本精品视频| 亚洲精品黄色片中文字幕| 久久国产精品熟女一区二区三区| 风间中文字幕亚洲一区| 免费人妻精品一区二区三区久久久| 国产不卡免费高清视频| 91欧美一区二区三区| 国产不卡的视频在线观看| 成人国产激情福利久久| 国产成人午夜av一区二区| 人妻久久这里只有精品| 欧美特色特黄一级大黄片| 欧美大粗爽一区二区三区| 亚洲精品中文字幕无限乱码| 午夜视频免费观看成人|