配置时钟:

void CMU_ClockEnable(CMU_Clock_TypeDef clock, bool enable)CMU_ClockEnable(cmuClock_HFPER, true);/* Enable GPIO in CMU */
CMU_ClockEnable(cmuClock_GPIO, true);

配置引脚为输入:

void GPIO_PinModeSet(GPIO_Port_TypeDef port,unsigned int pin,GPIO_Mode_TypeDef mode,unsigned int out)/* Configure PB9 and PB10 as input */
GPIO_PinModeSet(gpioPortB, 9, gpioModeInput, 0);
GPIO_PinModeSet(gpioPortB, 10, gpioModeInput, 0);

配置引脚为输出:

void GPIO_PinModeSet(GPIO_Port_TypeDef port,unsigned int pin,GPIO_Mode_TypeDef mode,unsigned int out)GPIO_PinModeSet(ledArray[ledNo].port, ledArray[ledNo].pin, gpioModePushPull, 0);

配置引脚为中断输入:

中断初始化:

void GPIOINT_Init(void)
{NVIC_ClearPendingIRQ(GPIO_ODD_IRQn);      //清除奇数引脚中断标志NVIC_EnableIRQ(GPIO_ODD_IRQn);             //使能奇数引脚中断NVIC_ClearPendingIRQ(GPIO_EVEN_IRQn);     //清除偶数引脚中断标志NVIC_EnableIRQ(GPIO_EVEN_IRQn);            //使能偶数引脚中断
}

先配置为输入,再配置中断

__STATIC_INLINE void GPIO_IntConfig(GPIO_Port_TypeDef port,unsigned int pin,bool risingEdge,bool fallingEdge,bool enable)/* Set falling edge interrupt for both ports */
GPIO_IntConfig(gpioPortB, 9, false, true, true);
GPIO_IntConfig(gpioPortB, 10, false, true, true);

引脚输出高电平:

__STATIC_INLINE void GPIO_PinOutSet(GPIO_Port_TypeDef port, unsigned int pin)GPIO_PinOutSet(ledArray[ledNo].port, ledArray[ledNo].pin);

引脚输出低电平:

__STATIC_INLINE void GPIO_PinOutClear(GPIO_Port_TypeDef port, unsigned int pin)GPIO_PinOutClear(ledArray[ledNo].port, ledArray[ledNo].pin);

引脚翻转输出电平:

__STATIC_INLINE void GPIO_PinOutToggle(GPIO_Port_TypeDef port, unsigned int pin)GPIO_PinOutToggle(ledArray[ledNo].port, ledArray[ledNo].pin);

读取输出引脚电平:

__STATIC_INLINE unsigned int GPIO_PinOutGet(GPIO_Port_TypeDef port,unsigned int pin)retVal = (int)GPIO_PinOutGet(ledArray[ledNo].port, ledArray[ledNo].pin);

读取输入引脚电平:

__STATIC_INLINE unsigned int GPIO_PinInGet(GPIO_Port_TypeDef port,unsigned int pin)retVal = (int)GPIO_PinInGet(ledArray[ledNo].port, ledArray[ledNo].pin);

读取输入端口:

__STATIC_INLINE uint32_t GPIO_PortInGet(GPIO_Port_TypeDef port)retVal = GPIO_PortInGet(port);

