官方提供了gpio的两个例程分别为GPIO与GPIOM,而这两个例程分别为传统GPIO配置使用GPIO,以及使用GPIO manager配置使用GPIO,在例程中可以看到,官方封装的初始化库函数:
①在传统GPIO配置方式中,在HPM6750中比较简单,其中需要初始话的IO口对应需要先选择对应的ALT功能即
- IOC_PAD_FUNC_CTL_ALT_SELECT_SET()
设定完对应的ALT功能后传递给对应GPIO的FUNC_CTL即HPM_BIOC->PAD[GPIO_Pin].FUNC_CTL
初始化完成后只需要先使能对应GPIO口,在设定GPIO的输出状态即可,官方也对于相应的OE、DO寄存器封装了相应的库函数,并且在DO寄存器的使用中还增加了toggle_pin状态切换的功能,可以直接操作进行电平反转,简单快捷。
②在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)
该函数主要设定了GPIO的驱动模式,设定一共有四种,分别为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)
该函数用于对设定的参数进行使能;
该函数用于对GPIO manager的设定进行锁定,该操作即可完成对GPIO manager的自定义设定。
初始化设定完成后便可以使用对应库函数进行输出,常用GPIO库函数简介:
- //GPIO输出使能--GPIO_OE
二、外部中断配置
在GPIO的例程中,除了演示了对GPIO的设定,还对GPIO的外部中断设定进行了演示。
在使用外部中断前,需要将GPIO输出使能关闭,便于通过GPIO检测外部中断,开启外部中断首先是对于外部中断的触发方式的设定。
- void gpio_config_pin_interrupt(GPIO_Type *ptr, uint32_t gpio_index, uint8_t pin_index, gpio_interrupt_trigger_t trigger)
该函数中可以选定常用高低电平触发以及边沿触发方式,选定完成后使用以下函数操作IE寄存器对外部中断进行使能。
- static inline void gpio_enable_pin_interrupt(GPIO_Type *ptr, uint32_t port, uint8_t pin)
用以下函数绑定中断服务函数以及设定中断优先级
- intc_m_enable_irq_with_priority(irq, priority)//设定中断服务优先级
而在中断中用以下函数清除中断标志
- static inline void gpio_clear_pin_interrupt_flag(GPIO_Type *ptr, uint32_t port, uint8_t pin)
外部中断的配置相对来说比较简单,而配置流程也与ARM趋于一致,在此不做赘述。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
mcu
+关注
关注
146文章
16072浏览量
344293 -
先楫半导体
+关注
关注
9文章
184浏览量
1847
发布评论请先 登录
相关推荐
先楫半导体 hpm_sdk v1.5.0 正式发布
先楫半导体 hpm_sdk v1.5.0 正式发布!功能升级更强大
版本更新概况
新支持的IDE
IAR Embedded Workbench for RISC-V (测试版本3.20
发表于 04-08 11:14
先楫半导体HPM5300EVK开发板试用作品手册免费下载
产品介绍:
HPM5300系列MCU是上海先楫半导体推出的一款高性能RISC-V内核通用微控制器。
HPM5300系列RISC-VCP
发表于 12-28 10:25
【先楫HPM5361EVK开发板试用体验】1上手HPM5361
在本地存储更多的指令和数据,而不必依赖外部存储器,从而极大地提高了性能。
开发工具安装:上海先楫半导体提供了HPM系列SoC底层驱动软件包,
发表于 11-28 12:18
想找一个先楫半导体的HPM6750 使用linux剪裁操作系统的例程
想找一个先楫半导体的HPM6750 使用linux剪裁操作系统的例程,SDK里给了FREERT的,没有LINUX的。哪里可以下载的到?
发表于 10-25 16:18
【新品体验】先楫HPM5361EVK开发板免费试用
形式:标题格式 【先楫HPM5361EVK开发板试用体验】+自拟标题 ;视频演示可分为:应用演示视频、调试演示视频。
3、
发表于 10-20 11:30
先楫半导体HPM5361EVK开发板开发资料免费下载
调试器。
HPM5300系列MCU是上海先楫半导体推出的一款高性能RISC-V内核通用微控制器。
HPM5300系列RISC-VCPU主频
发表于 10-20 11:21
HPM6750支持硬件串口空闲中断检测吗?
使用官方的SDK1.2打开uart_hardware_rx_idle例程后终端输入指令generate_project -list后显示支持hpm6750evkmini
但是使用指令
发表于 09-05 13:49
hpm6750evkmini GPIO口PE29翻转速度达不到400M是什么原因?怎么设置?
我用hpm6750evkmini,GPIO口PE29翻转速度达不到400M啊,什么原因?需要怎么设置?
发表于 05-26 08:05
HPM6750EVKmini的LCD显示效果不行怎么解决?
/drivers/lcdc/hpm6750evkmini2_flash_sdram_xip_build,会出现显示有闪烁,背景区域颜色不对的现象,这种该怎么办呢?
发表于 05-26 07:03
HPM6750EVK/HPM6750EVKMINI调试失败的原因及其解决办法
用户在使用Segger Embedded Studio调试HPM6750EVK和HPM6750EVKMINI的时候,有时会出现芯片调试不成,程序无法下载的情况。本文主要介绍了几种常见的导致调试失败
发表于 05-26 06:06
先楫半导体产品体验官代码仓库集锦
先楫产品体验官:@ xusiwei1236
软件工程师,电子爱好者
代码仓库:
https://gitee.com/HPM6750;
主要用途: HPM6750应用程序示例
发表于 05-25 16:13
评论