成熟丰满熟妇高潮XXXXX,人妻无码AV中文系列久久兔费 ,国产精品一国产精品,国精品午夜福利视频不卡麻豆

您好,歡迎來到九壹網(wǎng)。
搜索
您的當(dāng)前位置:首頁c語言中寄存器設(shè)置方法,C 編程之——寄存器賦值操作

c語言中寄存器設(shè)置方法,C 編程之——寄存器賦值操作

來源:九壹網(wǎng)

通過這段時(shí)間的工作和學(xué)習(xí),我感覺在嵌入式硬件編程中,大多數(shù)情況下都是對(duì)相應(yīng)硬件的功能寄存器進(jìn)行設(shè)置和操作。

一, 寄存器的設(shè)置和操作特性

1,一個(gè)寄存器的每個(gè)位有其不同的意義,進(jìn)行不同的設(shè)置會(huì)使硬件產(chǎn)生不同的效果和功能;

2,有些情況下需要對(duì)一個(gè)寄存器進(jìn)行連續(xù)的不同的甚至完全相反的設(shè)置;

3,有些情況下需要對(duì)一個(gè)寄存器中的某一位或一位進(jìn)行連續(xù)的不同的甚至完全相反的設(shè)置,而其余的位要保持不變;

4,有時(shí),對(duì)一個(gè)寄存器進(jìn)行設(shè)置時(shí),對(duì)其不同的位進(jìn)行先后順序不同的設(shè)置,即對(duì)其各個(gè)位有先后設(shè)置的順序的要求,使硬件產(chǎn)生的結(jié)果也不同;

5,有時(shí),對(duì)于一個(gè)寄存器要求必須一次賦值,若對(duì)其某些位賦值先后順序不同,便達(dá)不到預(yù)期的效果和功能。

二,寄存器的賦值操作方法

為說明方便,定義如下3個(gè)8位的寄存器:

#define?? REG???? 0xFFFFFF10

1,對(duì)單個(gè)的位進(jìn)行賦值

(1)??? 將寄存器REG的第5位置“1”

REG |= (1 << 5);

(2)??? 將寄存器REG的第5位清零

REG &= ~(1 << 5);

(3)??? 將寄存器REG的第3、5位置“1”

REG |= (1 << 5) | (1 << 3);

(4)??? 將寄存器REG的第3、5位清零

REG &= ~( (1 << 5) | (1 << 3) );

2,直接賦值

(1)將寄存器REG的0、1、2、3、5、7位置“1”

REG = 0x5F;

(即給寄存器REG1賦值為1010 1111,這種方法多在初始化中使用)

(2)分別將寄存器REG的1、3、5、7位置“1”,0、2位置“0”

uint32 temp;

tmep = REG;

temp &= ~0x01;

temp |= (1 << 1);

temp &= ~(1 << 2);

temp |= (1 << 3);

temp |= (1 << 5);

temp |= (1 << 7);

REG = temp;

因篇幅問題不能全部顯示,請(qǐng)點(diǎn)此查看更多更全內(nèi)容

Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號(hào)-2

違法及侵權(quán)請(qǐng)聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)