娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年05月29日(星期四)

2019年05月29日 | 直接通過寄存器地址操作控制LED燈(定義常量標(biāo)示對(duì)應(yīng)寄存器)

發(fā)布者:量子心跳 來源: eefocus關(guān)鍵字:寄存器地址  操作控制  LED燈  常量 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

直接通過地址常量對(duì)應(yīng)給寄存器賦值的方式是最簡捷的方式,但程序的可讀性極差(不容易地址常量值得知是對(duì)應(yīng)哪個(gè)寄存器),程序的可移植性差,為了提高程序的可讀性和可移植性,通常預(yù)定義符號(hào)常量和符號(hào)變量。


void SystemInit()


{


}


void delay(int t)


{


     int i;


     for( ;t>0; t--)


         for(i=0;i<1000;i++);


}


int main()


{


    


     *((unsigned int *)0x40021018) |= 0x1<<4;       //開啟GPIOC時(shí)鐘


     *((unsigned int *)0x40011000) &= ~(0x0F<<(4*0));   //對(duì)GPIOC_0設(shè)置為通用推挽輸出,最大速度50MHz


     *((unsigned int *)0x40011000) |= (0x03<<(4*0));


     while(1)


     {


         *((unsigned int *)0x40011010) |= 0x01<<(16+0); //對(duì)GPIOC_0復(fù)位


         delay(1000);


         *((unsigned int *)0x40011010) |= 0x01<<(0+0);  //對(duì)GPIOC_0置位


         delay(1000);


     }


}


對(duì)上述main.c程序進(jìn)行如下改進(jìn):


1、在user文件夾下新建一個(gè)stm32f10x.h文件,其內(nèi)容為:


#define PERIPH_BASE                ((unsigned int)0x40000000)


#define APB2PERIPH_BASE       (PERIPH_BASE + 0x00010000)


#define GPIOC_BASE                            (APB2PERIPH_BASE + 0x1000)


#define GPIOC_CRL                               *(unsigned int *)(GPIOC_BASE +0x00)


#define GPIOC_CRH                              *(unsigned int *)(GPIOC_BASE +0x04)


#define GPIOC_IDR                               *(unsigned int *)(GPIOC_BASE +0x08)


#define GPIOC_ODR                              *(unsigned int *)(GPIOC_BASE +0x0C)


#define GPIOC_BSRR                            *(unsigned int *)(GPIOC_BASE +0x10)


#define GPIOC_BRR                              *(unsigned int *)(GPIOC_BASE +0x14)


#define GPIOC_LCKR                            *(unsigned int *)(GPIOC_BASE +0x08)


#define AHBPERIPH_BASE         (PERIPH_BASE + 0x00020000)


#define RCC_BASE                                (AHBPERIPH_BASE + 0x1000)


#define RCC_APB2ENR                         *(unsigned int *)(RCC_BASE + 0x18)


定義這些標(biāo)示符后,可以通過對(duì)GPIOC_CRL等表示符直接賦值給相應(yīng)寄存器。


2、在main.c中包含上述頭文件,并使用對(duì)應(yīng)表示符操作寄存器


#include "stm32f10x.h"


void SystemInit()


{


}


void delay(int t)


{


     int i;


     for( ;t>0; t--)


         for(i=0;i<1000;i++);


}


int main()


{


    


     RCC_APB2ENR |= 0x1<<4;      //開啟GPIOC時(shí)鐘


     GPIOC_CRL &= ~(0x0F<<(4*0));     //對(duì)GPIOC_0設(shè)置為通用推挽輸出,最大速度50MHz


     GPIOC_CRL |= (0x03<<(4*0));


     while(1)


     {


         GPIOC_BSRR |= 0x01<<(16+0); //對(duì)GPIOC_0復(fù)位


         delay(1000);


         GPIOC_BSRR |= 0x01<<(0+0);  //對(duì)GPIOC_0置位


         delay(1000);


     }


}


這種方式下,通過標(biāo)示符可以知道對(duì)應(yīng)哪個(gè)寄存器,方便編程和程序閱讀。



關(guān)鍵字:寄存器地址  操作控制  LED燈  常量 引用地址:直接通過寄存器地址操作控制LED燈(定義常量標(biāo)示對(duì)應(yīng)寄存器)

上一篇:使用STM32固件庫操作控制LED燈(CMSIS)(STM32_03)
下一篇:直接通過寄存器地址操作控制LED燈(STM32_01)

推薦閱讀

開關(guān)穩(wěn)壓器的占空比經(jīng)常被認(rèn)為只與輸入和輸出電壓成比例。但是,當(dāng)我們仔細(xì)查看計(jì)算結(jié)果時(shí),我們會(huì)發(fā)現(xiàn),這個(gè)值也反映出了電路損耗。選擇會(huì)帶來更多損耗的組件,比如說具有較高DCR的電感器,會(huì)導(dǎo)致占空比增加(對(duì)于一個(gè)降壓轉(zhuǎn)換器是如此),有可能導(dǎo)致其它組件的額外效率損失。當(dāng)使用TI的WEBENCH? 電源設(shè)計(jì)工具來創(chuàng)建一個(gè)電源時(shí),此模型的計(jì)算結(jié)果并不依...
一、SysTickSys-系統(tǒng),Tick-滴答聲,系統(tǒng)滴答滴答很形象地表示了它是一個(gè)系統(tǒng)節(jié)拍器。SysTick 是一個(gè)集成在Cortex內(nèi)核里的24位的倒計(jì)數(shù)定時(shí)器,當(dāng)計(jì)到0時(shí),將從RELOAD 寄存器中自動(dòng)重裝載定時(shí)初值。只要不把它在SysTick 控制及狀態(tài)寄存器中的使能位清除,就永不停息。SysTick的作用。SysTick主要有以下幾個(gè)作用:1、產(chǎn)生操作系統(tǒng)的時(shí)鐘節(jié)拍;當(dāng)RTOS以并...
Cirrus Logic(納斯達(dá)克股票代碼:CRUS)近日宣布推出先進(jìn)的觸覺和傳感集成電路產(chǎn)品系列,旨在利用其在低功耗、低延遲混合信號(hào)處理方面的技術(shù)優(yōu)勢(shì),全面提升消費(fèi)類設(shè)備的用戶體驗(yàn)。Cirrus Logic的觸覺產(chǎn)品和先進(jìn)的觸覺反饋技術(shù)可減少設(shè)備的機(jī)械控制,設(shè)計(jì)更時(shí)尚、產(chǎn)品更耐用,從而帶來全新的響應(yīng)式和沉浸式用戶體驗(yàn)。 作為智能手機(jī)觸覺技術(shù)的領(lǐng)導(dǎo)者,Cir...

