女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

AS32X601驅動系列教程 GPIO_按鍵檢測詳解

安芯 ? 來源:jf_29981791 ? 作者:jf_29981791 ? 2025-05-23 16:44 ? 次閱讀

嵌入式系統開發中,GPIO(通用輸入輸出端口)是實現硬件與軟件交互的關鍵組件。本節主要利用的時GPIO的輸入采集功能,本節的主要功能為,讀取板載按鍵,當按鍵按下時,對應led亮起,抬起按鍵,對應led熄滅。

硬件設計

評估板板載三個機械按鍵,分別接入MCU的PE10、PB4、PB3,當按鍵按下時,控制引腳通過按鍵接地,表現為低電平,當按鍵抬起時,io通過電阻連接到VCC,此時表現為高電平。

軟件設計

代碼分析

本節主要驗證GPIO的輸入功能,所不同的是,在初始化gpio結構體時需要將輸出配置為輸入。我們在Bsp文件夾中新建key.c和key.h,在c文件中添加如下代碼:

  1. void User_KEY_Init()
  2. {
  3. GPIO_InitTypeDef  GPIO_InitStructure;
    
  4. PLIC_InitTypeDef  PLIC_InitStructure;
    
  5. GPIOB_CLK_ENABLE();
    
  6. GPIOE_CLK_ENABLE();
    
  7. PLIC_CLK_ENABLE();
    
  8. 
    

/ GPIOE Configure /

11. ```
GPIO_InitStructure.GPIO_Pin       = GPIO_Pin_10;
  1. 
    

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;

13. ```
GPIO_InitStructure.GPIO_IType     = GPIO_IPU;
  1. 
    

GPIO_InitStructure.GPIO_OType = GPIO_Out_PP;

15. ```
GPIO_InitStructure.GPIO_OStrength = GPIO_OStrength_9mA;
  1. 
    

GPIO_Init(GPIOE, &GPIO_InitStructure);

17. 
18. ```
*/* GPIOB Configure */*
  1. 
    

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_3;

20. ```
GPIO_Init(GPIOB, &GPIO_InitStructure);
  1. 
    

PLIC_InitStructure.PLIC_IRQChannel = GPIOE_IRQn;

23. ```
PLIC_InitStructure.PLIC_IRQPriority = 1;
  1. 
    

PLIC_InitStructure.PLIC_IRQChannelCmd = ENABLE;

25. ```
PLIC_Init(&PLIC_InitStructure);
  1. 
    

PLIC_InitStructure.PLIC_IRQChannel = GPIOB_IRQn;

28. ```
PLIC_InitStructure.PLIC_IRQPriority = 2;
  1. 
    

PLIC_InitStructure.PLIC_IRQChannelCmd = ENABLE;

30. ```
PLIC_Init(&PLIC_InitStructure);
  1. 
    

/Clear Interrupt start state/

33. ```
GPIO_ClearITPendingBit(GPIOE, GPIO_Pin_10);
  1. 
    

GPIO_ClearITPendingBit(GPIOB, GPIO_Pin_4|GPIO_Pin_3);

35. ```
*/*Config Interrupt trigger type*/*
  1. 
    

GPIO_ITConfig(GPIOE, GPIO_Pin_10, GPIO_ITType_EDGEDOWN, ENABLE);

37. ```
GPIO_ITConfig(GPIOB, GPIO_Pin_4|GPIO_Pin_3, GPIO_ITType_EDGEDOWN, ENABLE);
  1. }

在本小結的例程中,我們采用IO中斷的形式讀取IO狀態,PLIC的內容在后邊會具體介紹,因此在此處只需要參考這個配置過程即可。

第10~20行為gpio輸入模式初始化,由于按鍵正常情況下接口表現為高電平,所以將接口配置為上拉輸入,可以保證接口穩定。

第22~30行為中斷模塊配置,主要功能就是開啟兩個IO端口的中斷。

第33~37行,在GPIO中需要配置中斷觸發模式,此處配置為GPIO_ITType_EDGEDOWN下降沿觸發,在此之前最好清除一下中斷初始狀態。

