配置时钟:

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, , gpioModeInput, );
GPIO_PinModeSet(gpioPortB, , gpioModeInput, );

配置引脚为输出:

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, );

配置引脚为中断输入:

中断初始化:

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, , false, true, true);
GPIO_IntConfig(gpioPortB, , 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)

读取输入端口:

__STATIC_INLINE uint32_t GPIO_PortInGet(GPIO_Port_TypeDef port)

EFM32之GPIO的更多相关文章

  1. Programming Internal Flash Over the Serial Wire Debug <SWD> Interface -- EFM32

    1 Debug Interface Overview 1.1 Serial Wire Debug Serial Wire Debug (SWD) is a two-wire protocol for ...

  2. EFM32 DMA/PRS例程

    /**************************************************************************//**  * @file  * @brief H ...

  3. [转]: stm328种GPIO模式

    [原创]:这段时间开始研究stm32,今天撸着一段代码一直追,追到了GPIO口模式的枚举类型这里,遂去网上查看这8种模式到底是什么,网上一查,看到了一个答案被很多博主转载或者原创,那我也就不重复废话了 ...

  4. 基於tiny4412的Linux內核移植--- 中斷和GPIO學習(3)

    作者 彭東林 pengdonglin137@163.com 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uIma ...

  5. 基於tiny4412的Linux內核移植--- 中斷和GPIO學習(2)

    作者 彭東林 pengdonglin137@163.com 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uIma ...

  6. 基於tiny4412的Linux內核移植--- 中斷和GPIO學習(1)

    作者 彭東林 pengdonglin137@163.com 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uIma ...

  7. STM32f10xxx 之 GPIO口配置

    背景 配置stm32f103使其完成PWM输出的过程中,在配置GPIO口的时候,按照习惯配置GPIO口的speed为50MHZ,突然就意识到,为什么大部分例程习惯配置为50MHZ,而不是其它值,即有了 ...

  8. android gpio口控制

    android gpio口控制  GPIO口控制方式是在jni层控制的方式实现高低电平输出,类似linux的控制句柄方式,在linux系统下将每个设备看作一个文件,android系统是基于linux内 ...

  9. STM32F412应用开发笔记之二:基本GPIO控制

    NUCLEO-F412ZG板子上的元器件并没有完全焊接,除去ST-LINK部分和电源部分后,还有用一个USB主机接口,三个LED灯和两个按钮,不过很多功能引脚都已经引到了插针.查看原理图可发现,由原理 ...

随机推荐

  1. 关闭linux服务器防火墙

    --全部关闭  systemctl stop firewalld.service  #停止firewallsystemctl disable firewalld.service  #禁止firewal ...

  2. Https网络安全架构设计

    一.对称加密 对称密钥加密(Symmetric-key algorithm)又称对称加密.私钥加密.共享密钥加密,是密码学中的一类加密算法.这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地 ...

  3. 第三章 C#程序结构 (3.3 循环结构)

    (1) while循环 当表达式为真,则执行下面的语句:语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句:然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环. [ ...

  4. MySQL:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

    ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'. 原因是:mysql数据库的user表里,存 ...

  5. 通用路由封装协议——GRE

    一.GRE简介 通用路由封装协议GRE(Generic Routing Encapsulation)可以对某些网络层协议(如IPX.ATM.IPv6.AppleTalk等)的数据报文进行封装,使这些被 ...

  6. c# 使用http摘要认证

    .net 使用http摘要认证,返回json数据 using System; using System.Collections.Generic; using System.Linq; using Sy ...

  7. gridview使用小知识

    1.列改变为select,不能使用gridview.SelectedRow.Cells[0].Text 2.事件执行顺序 RowCommandPageIndexChangingPageIndexCha ...

  8. (转)配置、安装Apache24免装版

    去过官网下载的应该都知道现在apache已经不提供.exe的一键安装程序的形式了,下载到的都只有免安装版本的. 首先下载,不在叙述.下载解压之后会得到如下的目录:. 1.进入:apache24le-- ...

  9. Group(), Groups(),& Groupdict() 用法

    group() 返回一个或多个匹配的字串.如果只有一个参数,结果只有单个字符串:如果有多个参数,结果是一个元组,元组里每一项对应一个参数.没有参数,group1默认是0(整个匹配串被返回).如果gro ...

  10. 报错:Exception in thread "main" java.lang.NoClassDefFoundError: Lorg/apache/hadoop/fs/FileSystem

    报错现象: Exception in thread "main" java.lang.NoClassDefFoundError: Lorg/apache/hadoop/fs/Fil ...