这篇教程C++ GPIO_PORT_VALID函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中GPIO_PORT_VALID函数的典型用法代码示例。如果您正苦于以下问题:C++ GPIO_PORT_VALID函数的具体用法?C++ GPIO_PORT_VALID怎么用?C++ GPIO_PORT_VALID使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了GPIO_PORT_VALID函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: GPIO_DriveModeSet/***************************************************************************//** * @brief * Sets the drive mode for a GPIO port. * * @param[in] port * The GPIO port to access. * * @param[in] mode * Drive mode to use for port. ******************************************************************************/void GPIO_DriveModeSet(GPIO_Port_TypeDef port, GPIO_DriveMode_TypeDef mode){ EFM_ASSERT(GPIO_PORT_VALID(port) && GPIO_DRIVEMODE_VALID(mode)); GPIO->P[port].CTRL = (GPIO->P[port].CTRL & ~(_GPIO_P_CTRL_DRIVEMODE_MASK)) | (mode << _GPIO_P_CTRL_DRIVEMODE_SHIFT);}
开发者ID:glocklueng,项目名称:sash-a300-lab,代码行数:17,
示例2: GPIO_DriveStrengthSet/***************************************************************************//** * @brief * Sets the drive strength for a GPIO port. * * @param[in] port * The GPIO port to access. * * @param[in] strength * Drive strength to use for port. ******************************************************************************/void GPIO_DriveStrengthSet(GPIO_Port_TypeDef port, GPIO_DriveStrength_TypeDef strength){ EFM_ASSERT(GPIO_PORT_VALID(port) && GPIO_STRENGHT_VALID(strength)); BUS_RegMaskedWrite(&GPIO->P[port].CTRL, _GPIO_P_CTRL_DRIVESTRENGTH_MASK | _GPIO_P_CTRL_DRIVESTRENGTHALT_MASK, strength);}
开发者ID:8bitgeek,项目名称:Espruino,代码行数:18,
示例3: GPIO_PinModeSet/***************************************************************************//** * @brief * Set the mode for a GPIO pin. * * @param[in] port * The GPIO port to access. * * @param[in] pin * The pin number in the port. * * @param[in] mode * The desired pin mode. * * @param[in] out * Value to set for pin in DOUT register. The DOUT setting is important for * even some input mode configurations, determining pull-up/down direction. ******************************************************************************/void GPIO_PinModeSet(GPIO_Port_TypeDef port, unsigned int pin, GPIO_Mode_TypeDef mode, unsigned int out){ EFM_ASSERT(GPIO_PORT_VALID(port) && GPIO_PIN_VALID(pin)); /* If disabling pin, do not modify DOUT in order to reduce chance for */ /* glitch/spike (may not be sufficient precaution in all use cases) */ if (mode != gpioModeDisabled) { if (out) { GPIO->P[port].DOUTSET = 1 << pin; } else { GPIO->P[port].DOUTCLR = 1 << pin; } } /* There are two registers controlling the pins for each port. The MODEL * register controls pins 0-7 and MODEH controls pins 8-15. */ if (pin < 8) { GPIO->P[port].MODEL = (GPIO->P[port].MODEL & ~(0xF << (pin * 4))) | (mode << (pin * 4)); } else { GPIO->P[port].MODEH = (GPIO->P[port].MODEH & ~(0xF << ((pin - 8) * 4))) | (mode << ((pin - 8) * 4)); } if (mode == gpioModeDisabled) { if (out) { GPIO->P[port].DOUTSET = 1 << pin; } else { GPIO->P[port].DOUTCLR = 1 << pin; } }}
开发者ID:glocklueng,项目名称:sash-a300-lab,代码行数:63,
示例4: GPIO_IntConfig/***************************************************************************//** * @brief * Configure GPIO interrupt. * * @details * If reconfiguring a GPIO interrupt that is already enabled, it is generally * recommended to disable it first, see GPIO_Disable(). * * The actual GPIO interrupt handler must be in place before enabling the * interrupt. * * Notice that any pending interrupt for the selected pin is cleared by this * function. * * @note * A certain pin number can only be associated with one port. Ie, if GPIO * interrupt 1 is assigned to port A/pin 1, then it is not possibly to use * pin 1 from any other ports for interrupts. Please refer to the reference * manual. * * @param[in] port * The port to associate with @p pin. * * @param[in] pin * The GPIO interrupt number (= port pin). * * @param[in] risingEdge * Set to true if interrupts shall be enabled on rising edge, otherwise false. * * @param[in] fallingEdge * Set to true if interrupts shall be enabled on falling edge, otherwise false. * * @param[in] enable * Set to true if interrupt shall be enabled after configuration completed, * false to leave disabled. See GPIO_IntDisable() and GPIO_IntEnable(). ******************************************************************************/void GPIO_IntConfig(GPIO_Port_TypeDef port, unsigned int pin, bool risingEdge, bool fallingEdge, bool enable){ uint32_t tmp; EFM_ASSERT(GPIO_PORT_VALID(port) && GPIO_PIN_VALID(pin)); /* There are two registers controlling the interrupt configuration: * The EXTIPSELL register controls pins 0-7 and EXTIPSELH controls * pins 8-15. */ if (pin < 8) { GPIO->EXTIPSELL = (GPIO->EXTIPSELL & ~(0xF << (4 * pin))) | (port << (4 * pin)); } else { tmp = pin - 8; GPIO->EXTIPSELH = (GPIO->EXTIPSELH & ~(0xF << (4 * tmp))) | (port << (4 * tmp)); } /* Enable/disable rising edge */ BITBAND_Peripheral(&(GPIO->EXTIRISE), pin, (unsigned int)risingEdge); /* Enable/disable falling edge */ BITBAND_Peripheral(&(GPIO->EXTIFALL), pin, (unsigned int)fallingEdge); /* Clear any pending interrupt */ GPIO->IFC = 1 << pin; /* Finally enable/disable interrupt */ BITBAND_Peripheral(&(GPIO->IEN), pin, (unsigned int)enable);}
开发者ID:glocklueng,项目名称:sash-a300-lab,代码行数:73,
示例5: GPIO_PortOutToggle/***************************************************************************//** * @brief * Toggle a single pin in GPIO port data out register. * * @note * In order for the setting to take effect on the output pad, the pin must * have been configured properly. If not, it will take effect whenever the * pin has been properly configured. * * @param[in] port * The GPIO port to access. * * @param[in] pins * Bitmask with pins to toggle. ******************************************************************************/void GPIO_PortOutToggle(GPIO_Port_TypeDef port, uint32_t pins){ EFM_ASSERT(GPIO_PORT_VALID(port)); GPIO->P[port].DOUTTGL = pins & _GPIO_P_DOUTTGL_DOUTTGL_MASK;}
开发者ID:MtTsai,项目名称:mbed-freertos,代码行数:21,
示例6: GPIO_PortOutSetVal/***************************************************************************//** * @brief * Set GPIO port data out register. * * @note * In order for the setting to take effect on the respective output pads, the * pins must have been configured properly. If not, it will take effect * whenever the pin has been properly configured. * * @param[in] port * The GPIO port to access. * * @param[in] val * Value to write to port data out register. * * @param[in] mask * Mask indicating which bits to modify. ******************************************************************************/void GPIO_PortOutSetVal(GPIO_Port_TypeDef port, uint32_t val, uint32_t mask){ EFM_ASSERT(GPIO_PORT_VALID(port)); GPIO->P[port].DOUT = (GPIO->P[port].DOUT & ~mask) | (val & mask);}
开发者ID:MtTsai,项目名称:mbed-freertos,代码行数:24,
示例7: GPIO_PortOutSet/***************************************************************************//** * @brief * Set bits GPIO data out register to 1. * * @note * In order for the setting to take effect on the respective output pads, the * pins must have been configured properly. If not, it will take effect * whenever the pin has been properly configured. * * @param[in] port * The GPIO port to access. * * @param[in] pins * Bit mask for bits to set to 1 in DOUT register. ******************************************************************************/void GPIO_PortOutSet(GPIO_Port_TypeDef port, uint32_t pins){ EFM_ASSERT(GPIO_PORT_VALID(port)); GPIO->P[port].DOUTSET = pins & _GPIO_P_DOUTSET_DOUTSET_MASK;}
开发者ID:MtTsai,项目名称:mbed-freertos,代码行数:21,
示例8: GPIO_PortOutGet/***************************************************************************//** * @brief * Get current setting for a GPIO port data out register. * * @param[in] port * The GPIO port to access. * * @return * The data out setting for the requested port. ******************************************************************************/uint32_t GPIO_PortOutGet(GPIO_Port_TypeDef port){ EFM_ASSERT(GPIO_PORT_VALID(port)); return(GPIO->P[port].DOUT & _GPIO_P_DOUT_DOUT_MASK);}
开发者ID:MtTsai,项目名称:mbed-freertos,代码行数:16,
示例9: GPIO_PortOutClear/***************************************************************************//** * @brief * Set bits in DOUT register for a port to 0. * * @note * In order for the setting to take effect on the output pad, the pin must * have been configured properly. If not, it will take effect whenever the * pin has been properly configured. * * @param[in] port * The GPIO port to access. * * @param[in] pins * Bit mask for bits to clear in DOUT register. ******************************************************************************/void GPIO_PortOutClear(GPIO_Port_TypeDef port, uint32_t pins){ EFM_ASSERT(GPIO_PORT_VALID(port)); GPIO->P[port].DOUTCLR = pins & _GPIO_P_DOUTCLR_DOUTCLR_MASK;}
开发者ID:MtTsai,项目名称:mbed-freertos,代码行数:21,
示例10: GPIO_PortInGet/***************************************************************************//** * @brief * Read the pad values for GPIO port. * * @param[in] port * The GPIO port to access. ******************************************************************************/uint32_t GPIO_PortInGet(GPIO_Port_TypeDef port){ EFM_ASSERT(GPIO_PORT_VALID(port)); return(GPIO->P[port].DIN & _GPIO_P_DIN_DIN_MASK);}
开发者ID:MtTsai,项目名称:mbed-freertos,代码行数:13,
示例11: GPIO_PinOutToggle/***************************************************************************//** * @brief * Toggle a single pin in GPIO port data out register. * * @note * In order for the setting to take effect on the output pad, the pin must * have been configured properly. If not, it will take effect whenever the * pin has been properly configured. * * @param[in] port * The GPIO port to access. * * @param[in] pin * The pin to toggle. ******************************************************************************/void GPIO_PinOutToggle(GPIO_Port_TypeDef port, unsigned int pin){ EFM_ASSERT(GPIO_PORT_VALID(port) && GPIO_PIN_VALID(pin)); GPIO->P[port].DOUTTGL = 1 << pin;}
开发者ID:MtTsai,项目名称:mbed-freertos,代码行数:21,
示例12: GPIO_PinOutGet/***************************************************************************//** * @brief * Get current setting for a pin in a GPIO port data out register. * * @param[in] port * The GPIO port to access. * * @param[in] pin * The pin to get setting for. * * @return * The DOUT setting for the requested pin, 0 or 1. ******************************************************************************/unsigned int GPIO_PinOutGet(GPIO_Port_TypeDef port, unsigned int pin){ EFM_ASSERT(GPIO_PORT_VALID(port) && GPIO_PIN_VALID(pin)); return((unsigned int)((GPIO->P[port].DOUT >> pin) & 0x1));}
开发者ID:MtTsai,项目名称:mbed-freertos,代码行数:19,
注:本文中的GPIO_PORT_VALID函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ GPIO_PinAFConfig函数代码示例 C++ GPIO_PIN函数代码示例 |