内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

嵌入式C語言基礎(chǔ)-創(chuàng)新互聯(lián)

1.位操作

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的堆龍德慶網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

(1)位設(shè)值

?清零:GPIOA->BSRRL &=0XFF0F; //將第 4-7 位清 0

?設(shè)值:GPIOA->BSRRL |=0X0040;//設(shè)置相應(yīng)位的值,不改變其他位的值

(2)移位提高代碼的可讀性

將 ODR 寄存器的第 pinpos 位設(shè)置為 1

?GPIOx->ODR = (((uint32_t)0x01)<< pinpos);

(3)~取反操作使用技巧

設(shè)置某一位的值為 0,同時 其他位都保留為 1。

??TIMx->SR = (uint16_t)~TIM_FLAG;

2.define 宏定義

define 是 C 語言中的預(yù)處理命令,它用于宏定義,可以提高源代碼的可讀性,為編程提供 方便。常見的格式:

#define 標(biāo)識符 字符串

定義標(biāo)識符 PLL_M 的值為 8。

#define PLL_M 8

3.ifdef 條件編譯

單片機(jī)程序開發(fā)過程中,經(jīng)常會遇到一種情況,當(dāng)滿足某條件時對一組語句進(jìn)行編譯,而 當(dāng)條件不滿足時則編譯另一組語句。條件編譯命令最常見的形式為:

#ifdef?????????標(biāo)識符

程序段 1

#else

程序段 2

#endif

它的作用是:當(dāng)標(biāo)識符已經(jīng)被定義過(一般是用#define 命令定義),則對程序段 1 進(jìn)行編譯, 否則編譯程序段 2。 其中#else 部分也可以沒有,即:

4.extern 變量申明

C 語言中 extern 可以置于變量或者函數(shù)前,以表示變量或者函數(shù)的定義在別的文件中,提示編 譯器遇到此變量和函數(shù)時在其他模塊中尋找其定義。

extern? u16? USART_RX_STA;

這個語句是申明 USART_RX_STA 變量在其他文件中已經(jīng)定義了,在這里要使用到。所以,你肯定 可以找到在某個地方有變量定義的語句:

u16? USART_RX_STA;

我們希望在main.c的 changeId(void)函數(shù)中使用變量id,這個時候我們就需要在main.c 里面去申明變量 id 是外部定義的了,因為如果不申明,變量 id 的作用域是到不了 main.c 文件 中。

5.typedef 類型別名

typedef 用于為現(xiàn)有類型創(chuàng)建一個新的名字,或稱為類型別名,用來簡化變量的定義。 typedef 在 MDK 用得最多的就是定義結(jié)構(gòu)體的類型別名和枚舉類型了。

typedef struct?

{

__IO uint32_t MODER;

__IO uint32_t OTYPER;

? ......

}GPIO_TypeDef;

Typedef 為結(jié)構(gòu)體定義一個別名 GPIO_TypeDef,這樣我們可以通過 GPIO_TypeDef 來定義結(jié)構(gòu)體 變量:

GPIO_TypeDef _GPIOA,_GPIOB;

6. 結(jié)構(gòu)體

(1)結(jié)構(gòu)體定義

??結(jié)構(gòu)體就是將多個變量組合為一個有機(jī)的整體。

typedef? struct

{

uint32_t USART_BaudRate;

uint16_t USART_WordLength;

? 。。。

}USART_InitTypeDef;

(2)結(jié)構(gòu)體使用

我們在初始化串口的時候入口參數(shù)就可以是 USART_InitTypeDef 類型的變量或者指針變 量了,MDK 中是這樣做的:

?void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct);

使用結(jié)構(gòu)體組合參數(shù),可以提高代碼的可讀性,不會覺得變量定義混亂。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

當(dāng)前名稱:嵌入式C語言基礎(chǔ)-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://www.rwnh.cn/article36/csgpsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)品牌網(wǎng)站制作、網(wǎng)站策劃Google、App開發(fā)網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
桂林市| 新源县| 特克斯县| 鄂伦春自治旗| 原平市| 万年县| 禹州市| 土默特右旗| 陆丰市| 高清| 出国| 邳州市| 资溪县| 广州市| 新郑市| 邯郸县| 衡东县| 漾濞| 虹口区| 和静县| 石首市| 长葛市| 玛纳斯县| 弥渡县| 岳池县| 平邑县| 平潭县| 麻栗坡县| 水富县| 汪清县| 龙陵县| 台东市| 玉屏| 罗江县| 宁明县| 额敏县| 昌吉市| 嵩明县| 囊谦县| 渭源县| 通州区|