史海拾趣

問答坊 | AI 解惑

調(diào)試好的can(匯編及C語言)程序,sja1000+tja1040

調(diào)試好的can(匯編及C語言)程序,與大家分享! //************************************程序功能***************************************************//節(jié)點(diǎn)1向CAN節(jié)點(diǎn)2發(fā)送數(shù)據(jù),數(shù)據(jù)的頭兩個(gè)字節(jié)分別是:節(jié)點(diǎn)1的ID和要求節(jié)點(diǎn)2回復(fù)的數(shù)據(jù)長度//節(jié) ...…

查看全部問答∨

關(guān)于單片機(jī)做信號(hào)處理的問題!

看了版主的博客,自己也很想用單片機(jī)做點(diǎn)事情。馬上快畢業(yè)了,發(fā)現(xiàn)自己沒有真正學(xué)到什么本領(lǐng)。最近找了個(gè)項(xiàng)目練手。用單片機(jī)做一個(gè)光源追蹤的裝置。大體是:弄2個(gè)光敏電阻,中間放一個(gè)擋板,光照偏向任何一個(gè)光敏電阻都會(huì)引起電機(jī)轉(zhuǎn)動(dòng)調(diào)整光敏電阻 ...…

查看全部問答∨

請(qǐng)高手幫忙將這段c語言程序改寫成匯編語言程序

#include <AT89X52.H> unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code digittab[10][8]={{0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00},        //0      &nbs ...…

查看全部問答∨

wince 下用evc來寫串口通信。

哪位大蝦能發(fā)給我個(gè)串口通信的實(shí)例呀??最好用EVC寫的。。感激涕零。\\ 我的郵箱6094189ye@163.com 我看到書上有CSerial 這個(gè)類,但STANDARDSDK下面沒有這個(gè)類呀。。。???…

查看全部問答∨

DOS7.1下如何通過使用USB轉(zhuǎn)串口

我的是DELL1501本本,要實(shí)現(xiàn)純DOS下使用串口(RS232)通信,在市場(chǎng)上買了個(gè)prolific USB轉(zhuǎn)串口,不知是否可行?之前試過在DOS下可以使用USB鼠標(biāo),和讀取USB軟驅(qū)(B:)里的資料!…

查看全部問答∨

真正的工作中,其實(shí)專業(yè)并沒那么重要

也是偶然看到一個(gè)節(jié)目,當(dāng)初算是有炒作的因素在里面,是北大才子賣豬肉。好像是廣州那邊的,某人在九幾年的時(shí)候從政府辭職下海,前后做過房地產(chǎn)、醋飲料等。讓我感興趣的是,當(dāng)其瞅準(zhǔn)豬肉市場(chǎng)時(shí),帶著自己手下千來口子,一齊轉(zhuǎn)型。于是那些人一齊跨 ...…

查看全部問答∨

新手請(qǐng)教ISP的問題

    我的電腦是筆記本,現(xiàn)在要ISP燒程序,用了一個(gè)BUS轉(zhuǎn)RS232的轉(zhuǎn)接卡,主控芯片是PL-2303,晶振12M,BUS轉(zhuǎn)RS232后 我設(shè)置為端口2;  現(xiàn)在我用的單片機(jī)STM32F103C8T6,在使用STMicroelectronics Flas ...…

查看全部問答∨

針對(duì) Xilinx Spartan™-6 LX150 的電源參考設(shè)計(jì)

此參考設(shè)計(jì)旨在給Spartan 6 LX150及帶有TI Swift Integrated FETS的DC/DC轉(zhuǎn)換器供電…

查看全部問答∨

虛擬存儲(chǔ)器的總結(jié)

最近做了看了看虛擬存儲(chǔ)器的相關(guān)知識(shí),覺得有必要總結(jié)一下,分享一下自己的理解吧。http://blog.chinaunix.net/space.php?uid=20937170&do=blog&id=2983528…

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 建宁县| 潢川县| 乌兰察布市| 岚皋县| 贵港市| 锦屏县| 仁布县| 民勤县| 厦门市| 读书| 阿克| 伊宁市| 吴堡县| 翁源县| 泸溪县| 渝中区| 曲水县| 来宾市| 鄂州市| 临泉县| 内丘县| 冕宁县| 永顺县| 长子县| 吐鲁番市| 聂荣县| 莲花县| 乌海市| 酒泉市| 乐业县| 昔阳县| 曲麻莱县| 九龙坡区| 阿鲁科尔沁旗| 铜山县| 阿克陶县| 长沙市| 盘锦市| 昌宁县| 蒙城县| 石河子市|