日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 定義-字、半字是根據(jù)處理器的特性決定的;字節(jié)則都是8bit。-sizeof()返回一個(gè)數(shù)據(jù)類型的占用地址長(zhǎng)度,增強(qiáng)程序在不同處理器間的兼容性;CPU按照其處理信息的字長(zhǎng)可以分為:八位微處理器、十六位微處理

定義-、半字是根據(jù)處理器的特性決定的;字節(jié)則都是8bit。-sizeof()返回一個(gè)數(shù)據(jù)類型的占用地址長(zhǎng)度,增強(qiáng)程序在不同處理器間的兼容性;

CPU按照其處理信息的字長(zhǎng)可以分為:八位微處理器、十六位微處理器、三十二位微處理器以及六十四位微處理器等。

CPU最大能查找多大范圍的地址叫做尋址能力 ,CPU的尋址能力以字節(jié)為單位 ,如32位尋址的CPU可以尋址2的32次方大小的地址也就是4G,這也是為什么32位的CPU最大能搭配4G內(nèi)存的原因 ,再多的話CPU就找不到了。


幾個(gè)處理器比較

1)stm32是32bit處理器,所以它的字是32bit的(一次處理4字節(jié)長(zhǎng)度的數(shù)據(jù))。半字自然就是16bit(2字節(jié));字節(jié)是8bit


stm32和傳統(tǒng)的arm相比最大的好處就是不需要對(duì)齊,三種類型的數(shù)據(jù)可以在內(nèi)存中無(wú)縫的存放。而傳統(tǒng)的arm7或arm9等是照著地址對(duì)齊的,就是說(shuō)不管8bit或者16bit的數(shù)據(jù)都要占用4個(gè)字節(jié)的空間,這樣的結(jié)果就是造成內(nèi)存的浪費(fèi)。


寄存器的訪問(wèn)

半字型的寄存器用u16類型的變量訪問(wèn),u8只能訪問(wèn)低8位,u32讀的時(shí)候沒(méi)問(wèn)題,寫(xiě)的時(shí)候會(huì)因編譯器的不同而出現(xiàn)偏差。12

2)在MSP430上,由于它是16bit處理器,所以它的字是16bit的。半字=字節(jié)=8bit。

…….

sizeof()

看兩個(gè)例子:
(1) int應(yīng)該是2還是4?

VC++默認(rèn)int是longint,長(zhǎng)度是4
TC默認(rèn)int是shortint,長(zhǎng)度是2123

int類型所占的字節(jié)數(shù)依賴于機(jī)器的字長(zhǎng), 有16位, 32位, 64位.我們現(xiàn)在買(mǎi)電腦時(shí)所說(shuō)的32位機(jī), 64位機(jī)就是指這個(gè), 在16位機(jī)上int長(zhǎng)度是2, 在32位機(jī)上長(zhǎng)度是4, 所以在編碼的時(shí)候需要寫(xiě)int長(zhǎng)度時(shí), 我們不能想當(dāng)然的寫(xiě)2或4, 而應(yīng)使用sizeof來(lái)計(jì)算, sizeof(int)這樣就不會(huì)錯(cuò)了, 而且提高了程序的兼容性。

(2) A機(jī)器int占用2個(gè)字節(jié),B機(jī)器占用4字節(jié),申請(qǐng)內(nèi)存存放一個(gè)int數(shù)據(jù)。

如寫(xiě)入:

int*i=(int*)malloc(2);12

那么在A機(jī)器中能正常運(yùn)行,在B上則會(huì)報(bào)錯(cuò)
應(yīng)寫(xiě)成:

int*i=(int*)malloc(sizeof());12

這樣A、B機(jī)器中都能兼容。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