www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]這塊三合一的開發(fā)板上有且只有一個(gè)按鍵,沒辦法,就拿這唯一的按鍵來用吧。吸取前面UART3的教訓(xùn),先看開發(fā)板的原理圖吧。這個(gè)按鍵被接到了STM8S207SB的PD7上,已做了上拉處理。為了簡單明了,還是點(diǎn)LED1吧。按一下LE

這塊三合一的開發(fā)板上有且只有一個(gè)按鍵,沒辦法,就拿這唯一的按鍵來用吧。吸取前面UART3的教訓(xùn),先看開發(fā)板的原理圖吧。這個(gè)按鍵被接到了STM8S207SB的PD7上,已做了上拉處理。為了簡單明了,還是點(diǎn)LED1吧。按一下LED1亮,再按一下LED1滅。好了,寫程序吧。

#i nclude

#define LED1_FLASH PD_ODR_ODR3 = !PD_ODR_ODR3 // 開發(fā)板上的LED1接在PD3上

void GPIO_init(void)
{
PD_DDR = 0x08; // 配置PD端口的方向寄存器PD3輸出
PD_CR1 = 0x08; // 設(shè)置PD3為推挽輸出
PD_CR2 = 0x80; // 使能PD7外部中斷
}

void EXTI_init(void)
{
EXTI_CR1 = 0x80; // PD口下降沿觸發(fā)中斷
}

#pragma vector=0x02 // 這里很關(guān)鍵!看下面說明。
__interrupt void EXTI_PD7_TLI(void)
{
LED1_FLASH;
}
void init_devices(void)
{
asm("sim"); // 關(guān)全局中斷
GPIO_init();
EXTI_init();
asm("rim"); // 開全局中斷
}

void main( void )
{
init_devices();

// 主循環(huán)里沒有程序需要執(zhí)行
while(1);
}

  這里著重要說明的一點(diǎn)是PD7的外部中斷程序??戳艘幌滦酒謨?cè),PD口外部中斷EXTI3的中斷向量號(hào)是6,想當(dāng)然,又是想當(dāng)然,按IAR的規(guī)矩中斷向量要加2,就這樣寫#pragma vector=0x08,結(jié)果就是按下按鍵,程序沒響應(yīng)了,一直在中斷里不出來。接下來只能另想辦法,仔細(xì)翻了資料后發(fā)現(xiàn),PD7和PD其他端口不一樣,PD7后面拖了個(gè)小尾巴TLI,再看手冊(cè)上的TLI描述,乖乖,TLI擁有芯片最高級(jí)別中斷,享有獨(dú)立專用的中斷向量號(hào)0,這下就好辦了,按IAR的規(guī)矩,向量號(hào)加2,程序改成#pragma vector=0x02,重新來一遍編譯、下載、運(yùn)行,按鍵終于聽話了。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

MCS-51單片機(jī)有兩個(gè)外部中斷源INT0和INT1,它們分別在P3.2和P3.3引腳出現(xiàn)低電平或下降沿信號(hào)時(shí)向單片機(jī)發(fā)出中斷請(qǐng)求。外部中斷可用于檢測單片機(jī)外部發(fā)生的事件,如鍵盤敲擊和特定脈沖發(fā)生的次數(shù)等。

關(guān)鍵字: 51單片機(jī) 外部中斷

外部中斷是單片機(jī)實(shí)時(shí)地處理外部事件的一種機(jī)制。具體指的是,當(dāng)某種外部事件發(fā)生時(shí),單片機(jī)的中斷系統(tǒng)迫使CPU暫停正在執(zhí)行的程序,轉(zhuǎn)而去進(jìn)行中斷事件的處理;中斷處理完畢后,又返回被中斷的程序處,繼續(xù)執(zhí)行下去。這里我們以Nuc...

關(guān)鍵字: MCU 外部中斷 ST

STM32CubeMX是官方推薦的配置軟件,而HAL庫也是取代之前的庫函數(shù)的通用庫,所以STM32CubeMX+HAL庫是當(dāng)前主流的工程創(chuàng)建方式,HAL庫的可移植性也高于被取代的庫函數(shù)。 之前在[程序員小哈]的公眾號(hào)中寫...

關(guān)鍵字: LED 外部中斷

ST公司的STM8AF5286是用于汽車的8位MCU,配置了多達(dá)128KB閃存,數(shù)據(jù)EEPROM,10位ADC,計(jì)時(shí)器,LIN,CAN,USART,SPI,I2C等接口,工作電壓3-5.5V,

關(guān)鍵字: st stm8

你知道STM8 Nucleo開發(fā)板嗎?意法半導(dǎo)體新推出的兩款STM8* Nucleo開發(fā)板,讓8位開發(fā)社區(qū)也能體驗(yàn)到STM32 * Nucleo系列開發(fā)板久經(jīng)驗(yàn)證的易用性和可擴(kuò)展功能。

關(guān)鍵字: Nucleo stm8 意法

1.ARM中一些常見英文縮寫解釋 MSB:最高有效位; LSB:最低有效位; AHB:先進(jìn)的高性能總線; VPB:連接片內(nèi)外設(shè)功能的VLSI外設(shè)總線; EMC:外部存儲(chǔ)器控制器; MAM:存儲(chǔ)器加速模塊; VIC:向量中...

關(guān)鍵字: ARM THUMB I2C 外部中斷

簡單地說,單片機(jī)就是一個(gè)小計(jì)算機(jī)系統(tǒng)。為了說明清楚這個(gè)問題,得要從計(jì)算機(jī)說起。提到計(jì)算機(jī),大家可能馬上會(huì)想到“顯示器、鼠標(biāo)、鍵盤”,不過,這不是一個(gè)計(jì)算機(jī)的核心和關(guān)鍵,計(jì)算機(jī)的核心部分在一邊的機(jī)箱里呢。打開機(jī)箱,可以看到...

關(guān)鍵字: iar keil 單片機(jī)編程軟件

單片機(jī)編程軟件是單片機(jī)開發(fā)不可缺少的工具,缺少單片機(jī)編程軟件便如同回到原始社會(huì)。單片機(jī)編程軟件目前使用較多的為keil單片機(jī)編程軟件和IAR單片機(jī)編程軟件。本文中,主要為大家講解keil4與keil5的區(qū)別以及keil5...

關(guān)鍵字: iar keil 單片機(jī)編程軟甲

對(duì)于單片機(jī)編程軟件,小編個(gè)人較為推崇IAR。本文將基于3大方面介紹IAR單片機(jī)編程軟件:一、IAR單片機(jī)編程軟件開發(fā)環(huán)境界面設(shè)置,二、IAR單片機(jī)編程軟件快捷鍵,三、IAR單片機(jī)編程軟件使用小技巧。通過IAR單片機(jī)編程軟...

關(guān)鍵字: iar 單片機(jī)編程軟件 快捷鍵

目前,流通度較大的單片機(jī)編程軟件為KEIL、IAR。其中,IAR單片機(jī)編程軟件深受用戶喜愛。初接觸IAR單片機(jī)編程軟件時(shí),很多用戶對(duì)其設(shè)置充滿疑惑。故本文將對(duì)IAR單片機(jī)編程軟件設(shè)置加以介紹,幫助大家掌握這款單片機(jī)編程軟...

關(guān)鍵字: iar 單片機(jī)編程軟件 設(shè)置
關(guān)閉