日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 軟件

C語(yǔ)言操作寄存器和函數(shù)指針

來(lái)源: 責(zé)編: 時(shí)間:2023-09-18 21:41:56 442觀看
導(dǎo)讀typedef函數(shù)指針類(lèi)型#include <stdio.h>//函數(shù)指針類(lèi)型別名/* * int 函數(shù)返回值 * (int,int)函數(shù)參數(shù),兩個(gè)參數(shù)int,int * *PTP_TO_FUNC函數(shù)指針,指向函數(shù)的指針*/typedef int (*PTR_TO_FUNC)(int, int);/* 為數(shù)組定義別

tvR28資訊網(wǎng)——每日最新資訊28at.com

typedef函數(shù)指針類(lèi)型

#include <stdio.h>//函數(shù)指針類(lèi)型別名/*	* int 函數(shù)返回值	* (int,int)函數(shù)參數(shù),兩個(gè)參數(shù)int,int	* *PTP_TO_FUNC函數(shù)指針,指向函數(shù)的指針*/typedef int (*PTR_TO_FUNC)(int, int);/*	為數(shù)組定義別名與函數(shù)指針類(lèi)型別名類(lèi)似	[4]數(shù)組各屬	PTR_TO_ARR指向數(shù)組的名,其數(shù)組個(gè)數(shù)與參數(shù)個(gè)數(shù)相同	在使用是當(dāng)成一種類(lèi)型,在為其賦值時(shí)需要重新為其添加值*/typedef char(*PTR_TO_ARR)[10]; //實(shí)現(xiàn)函數(shù)體int max(int x, int y){	return x > y ? x : y;}int main(void){	//定義數(shù)組,等待指向	char str[3][10] = {		"嘿嘿",		"信息科技",		"有限公司"	};	// PTR_TO_ARR結(jié)構(gòu)體指針,仍需要定義別名	PTR_TO_ARR arr = str[1];	// 指向函數(shù)	PTR_TO_FUNC func = max;	printf("max(6,3): %d/n", (*func)(6, 3));	printf("str[1]: %s/n", (*arr)); //輸出信息科技	return0;}

寄存器

有限存貯容量的高速存貯部件 。寄存器的功能是存儲(chǔ)二進(jìn)制代碼,它是由具有存儲(chǔ)功能的觸發(fā)器組合起來(lái)構(gòu)成的。一個(gè)觸發(fā)器可以存儲(chǔ)1位二進(jìn)制代碼,故存放n位二進(jìn)制代碼的寄存器,需要n個(gè)觸發(fā)器來(lái)構(gòu)成。tvR28資訊網(wǎng)——每日最新資訊28at.com

tvR28資訊網(wǎng)——每日最新資訊28at.com

寄存器分類(lèi)

基本寄存器 :只能并行送入數(shù)據(jù),也只能并行輸出。tvR28資訊網(wǎng)——每日最新資訊28at.com

移位寄存器中的數(shù)據(jù)可以在移位脈沖作用下依次逐位右移或左移,數(shù)據(jù)既可以并行輸入,并行輸出,也可以串行輸入,串行輸出,還可以并行輸入,串行輸出或串行輸入,并行輸出,靈活,用途廣泛。tvR28資訊網(wǎng)——每日最新資訊28at.com

使用

在嵌入式編程中,常常需要對(duì)一些寄存器進(jìn)行配置,有的情況下需要改變一1個(gè)字節(jié)中的某一位或者幾位,但是又不想改變其它位原有的值,就可以使用按位運(yùn)算符進(jìn)行操作。tvR28資訊網(wǎng)——每日最新資訊28at.com

tvR28資訊網(wǎng)——每日最新資訊28at.com

假如我們只需要設(shè)置第0位bit0的值為1時(shí), 要保持其它位  不發(fā)生變化。tvR28資訊網(wǎng)——每日最新資訊28at.com

TEST = 0x01