EFM32之GPIO相关推荐

  1. EFM32例程——GPIO

    硬件:EFM32GG230512 工具:keil5 GPIO实验 描述:简单的led闪烁. 具体参考em_gpio.c和em_gpio.h文件. IO初始化 //GPIO_DriveMode_Type ...

  2. EFM32片内外设--GPIO EM4唤醒

    EFM32的EM3虽然功耗很低,0.6uA,但是在一些场合仍然显得浪费,特别是那种一次性消费的电池供电产品,客户的想法仍然是越低越好,最好是不耗电.所以,很多时候,就只能让MCU进入EM4状态. 当E ...

  3. efm32芯片电压_解读GP21+EFM32低功耗热量表电路

    基于Energymicro公司的32位Cortex-M3内核的超低功耗微控制器EFM32与ACAM公司的高集成度TDC-GP21芯片推出的超声波热量表方案,能够充分发挥EFM32的超低功耗与高运算能力 ...

  4. efm32芯片电压_小壁虎PK小蝴蝶(EFM32 vs STM32L)

    近日因要使用低功耗MCU,故花了点时间来研究ARM cortex M系列的低功耗MCU,今天的主角,相信熟悉 ARM Cortex 单片机的大神们,一听这名字,就知道是谁了. -EnergyMicro ...

  5. EFM32片内外设--USB MSD host framework

    近几日在帮客户移植USB MSD host的协议栈.发现一下子将100+K的代码从一颗M3移植到另外一颗M3,其实还真的不简单,主要是不同厂家的M3,外设区别太大了.辛苦将底层的硬件层描述完成之后,发 ...

  6. 小壁虎EFM32之ADC 采集电压

    前言 最近在学习小壁虎EFM32芯片的使用,需要用ADC采集电压,学习之中,遇到一些小问题和需要注意的地方,现将其记录下来,避免以后自己再次踩坑和往后可以学而时习之:好了,进入正题. 代码 主函数: ...

  7. EFM32片内外设--ADC之多通道采样+Timer+PRS触发+DMA

    在Application note中,ADC已经有了很多的例子,唯独缺少一个多通道定时触发进行扫描的例程.从理论上讲,将ADC配置为多通道ADC转换,配合DMA进行数据传输,而且使用Timer+PRS ...

  8. STM32 GPIO的原理、特性、选型和配置

    目录 1.基本结构 2.4种输入模式 3.4种输出模式 4.GPIO选型和配置 1.基本结构 STM32 GPIO是通用输入/输出端口的英文简称,其可实现输入.输出.驱动.通信等功能,STM32的I/ ...

  9. STM32低功耗模式下GPIO如何配置最节能?

    目录 1.将未使用的GPIO 配置为模拟输入模式 2.调节GPIO 速度 3.GPIO不使用时禁用寄存器时钟 4.避免悬空未使用的引脚 STM32低功耗模式下GPIO如何配置最节能,这里总结了一下四点 ...

最新文章

  1. 获取MSSQL Server中的相关信息(视图、存储过程、触发器、表)
  2. CTF-汇编语言归纳
  3. 最新系统之家系统win11 32位官方版v2021.07
  4. c++ sort 从大到小排序_算法的艺术:MySQL order by对各种排序算法的巧用
  5. 黑群晖 linux 修改参数,黑群晖 DS918+ 修改引导参数隐藏引导盘和数据盘
  6. speex语音压缩服务端与APP端实践
  7. 史诗级Java入门教程,想成为初级程序员看他就够了
  8. 计算机基础达 打字训练视频,「跟着八戒学电脑」快速打字必须掌握的基本功:指法练习...
  9. RabbitMQ heartbeat原理
  10. 变分自编码(VAE)及代码解读
  11. 【微信小程序】video视频(77/100)
  12. 博客营销 交流互动大舞台
  13. 2023华为软件精英挑战赛——全赛段思路分享与总结
  14. 全球最强的女孩保养秘方大全
  15. 制作抖音卡点视频?Python来帮你~
  16. 为企业出海“搭桥”,汇量科技靠什么出圈?
  17. Django 使用技巧之 settings 拆分 + 通过指令选择不同的配置文件。
  18. ZYNQ基本用法------DDR(1)
  19. redis存取数据流
  20. 输入一个字符,判断它是否为大写字母,如果是,将它转换为小写字母,不是则不转换

热门文章

  1. 对话触漫:漫画App如何做好社区治理?
  2. 产品经理/互联网非技术岗如何写一份好的简历?
  3. android自定义listview实现圆角
  4. 在公共场所提供给用户使用的多媒体计算机,计算机一级填空-重点
  5. 面试经验(5.4之前)
  6. python代码设计测试用例_(appium+python)UI自动化_08_unittest编写测试用例
  7. Android 任意View转为bitmap图片
  8. 简单4步,搭建目标管理系统!
  9. Android文字环绕效果
  10. 开心农场的20条人生启示