本章介紹STM8L051F3的EXTI相關知識,內容分為以下幾部分:
EXTI簡介
KEY外部中斷檢測
1、EXTI簡介
EXTI也是屬于GPIO的知識點,應用比較廣泛。STM8L051F3每個I/O口在輸入模式下都能配置為中斷,在這個配置下,一個信號沿或電平輸入到I/O口上將產生一個中斷請求。外部中斷只有在端口的輸入模式下才有效。
可通過配置寄存器Px_CR2相應的位來獨立地使能或禁能某個端口的外部中斷功能。另外,可通過ADC_TDRH和ADC_TDRL寄存器來禁用施密特觸發器節省功耗。
2、KEY外部中斷檢測
2.1 KEY的外部中斷配置
本小節介紹將GPIO配置為外部中斷輸入模式,并通過KEY(PC4)來觸發一個外部中斷信號,然后產生中斷,然后控制LED1的狀態。使用的例程:STM8L051F3_02_EXTI。實現步驟:
1)初始化LED1為推挽輸出模式(初始電平高)
2)初始化KEY為上拉輸入&中斷模式,并配置為下降沿觸發
2.2 例程介紹
EXTI的初始化在exti.c文件中實現:
void EXTI_Init(void)
{
// 配置KEY IO口為上拉輸入&中斷模式
GPIO_Init(KEY_GPIO_PORT, KEY_GPIO_PINS, GPIO_Mode_In_PU_IT);
//KEY引腳配置,下降沿觸發;
EXTI_SetPinSensitivity(EXTI_Pin_4, EXTI_Trigger_Falling);
}
EXTI(KEY)的端口定義在exti.h文件下:
#define KEY_GPIO_PORT (GPIOC)
#define KEY_GPIO_PINS (GPIO_Pin_4)
主函數中對LED于EXTI進行初始化后開啟總中斷:
void main(void)
{
LED_Init(); //初始化LED1
EXTI_Init(); //初始化KEY
enableInterrupts(); //開總中斷
while(1)
{
;
}
}
中斷處理函數在stm8l15x_it.c文件下(該文件下還定義了delay_ms()函數):
INTERRUPT_HANDLER(EXTI4_IRQHandler,12)
{
/* In order to detect unexpected events during development,
it is recommended to set a breakpoint on the following instruction.
*/
//延遲消抖
delay_ms(10);
//松手檢測
while(GPIO_ReadInputDataBit(KEY_GPIO_PORT, KEY_GPIO_PINS)== 0);
//切換LED1的狀態
GPIO_ToggleBits(LED1_GPIO_PORT, LED1_GPIO_PINS);
//清除中斷標志位
EXTI_ClearITPendingBit(EXTI_IT_Pin4);
}
上一篇:STM8L051之通過ADC1與DMA讀取內部參考電壓
下一篇:STM8L052C6硬件I2C調試:PCF8563/BM856時鐘芯片
推薦閱讀
史海拾趣
隨著公司產品的不斷成熟和市場的逐漸擴大,DAPAudio開始將目光投向國際市場。通過與國際知名品牌的合作和自身的市場拓展努力,DAPAudio的產品逐漸進入歐美等發達國家和地區的市場。在國際市場上,DAPAudio憑借其卓越的產品性能和優質的服務贏得了廣泛的贊譽和認可。
芯旺微電子自2012年成立以來,始終致力于高可靠性MCU器件的研發設計。公司憑借其自主研發的KungFu內核架構處理器,迅速在汽車級和工業級混合信號MCU領域嶄露頭角。隨著技術的不斷積累和市場的深入拓展,芯旺微電子逐漸從一家初創公司發展成為國內車規級MCU市場的領軍企業。
盡管Eclipse是一個開源項目,但其背后也有著商業化的運作。一些公司看到了Eclipse的潛力,紛紛推出了基于Eclipse的商業產品。這些產品不僅繼承了Eclipse的優秀特性,還加入了一些獨特的功能和服務,以滿足不同客戶的需求。通過商業化運作,Eclipse的影響力得到了進一步擴大。
DFI深知產品質量對于企業的重要性。因此,公司從設計到生產,都實施了嚴格的質量管理。在產品設計階段,DFI的專責團隊會對電路、機構和零組件進行嚴格的測試與檢驗,確保每個專案的設計和質量都具備一致的高質量。在生產階段,所有產品出貨前都必須通過完整的產品內部檢驗,以確保產品的可靠性和耐久性。這些質量管理措施使DFI的產品在市場上享有良好的口碑,也為公司贏得了眾多客戶的信任。
面對工業4.0的浪潮,乾坤公司積極響應國家智能制造的號召,開始進行智能制造的轉型。公司引進了先進的自動化設備,對生產線進行了全面升級,實現了生產過程的自動化、信息化和智能化。通過智能制造的轉型,乾坤不僅提高了生產效率,還降低了生產成本,同時提升了產品的一致性和可靠性。這一轉型為乾坤公司的持續發展注入了新的動力,使其在激烈的市場競爭中保持了領先地位。
隨著科技的不斷進步,電子行業的發展日新月異。乾坤公司意識到,要想保持領先地位,就必須不斷進行技術創新。于是,公司加大了對研發團隊的投入,引進了一批高水平的科研人才,并與多所高校和研究機構建立了緊密的合作關系。在一次偶然的實驗中,研發團隊發現了一種新型材料,可以顯著提升電子元器件的性能。經過一系列嚴格的測試和驗證,這種新材料被成功應用于產品生產中,使得乾坤的電子元器件在性能上實現了質的飛躍。這一技術創新不僅為公司帶來了豐厚的利潤,更讓乾坤在電子行業中聲名鵲起。
1引言 世界電子產品已進入一個速度更快、密度更高、體積更薄、成本更低且要求更有效散熱的封裝時代。隨著無線電通信領域(如手機)的迅速商業化,對降低成本,提高性能有很大的壓力。LTCC(低溫共燒陶瓷)技術是一種低成本封裝的解決方法,具有 ...… 查看全部問答∨ |
|
3G商用業務的展開,不僅僅是通信技術的革新應用,3G技術也成為了信息化建設中的又一亮點。作為一項全新的技術,它將更深層次地融入到社會應用中去,在安防領域它也同樣引領這時代的潮流。 過去信息化建設的重點更多地放在傳統互聯網上,隨著3 ...… 查看全部問答∨ |
問題一: 第一步、客戶端發一個SYN, 第二步、服務器回一個SYN+ACK, 第三步、客戶端發一個ACK, seq_no=07CC50EA,ack_no=78BEEA98 此時三次握手搞定。接下來開始傳送IP數據包了,但是我想請問下, 當第三步不成功的情況下,客戶端發了一個ACK,而 ...… 查看全部問答∨ |
單片機驅動標準pc機鍵盤的C51程序 網上流行的這個程充很垃圾, 在我的單片機上無論如何都調試不成功. 正確的程序見http://home.hn8868.com/tary/download.html 該程序由AVR程序移植過來... C語言寫的,風格棒極了. 在P1口顯示ASCII嗎,也有使 ...… 查看全部問答∨ |
|
05.05【每日一問】:如何精確定時 這個問題是我一個同事問我的,當時我費了好大勁給他講清楚。現在拿來給大家,今后在產品中很可能用到: 事情是這樣,有一天我一個同事問我,他正在做一個產品,是設定一個時間定時控制溫度上升曲 ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- Microchip直播:單片機編程不再難, 利用MPLAB®代碼配置器(MCC)實現快速開發
- 【EEWORLD第二十三屆】2011年02月社區明星人物揭曉!
- 走近 AI 重磅新品 STM32N6,解鎖在 MCU 部署高性能、節能型邊緣 AI!答題有好禮~還有開發板等你拿!
- 有獎直播:Microchip適用于CryptoAuthentication™系列的可信任平臺
- 直播已結束--STM32全球線上峰會 | 新品STM32N6重磅發布,50+開發板等你抽!
- 【已結束】 電感應用知識分享|MPS 有獎直播
- TI有獎直播:伺服驅動器中電流和電壓測量解決方案
- 學AM335X課程,贏超值BB-Black團購資格,更有DIY大獎賽預熱中!
- 有獎評測:平頭哥RISC-V低功耗板——RVB2601