一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

對(duì)寄存器操作方法的經(jīng)驗(yàn)和其總結(jié)

GReq_mcu168 ? 2017-12-19 09:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

接觸了一陣子的STM32函數(shù)庫,使用起來挺方便的,但是很少有處理器會(huì)有函數(shù)庫,大部分情況下還是要自己來對(duì)寄存器進(jìn)行操作,所以還是不要生疏了對(duì)寄存器的操作。

對(duì)寄存器的操作有時(shí)候要考慮對(duì)其不同的位進(jìn)行先后順序不同的設(shè)置,因?yàn)檫@樣可能達(dá)不到預(yù)期的效果,這個(gè)不太好總結(jié),但是對(duì)寄存器操作的方法是固定的。

在這之前,首先要明白邏輯運(yùn)算符(! && ||)和位運(yùn)算符(<< >> ~ | ^&)的區(qū)別,對(duì)寄存器的操作使用的是位運(yùn)算符,邏輯運(yùn)算符一般用于在程序中判斷邏輯中使用。
對(duì)寄存器操作方法的經(jīng)驗(yàn)和其總結(jié)

例如 定義一個(gè)8位的寄存器(0xf0是寄存器的地址):

#defineREG0xFF

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

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

REG|=(1<

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

REG&=~(1<

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

REG|=(1<

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

REG&=~((1<

該段總結(jié)如下:

將某位置1,移位取反后使用位運(yùn)算"|"

將某位置0,移位取反后,使用位運(yùn)算"&"

2)直接賦值

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

REG=0x5E;

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

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

u8temp;

tmep=REG;

temp&=~0x01;//等價(jià)于 temp &=~(1<<0)??將第0位清零???????

temp|=(1<

temp&=~(1<

temp|=(1<

temp|=(1<

temp|=(1<

REG=temp;


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5433

    瀏覽量

    124401

原文標(biāo)題:對(duì)寄存器操作的通用方法總結(jié)

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    寄存器是什么?怎么操作寄存器點(diǎn)亮LED燈?

    寄存器,是集成電路中非常重要的一種存儲(chǔ)單元,通常由觸發(fā)組成。在集成電路設(shè)計(jì)中,寄存器可分為電路內(nèi)部使用的寄存器和充當(dāng)內(nèi)外部接口的寄存器這兩
    的頭像 發(fā)表于 07-21 16:59 ?4577次閱讀
    <b class='flag-5'>寄存器</b>是什么?怎么<b class='flag-5'>操作</b><b class='flag-5'>寄存器</b>點(diǎn)亮LED燈?

    寄存器操作

    ,即對(duì)各個(gè)位有先后設(shè)置的順序的要求,使硬件產(chǎn)生的結(jié)果也不同;5,有時(shí),對(duì)于一個(gè)寄存器要求必須一次賦值,若對(duì)某些位賦值先后順序不同,便達(dá)不到預(yù)期的效果和功能。二,寄存器的賦值
    發(fā)表于 10-23 18:23

    C語言的位操作方法

    使用 C語言對(duì)寄存器賦值時(shí),我們常常要求只修改該寄存器的某幾位的值,且其它的寄存器位不變,這個(gè)時(shí)候我們就需要用到 C 語言的位操作方法了。1. 把變量的某位清零此處我們以變量 a代表
    發(fā)表于 11-26 08:00

    GPIO引腳操作方法概述

    目錄一、硬件知識(shí) - LED原理圖1、通過硬件原理圖剖析:怎么點(diǎn)亮的LED?二、GPIO引腳操作方法概述1、如果想要使得GPIO的某個(gè)引腳輸出高低電平,該怎么做?2、GPIO寄存器的2種操作方法
    發(fā)表于 01-20 07:38

    RK3288的GPIO操作方法是什么

    GPIO寄存器操作方法有哪幾種呢?RK3288的GPIO操作方法是什么?
    發(fā)表于 03-09 07:38

    寄存器傳輸級(jí)低功耗設(shè)計(jì)方法

    寄存器傳輸級(jí)的低功耗設(shè)計(jì)對(duì)降低整個(gè)芯片的功耗作用非常顯著,本文討論的三種寄存器傳輸級(jí)低功耗設(shè)計(jì)方法,經(jīng)驗(yàn)證對(duì)動(dòng)態(tài)功耗的降低很有效。
    發(fā)表于 02-16 18:12 ?1597次閱讀
    <b class='flag-5'>寄存器</b>傳輸級(jí)低功耗設(shè)計(jì)<b class='flag-5'>方法</b>

    ARM寄存器學(xué)習(xí)總結(jié)

    ARM寄存器學(xué)習(xí)總結(jié)
    發(fā)表于 01-04 15:10 ?0次下載

    寄存器操作方法_對(duì)寄存器操作的通用方法總結(jié)

    本文主要詳解寄存器操作方法以及對(duì)寄存器操作的通用方法總結(jié),具體的跟隨小編來了解一下。
    的頭像 發(fā)表于 05-22 15:53 ?2.4w次閱讀

    STM32單片機(jī)修改寄存器的位操作方法(全網(wǎng)最全)

    使用 C語言對(duì)寄存器賦值時(shí),我們常常要求只修改該寄存器的某幾位的值,且其它的寄存器位不變,這個(gè)時(shí)候我們就需要用到 C 語言的位操作方法了。1. 把變量的某位清零此處我們以變量 a代表
    發(fā)表于 11-19 09:06 ?33次下載
    STM32單片機(jī)修改<b class='flag-5'>寄存器</b>的位<b class='flag-5'>操作方法</b>(全網(wǎng)最全)

    C語言:寄存器操作

    C語言:寄存器操作
    發(fā)表于 01-13 12:56 ?6次下載
    C語言:<b class='flag-5'>寄存器</b><b class='flag-5'>操作</b>

    STM32的寄存器操作

    操作。但是如果沒有找到能滿足你需求的庫函數(shù),或者你需要操作寄存器比較少那么使用直接操作寄存器方法
    發(fā)表于 01-13 15:43 ?19次下載
    STM32的<b class='flag-5'>寄存器</b><b class='flag-5'>操作</b>

    C語言操作寄存器的常見手法

    使用C語言對(duì)寄存器賦值時(shí),常常需要用到C語言的位操作方法。把寄存器某位清零 假設(shè)a代表寄存器,且其中本來已有值。如果要把其中某一位清零且其它位不變,代碼如下。
    的頭像 發(fā)表于 03-12 09:06 ?3741次閱讀

    RAL寄存器模型操作圖鑒

    寄存器模型操作,指的是通過寄存器模型對(duì)RTL中寄存器進(jìn)行讀寫訪問,或者同步寄存器模型與RTL中寄存器
    的頭像 發(fā)表于 05-17 09:01 ?1375次閱讀
    RAL<b class='flag-5'>寄存器</b>模型<b class='flag-5'>操作</b>圖鑒

    RAL寄存器模型操作指南

    寄存器模型操作,指的是通過寄存器模型對(duì)RTL中寄存器進(jìn)行讀寫訪問,或者同步寄存器模型與RTL中寄存器
    的頭像 發(fā)表于 07-12 09:37 ?1389次閱讀
    RAL<b class='flag-5'>寄存器</b>模型<b class='flag-5'>操作</b>指南

    個(gè)人對(duì)STM32 SysTick的總結(jié)(寄存器操作)

    一、概述:SysTick是一個(gè)簡單的遞減24位計(jì)數(shù)。如果你不需要再應(yīng)用程序中嵌入操作系統(tǒng),SysTick可以作為簡單的延時(shí)和產(chǎn)生周期性的中斷。狀態(tài)控制寄存器的第0位可以使能計(jì)數(shù),當(dāng)
    的頭像 發(fā)表于 01-06 08:00 ?2898次閱讀
    個(gè)人對(duì)STM32 SysTick的<b class='flag-5'>總結(jié)</b>(<b class='flag-5'>寄存器</b><b class='flag-5'>操作</b>)