接下來編寫中斷處理函數:

  1. void GPIOE_IRQ_Handler()
  2. {
  3. if(GPIO_GetITStatus(GPIOE, GPIO_Pin_10) == SET)
  4. {
  5. key1_flag = 1;
    
  6. */*Clear Interrupt start state*/*
    
  7. GPIO_ClearITPendingBit(GPIOE, GPIO_Pin_10);
    
  8. }
  9. }
  10. void GPIOB_IRQ_Handler()
  11. {
  12. if(GPIO_GetITStatus(GPIOB, GPIO_Pin_4) == SET)
  13. {
  14. 
    

key2_flag = 1;

15. ```
*/*Clear Interrupt start state*/*
  1. 
    

GPIO_ClearITPendingBit(GPIOB, GPIO_Pin_4);

17. }
18. if(GPIO_GetITStatus(GPIOB, GPIO_Pin_3) == SET)
19. {
20. ```
key3_flag = 1;
  1. 
    

/Clear Interrupt start state/

22. ```
GPIO_ClearITPendingBit(GPIOB, GPIO_Pin_3);
  1. }
  2. }

AS32的中斷處理函數劃分相對ARM更細,針對不同端口有不同的處理函數,在這個函數中,我們首先調用GPIO_GetITStatus函數確定中斷源,之后置位按鍵狀態以便主程序中進行處理。

最后我們編寫主邏輯:

  1. if(key1_flag)
    
  2. {
    
  3. key1_flag = 0;
    
  4. printf("The key1 pressed!rn");
    
  5. LED1_TOGGLE();
    
  6. }
    
  7. if(key2_flag)
    
  8. {
    
  9. key2_flag = 0;
    
  10. 
    

printf("The key2 pressed!rn");

11. ```
LED2_TOGGLE();
  1. }
  2. if(key3_flag)
  3. {
  4. 
    

key3_flag = 0;

16. ```
printf("The key3 pressed!rn");
  1. 
    

LED3_TOGGLE();

18. }

主函數循環中添加上述代碼邏輯,主要功能就是當按鍵按下時,對應led進行一個亮滅翻轉。

此處需要說明的是,如果不用中斷形式操作,那么我們在案件初始化函數中只需要保留GPIO_Init函數之前的內容即可,然后在主循環邏輯中將判斷中的內容可使用庫函數中的GPIO_ReadInputDataBit函數實現io電平讀取。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17877

    瀏覽量

    361349
  • 嵌入式系統
    +關注

    關注

    41

    文章

    3669

    瀏覽量

    130981
  • GPIO
    +關注

    關注

    16

    文章

    1277

    瀏覽量

    53648
  • 按鍵檢測
    +關注

    關注

    0

    文章

    25

    瀏覽量

    4914
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    RK3568驅動指南|第十二篇 GPIO子系統-第130章 GPIO的調試方法

    RK3568驅動指南|第十二篇 GPIO子系統-第130章 GPIO的調試方法
    的頭像 發表于 06-03 11:32 ?348次閱讀
    RK3568<b class='flag-5'>驅動</b>指南|第十二篇 <b class='flag-5'>GPIO</b>子系統-第130章 <b class='flag-5'>GPIO</b>的調試方法

    迅為RK3568開發板驅動指南GPIO子系統GPIO子系統API函數的引入

    迅為RK3568開發板驅動指南GPIO子系統GPIO子系統API函數的引入
    的頭像 發表于 05-29 14:05 ?374次閱讀
    迅為RK3568開發板<b class='flag-5'>驅動</b>指南<b class='flag-5'>GPIO</b>子系統<b class='flag-5'>GPIO</b>子系統API函數的引入

    迅為RK3568驅動指南GPIO子系統 GPIO操作函數實驗

    迅為電子RK3568開發板驅動指南GPIO子系統 GPIO操作函數實驗
    的頭像 發表于 05-28 15:24 ?297次閱讀
    迅為RK3568<b class='flag-5'>驅動</b>指南<b class='flag-5'>GPIO</b>子系統 <b class='flag-5'>GPIO</b>操作函數實驗

    AS32X601驅動系列教程 PLIC_中斷應用詳解

    平臺中斷控制器(Platform Level Interrupt Controller,PLIC)是國科安芯AS32系列MCU芯片的中斷控制器,主要對中斷源進行采樣,優先級仲裁和分發。各外設中斷統一
    的頭像 發表于 05-23 17:10 ?141次閱讀
    <b class='flag-5'>AS32X601</b><b class='flag-5'>驅動</b><b class='flag-5'>系列</b>教程 PLIC_中斷應用<b class='flag-5'>詳解</b>

    AS32X601驅動系列教程 USART_串口通訊詳解

    國科安芯的AS32系列MCU芯片集成7路USART,能夠靈活地與外部設備進行全雙工數據交換,滿足外部設備對工業標準 NRZ 異步串行數據格式的要求。USART 通過小數波特率發生器實現了多種波特率
    的頭像 發表于 05-23 16:54 ?271次閱讀
    <b class='flag-5'>AS32X601</b><b class='flag-5'>驅動</b><b class='flag-5'>系列</b>教程 USART_串口通訊<b class='flag-5'>詳解</b>

    AS32X601驅動系列教程 GPIO_點亮LED詳解

    的大門。自本章開始,正式開始用代碼控制AS32x601各外設完成功能配置。 需要注意的是,AS32X601提供了8組GPIO,其中GPIOA~GPIOG寄存器操作完全一致,但在使用GPIOH的時候,寄存器列表中間少了一個32位寄
    的頭像 發表于 05-23 16:14 ?169次閱讀
    <b class='flag-5'>AS32X601</b><b class='flag-5'>驅動</b><b class='flag-5'>系列</b>教程 <b class='flag-5'>GPIO_</b>點亮LED<b class='flag-5'>詳解</b>

    AS32X601驅動系列教程 SMU_系統時鐘詳解

    時鐘和復位的管理。在默認狀態下SMU工作在IDLE狀態。只有接收到PMU的使能信號后才開始工作。SMU模塊會根據PMU的指令自動配置COR、AXIBUS0/1/2等總線的時鐘和復位。 需要注意的是,MCU芯片AS32X601可通過BOOT選擇從外部QSPI Flash啟動和內部PFlash啟動,
    的頭像 發表于 05-23 16:01 ?275次閱讀
    <b class='flag-5'>AS32X601</b><b class='flag-5'>驅動</b><b class='flag-5'>系列</b>教程 SMU_系統時鐘<b class='flag-5'>詳解</b>

    第六章 GPIO輸入——按鍵檢測

    本篇文章講述了如何在W55MH32上實現按鍵輸入檢測,以及按鍵輸入檢測的注意事項、實現方式和代碼講解等。掌握了按鍵
    的頭像 發表于 05-22 16:41 ?210次閱讀
    第六章 <b class='flag-5'>GPIO</b>輸入——<b class='flag-5'>按鍵</b><b class='flag-5'>檢測</b>

    面向工業與汽車領域的高安全可靠MCU——AS32X601系列芯片解析

    AS32X601系列是國科安芯研發的32位RISC-V架構MCU,專為高安全性、高可靠性場景設計,覆蓋工業控制、汽車電子等關鍵領域。其核心優勢在于通過硬件級安全機制、多重冗余設計及功能安全認證,滿足
    的頭像 發表于 03-14 16:40 ?405次閱讀

    AS32X601芯片技術剖析

    芯片簡介 AS32X601系列MCU是國產高可靠嵌入式處理器的重要突破,其企業宇航級型號AS32S601針對空間輻射環境與極端溫度條件優化,滿足衛星載荷控制、航天器運動控制等場景需求。該芯片采用
    的頭像 發表于 03-14 16:17 ?420次閱讀

    AS32X601雙核鎖步MCU技術優勢分析

    AS32X601是國科安芯公司研制的一系列基于32位RISC-V指令集車規級MCU處理器芯片。主頻高達180MHz,支持雙核鎖步架構,基于軟錯誤防護技術加持,顯著提高芯片安全性能。產品具有高安全、低
    的頭像 發表于 03-07 16:12 ?378次閱讀

    遠心鏡頭應用手機按鍵檢測

    遠心鏡頭的手機按鍵檢測方案具有高效、準確、穩定等優點。該方案能夠實現對手機按鍵的全方位檢測,包括按鍵的位置、高度、間隙以及彈力等參數。同時,
    的頭像 發表于 01-20 10:18 ?395次閱讀
    遠心鏡頭應用手機<b class='flag-5'>按鍵</b><b class='flag-5'>檢測</b>

    SOC GPIO操作

    GPIO_INTERRUPT_RISE_ENABLE 0x20#define GPIO_INTERRUPT_FALL_ENABLE 0x24#define
    的頭像 發表于 11-01 11:06 ?443次閱讀

    TPS6598x GPIO事件

    電子發燒友網站提供《TPS6598x GPIO事件.pdf》資料免費下載
    發表于 09-30 10:32 ?0次下載
    TPS6598<b class='flag-5'>x</b> <b class='flag-5'>GPIO</b>事件

    STM32 GPIO八種模式及工作原理詳解

    圍設備(像控制led亮滅,按鍵控制,軟件模擬IIC等)直觀又簡單的控制。 GPIO的8種模式 ?1. 輸入模式: ??(1)上拉輸入模式 GPIO_Mode_IPU ??(2)下拉輸入模式
    的頭像 發表于 07-22 09:32 ?8419次閱讀
    STM32 <b class='flag-5'>GPIO</b>八種模式及工作原理<b class='flag-5'>詳解</b>
    主站蜘蛛池模板: 集安市| 利津县| 鄱阳县| 江川县| 澜沧| 永川市| 扎赉特旗| 德兴市| 康平县| 介休市| 阿城市| 漯河市| 香港| 黑山县| 嘉祥县| 绥中县| 绿春县| 安塞县| 合川市| 惠安县| 惠来县| 武鸣县| 贵溪市| 搜索| 江华| 双桥区| 浦城县| 隆林| 江北区| 阿拉善左旗| 西城区| 若尔盖县| 汉川市| 海盐县| 玛纳斯县| 罗平县| 常山县| 阿合奇县| 达孜县| 苍南县| 柞水县|