此方式如果高7位沒(méi)有使用,就不會(huì)有影響,但是如果高7位正在被使用,那么就會(huì)發(fā)生錯(cuò)誤。tvR28資訊網(wǎng)——每日最新資訊28at.com

  • 與運(yùn)算 :對(duì)于二進(jìn)制位操作,不管原值是0還是1,它跟0進(jìn)行&與運(yùn)算,得到的結(jié)果都是 0,而和1進(jìn)行&運(yùn)算,將保持原來(lái)的值不變
  • 或運(yùn)算 :不管該位原來(lái)的值是0還是1,它跟1進(jìn)行 |運(yùn)算,得到的結(jié)果都是1,而跟0運(yùn)算,將保持原來(lái)的值不變。`

可以使用或運(yùn)算:tvR28資訊網(wǎng)——每日最新資訊28at.com

TEST = TEST | 0x01;// 在實(shí)際中常用TEST |= 0x01;

給Test的低4位清 0 ,高四位保持不變:tvR28資訊網(wǎng)——每日最新資訊28at.com

TEST &= 0xF0;   //使用十六進(jìn)制

此方法在單片機(jī)中經(jīng)常使用,先對(duì)需要設(shè)置的位用 &操作符進(jìn)行清零操作,然后用 | 操作符設(shè)置值,改變GPIOA的狀態(tài),先對(duì)寄存器的值進(jìn)行清零操作,然后根據(jù)需要設(shè)置的值進(jìn)行 | 或運(yùn)算:tvR28資訊網(wǎng)——每日最新資訊28at.com

GPIOA->CRL &= 0XFFFFFF0F; // 將第4~7位清零GPIOA->CRL &= 0X00000040; //設(shè)置相應(yīng)的值,不改變其他位的值

移位提高可讀性

GPIOx->BSRR = (((uint32_t)0x01) << pinpox); //將0x01 左移pinpox位,

通過(guò)左移而不是直接設(shè)置一個(gè)固定的值 :為了提高代碼的可讀性,直接就知道修改了第幾位:tvR28資訊網(wǎng)——每日最新資訊28at.com

tvR28資訊網(wǎng)——每日最新資訊28at.com

GPIOA->ODR |= 1<<5; //PA.5輸出高,其它位不變

設(shè)置某位為0

簡(jiǎn)單操作:tvR28資訊網(wǎng)——每日最新資訊28at.com

TIMx->SR = 0xFFF7; //此方法仍然影響可讀性,

庫(kù)函數(shù):tvR28資訊網(wǎng)——每日最新資訊28at.com

TIMx -> SR = (uint16_t)~TIM_FLAG;

TIM_FLAG定義

設(shè)置SR的第三位為 0 時(shí)即可設(shè)置為tvR28資訊網(wǎng)——每日最新資訊28at.com

tvR28資訊網(wǎng)——每日最新資訊28at.com

TIMx->SR = (uint16_t)~TIM_FLAG_CC3;
#define TIM_FLAG_Update  ((uint16_t)0x0001)#define TIM_FLAG_CC1     ((uint16_t)0x0002)#define TIM_FLAG_CC2     ((uint16_t)0x0004)#define TIM_FLAG_CC3     ((uint16_t)0x0008)#define TIM_FLAG_CC4     ((int16_t)0x0010)#define TIM_FLAG_COM     ((uint16_t)0x0020)#define TIM_FLAG_Trigger ((uint16_t)0x0040)#define TIM_FLAG_Break   ((uint16_t)0x0080)#define TIM_FLAG_CC1OF   ((uint16_t)0x0200)#define TIM_FLAG_CC2OF   ((uint16_t)0x0400)#define TIM_FLAG_CC3OF   ((uint16_t)0x0800)#define TIM_FLAG_CC4OF   ((uint16_t)0x1000)

位域

位域:或稱(chēng)之為位段,英文表達(dá)式 Bit field 是一種數(shù)據(jù)結(jié)構(gòu),可以把數(shù)據(jù)以位元的形式緊湊的存儲(chǔ),并允許程序員對(duì)此結(jié)構(gòu)進(jìn)行位元進(jìn)行操作。tvR28資訊網(wǎng)——每日最新資訊28at.com

優(yōu)勢(shì):tvR28資訊網(wǎng)——每日最新資訊28at.com

  • 可以使數(shù)據(jù)單元節(jié)省存儲(chǔ)空間
  • 位段可以很方便地訪(fǎng)問(wèn)一個(gè)整數(shù)值的部分內(nèi)容從而簡(jiǎn)化程序源代碼。

位域可以分為兩大類(lèi),一個(gè)是結(jié)構(gòu)體位域,一個(gè)是共同體位域,由于共同體和結(jié)構(gòu)體兩者在定義上的形式都是相同的,從位域的定義形式上看,兩者也基本都是相同的。tvR28資訊網(wǎng)——每日最新資訊28at.com

struct 位域結(jié)構(gòu)體{    類(lèi)型說(shuō)明符 位域名 : 長(zhǎng)度;}結(jié)構(gòu)體變量名;// 結(jié)構(gòu)體位域struct example0{    unsignedchar x : 3; //冒號(hào)后面的證書(shū)指定了該位段所占用的位的數(shù)目。    unsignedchar y : 2;    unsignedchar z : 1;}ex0_t;// 共同體位域union example1{    unsignedchar x : 3;    unsignedchar y : 2;    unsignedchar z : 1;}ex1_u;

位域大小原則 :整個(gè)結(jié)構(gòu)體位域的總大小為最寬基本類(lèi)型成員大小的整數(shù)倍。tvR28資訊網(wǎng)——每日最新資訊28at.com

位域基本都使用無(wú)符號(hào)類(lèi)型。tvR28資訊網(wǎng)——每日最新資訊28at.com

tvR28資訊網(wǎng)——每日最新資訊28at.com

位域注意

  • 結(jié)構(gòu)體位域成員不能使用取址操作
  • 結(jié)構(gòu)體成員不能夠使用static修飾
  • 結(jié)構(gòu)體位域成員不能使用數(shù)組。

不同的處理器,不同的編譯器對(duì)位域的影響,位域雖然能夠以位的形式操作數(shù)據(jù),但是也被人們告知要慎重使用,原因在于不同的處理器結(jié)構(gòu),不同的編譯器對(duì)于位域的一些特征會(huì)產(chǎn)生不同的結(jié)果。tvR28資訊網(wǎng)——每日最新資訊28at.com

tvR28資訊網(wǎng)——每日最新資訊28at.com

處理器大端模式,小端模式的處理器也會(huì)對(duì)下面的結(jié)構(gòu)體位域產(chǎn)生不一樣的存儲(chǔ)方式。tvR28資訊網(wǎng)——每日最新資訊28at.com

不同的編譯器,結(jié)構(gòu)體位域成員不同類(lèi)型,不同的編譯器對(duì)于位域會(huì)有不同的結(jié)果tvR28資訊網(wǎng)——每日最新資訊28at.com

當(dāng)成員大小之和超過(guò)一個(gè)基本存儲(chǔ)空間時(shí),不同的編譯器也會(huì)有不同的處理方式。tvR28資訊網(wǎng)——每日最新資訊28at.com

typedefunion{    unsignedchar Byte;    struct    {        unsignedchar bit012 : 3;        unsignedchar bit34  : 2;        unsignedchar bit5   : 1;        unsignedchar bit6   : 1;        unsignedchar bit7   : 1;    }bits;}registerType;

存儲(chǔ)0x0000 8000定義一個(gè)指針指向地址:tvR28資訊網(wǎng)——每日最新資訊28at.com

tvR28資訊網(wǎng)——每日最新資訊28at.com

registerType *pReg = (register*)0x00008000;// 使用位域寄存器進(jìn)行賦值pReg->bits.bit5 = 1;pReg->bits.bit012 = 7;

本文鏈接:http://m.www897cc.com/showinfo-26-10474-0.htmlC語(yǔ)言操作寄存器和函數(shù)指針

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 利用開(kāi)放接口,如何一步步打造自己的獨(dú)特圖片網(wǎng)站

下一篇: 優(yōu)化自動(dòng)化接口測(cè)試:利用鉤子函數(shù)增強(qiáng)HTTP請(qǐng)求處理

標(biāo)簽:
  • 熱門(mén)焦點(diǎn)
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
免费看成人av| 国产精品毛片a∨一区二区三区| 欧美一级播放| 亚洲精选一区二区| 日韩亚洲一区二区| 亚洲中字黄色| 久久久久久免费| 欧美精品电影在线| 欧美大片在线看免费观看| 欧美日韩1234| 国产一级一区二区| 亚洲日本成人网| 国产精品99久久久久久人| 久久成人免费视频| 欧美一区二区播放| 免费的成人av| 国产精品日韩久久久| 亚洲高清一区二| 最新国产成人av网站网址麻豆| 亚洲私人影院| 久久综合999| 国产精品啊啊啊| 在线日本高清免费不卡| 亚洲电影av在线| 中文精品一区二区三区| 亚洲色图自拍| 久久久亚洲高清| 国产精品黄视频| 最新国产成人av网站网址麻豆 | 国产乱码精品一区二区三| 1769国产精品| 最新中文字幕一区二区三区| 亚洲欧美日韩国产综合精品二区| 免费在线视频一区| 国产日韩欧美精品在线| 99精品免费视频| 亚洲一区二区三区免费在线观看| 久久综合激情| 国产日本欧洲亚洲| 99热在这里有精品免费| 美国成人直播| 国产亚洲视频在线观看| 在线一区二区三区四区五区| 奶水喷射视频一区| 国语自产在线不卡| 亚洲欧美卡通另类91av| 欧美日韩国语| 亚洲国产另类久久精品| 99在线精品视频在线观看| 久久久高清一区二区三区| 国产精品成人一区二区三区夜夜夜| 亚洲国产日韩一级| 久久久久综合一区二区三区| 国产精品一区毛片| 亚洲视频在线一区| 欧美日韩视频在线第一区| 亚洲国产高清aⅴ视频| 久久精品亚洲| 国产日产精品一区二区三区四区的观看方式 | 国产九九精品视频| 精品成人免费| 欧美激情综合| 国产欧美精品一区| 久久一二三区| 最近中文字幕mv在线一区二区三区四区 | 国内外成人免费激情在线视频网站 | 老司机成人网| 国产欧美一区在线| 一本色道久久加勒比88综合| 麻豆国产精品一区二区三区| 国产伦精品一区二区三区高清版 | 久久久久久电影| 免费成人你懂的| 国产毛片久久| 亚洲欧美精品在线| 国产精品vvv| 一区二区三欧美| 欧美激情小视频| 亚洲激情二区| 欧美a级片网站| 91久久国产自产拍夜夜嗨| 另类亚洲自拍| 亚洲电影自拍| 久久这里只有精品视频首页| 激情综合色综合久久| 久久精品亚洲一区二区三区浴池| 国产主播精品| 久久久久中文| 在线精品在线| 欧美成人免费在线观看| 欧美日韩一区在线播放| 国产一区美女| 欧美一区二区三区在线观看视频| 国产情人节一区| 欧美一级淫片aaaaaaa视频| 国产日韩欧美精品在线| 久久精品99国产精品| 黑人巨大精品欧美一区二区小视频| 久久久av网站| 亚洲人成网站999久久久综合| 欧美激情视频一区二区三区不卡| 日韩一级裸体免费视频| 国产精品毛片| 欧美在线免费一级片| 欧美午夜久久| 亚洲欧美精品伊人久久| 国产亚洲欧美日韩精品| 久久在线视频在线| 亚洲美女精品久久| 国产精品久久久久久av下载红粉 | 亚洲片在线资源| 欧美日韩伊人| 欧美亚洲一区三区| 伊人精品在线| 欧美与欧洲交xxxx免费观看 | 亚洲精品免费看| 国产精品看片你懂得| 久久国产精品99久久久久久老狼| 伊人久久噜噜噜躁狠狠躁| 欧美成人性网| 亚洲在线视频一区| 韩国在线视频一区| 欧美精品日韩三级| 亚洲欧美久久| 在线精品高清中文字幕| 欧美日韩精品一区二区三区| 性欧美xxxx视频在线观看| 亚洲成人在线| 欧美美女日韩| 亚洲日本在线观看| 国产精品高清免费在线观看| 久久精品国产综合| 亚洲精品一区二区三区在线观看| 国产精品久久久久影院亚瑟| 久久婷婷丁香| 一区二区激情| 精品动漫3d一区二区三区免费版| 欧美日韩黄视频| 亚洲国产日韩欧美在线图片| 国产精品v日韩精品| 久久久噜噜噜久久久| 一区二区黄色| 精品不卡在线| 国产精品久久久久久久久免费桃花 | 欧美日韩四区| 久久深夜福利| 亚洲亚洲精品三区日韩精品在线视频| 黄色精品一区| 国产精品久久久999| 免费成人激情视频| 欧美一区二区精品久久911| 国产欧美日韩综合一区在线观看 | 国产专区欧美精品| 欧美日韩在线亚洲一区蜜芽| 久久看片网站| 亚洲自拍偷拍福利| 亚洲日本久久| 国精产品99永久一区一区| 欧美日在线观看| 蜜桃精品久久久久久久免费影院| 亚洲欧美日韩国产综合精品二区| 亚洲人成网站在线播| 激情久久久久久久久久久久久久久久| 欧美视频一区二区三区在线观看 | 9久re热视频在线精品| …久久精品99久久香蕉国产 | 国产日韩精品在线播放| 欧美日韩在线综合| 麻豆av一区二区三区| 欧美护士18xxxxhd| 免费欧美电影| 欧美四级在线观看| 国产精品私拍pans大尺度在线| 亚洲区国产区| 欧美福利视频一区| 亚洲国产欧美日韩另类综合| 久久在线观看视频| 乱人伦精品视频在线观看| 在线播放不卡| 亚洲一区二区高清视频| 欧美中在线观看| 久久久精品免费视频| 欧美国产免费| 国产精品久久久一区麻豆最新章节| 亚洲国产毛片完整版| 伊人婷婷久久| 国产一区白浆| 国产精品一区二区在线| 欧美视频在线免费| 99精品欧美一区二区三区| 亚洲国产成人精品视频| 黄色成人在线观看| 国产偷久久久精品专区| 国产精品视频999| 国产精品黄页免费高清在线观看| 欧美日韩一区二区在线视频 | 久久久久一区二区| 亚洲精品久久视频| 91久久黄色| 亚洲人在线视频| 伊伊综合在线| 亚洲大胆在线| 亚洲高清视频在线| 亚洲国产精品一区二区三区|