本文來源電子發(fā)燒友社區(qū),作者:jf_32467263, 帖子地址:https://bbs.elecfans.com/jishu_2287559_1_1.html
一、GPIO輸入輸出配置
一、GPIO輸入輸出配置
官方提供了gpio的兩個例程分別為GPIO與GPIOM,而這兩個例程分別為傳統(tǒng)GPIO配置使用GPIO,以及使用GPIO manager配置使用GPIO,在例程中可以看到,官方封裝的初始化庫函數(shù):
①在傳統(tǒng)GPIO配置方式中,在HPM6750中比較簡單,其中需要初始話的IO口對應需要先選擇對應的ALT功能即
- IOC_PAD_FUNC_CTL_ALT_SELECT_SET()
設定完對應的ALT功能后傳遞給對應GPIO的FUNC_CTL即HPM_BIOC->PAD[GPIO_Pin].FUNC_CTL
初始化完成后只需要先使能對應GPIO口,在設定GPIO的輸出狀態(tài)即可,官方也對于相應的OE、DO寄存器封裝了相應的庫函數(shù),并且在DO寄存器的使用中還增加了toggle_pin狀態(tài)切換的功能,可以直接操作進行電平反轉,簡單快捷。
②在GPIO manager配置方法中,用戶可以單獨的GPIO進行配置自定義。
- static inline void gpiom_set_pin_controler(GPIOM_Type *ptr,uint8_t gpio_index,uint8_t pin_index,gpiom_gpio_t gpio)
該函數(shù)主要設定了GPIO的驅(qū)動模式,設定一共有四種,分別為gpiom_soc_gpio0、gpiom_soc_gpio1、gpiom_core0_fast、gpiom_core1_fast。
- static inline void gpiom_enable_pin_visibility(GPIOM_Type *ptr,uint8_t gpio_index,uint8_t pin_index,gpiom_gpio_t gpio)
該函數(shù)用于對設定的參數(shù)進行使能;
該函數(shù)用于對GPIO manager的設定進行鎖定,該操作即可完成對GPIO manager的自定義設定。
初始化設定完成后便可以使用對應庫函數(shù)進行輸出,常用GPIO庫函數(shù)簡介:
- //GPIO輸出使能--GPIO_OE
二、外部中斷配置
在GPIO的例程中,除了演示了對GPIO的設定,還對GPIO的外部中斷設定進行了演示。
在使用外部中斷前,需要將GPIO輸出使能關閉,便于通過GPIO檢測外部中斷,開啟外部中斷首先是對于外部中斷的觸發(fā)方式的設定。
- void gpio_config_pin_interrupt(GPIO_Type *ptr, uint32_t gpio_index, uint8_t pin_index, gpio_interrupt_trigger_t trigger)
該函數(shù)中可以選定常用高低電平觸發(fā)以及邊沿觸發(fā)方式,選定完成后使用以下函數(shù)操作IE寄存器對外部中斷進行使能。
- static inline void gpio_enable_pin_interrupt(GPIO_Type *ptr, uint32_t port, uint8_t pin)
用以下函數(shù)綁定中斷服務函數(shù)以及設定中斷優(yōu)先級
- intc_m_enable_irq_with_priority(irq, priority)//設定中斷服務優(yōu)先級
而在中斷中用以下函數(shù)清除中斷標志
- static inline void gpio_clear_pin_interrupt_flag(GPIO_Type *ptr, uint32_t port, uint8_t pin)
外部中斷的配置相對來說比較簡單,而配置流程也與ARM趨于一致,在此不做贅述。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
mcu
+關注
關注
146文章
17171瀏覽量
351519 -
先楫半導體
+關注
關注
10文章
214瀏覽量
2127
發(fā)布評論請先 登錄
相關推薦
先楫HPM6E00技術日 | 百人研討共話工業(yè)應用創(chuàng)新及發(fā)展趨勢
2024年8月29日,深圳 | 由上海先楫半導體科技有限公司(先楫半導體,HPMicro)主辦的
發(fā)表于 09-02 10:14
有獎提問!先楫半導體HPM6E00系列新品發(fā)布會?。?/a>
半導體HPM6E00新品預覽”的活動,盛況空前。
自此之后一直收到大家的信息,問什么時候能夠買到HPM6E00,這不,我們來了~
先楫
發(fā)表于 06-20 11:45
先楫半導體 hpm_sdk v1.5.0 正式發(fā)布
先楫半導體 hpm_sdk v1.5.0 正式發(fā)布!功能升級更強大
版本更新概況
新支持的IDE
IAR Embedded Workbench for RISC-V (測試版本3.20
發(fā)表于 04-08 11:14
先楫高性能MCU HPM6800系列產(chǎn)品生態(tài)綻放,共鏈未來
2024年3月28日,上海 - 國產(chǎn)高性能微控制器廠商上海先楫半導體科技有限公司(先楫半導體,H
基于先楫HPM5300 RISC-V內(nèi)核MCU的HPM5361EVK開發(fā)板測評效果(二)
HPM5361EVK是基于先楫HPM5300系列高性能RISC-V內(nèi)核MCU的一款開發(fā)板。
芯原2.5D GPU IP賦能先楫半導體HPM6800系列RISC-V MCU
芯原股份(股票代碼:688521.SH)與先楫半導體(簡稱“先楫”)的合作,為高性能圖形處理領域帶來了新的突破。
【先楫HPM5361EVK開發(fā)板試用體驗】(原創(chuàng))5.手把手實戰(zhàn)AI機械臂
與ChatGPT API結合,使機械臂能夠基于視覺信息和AI指令進行動作。
今天先更新到這里...
謝謝!
接上四篇:
【先楫HPM5361EVK開發(fā)
發(fā)表于 02-06 10:28
【先楫HPM5361EVK開發(fā)板試用體驗】先楫HPM5361EVK開發(fā)板的UART實踐與測試
先楫HPM5361EVK開發(fā)板先簡單給大家介紹一下,HPM
發(fā)表于 01-09 22:22
評論