您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ stm32_gpioread函数代码示例

51自学网 2021-06-03 08:23:52
  C++
这篇教程C++ stm32_gpioread函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中stm32_gpioread函数的典型用法代码示例。如果您正苦于以下问题:C++ stm32_gpioread函数的具体用法?C++ stm32_gpioread怎么用?C++ stm32_gpioread使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了stm32_gpioread函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: hrt_absolute_time

voidADC::update_system_power(void){#ifdef CONFIG_ARCH_BOARD_PX4FMU_V2	system_power_s system_power;	system_power.timestamp = hrt_absolute_time();	system_power.voltage5V_v = 0;	for (unsigned i = 0; i < _channel_count; i++) {		if (_samples[i].am_channel == 4) {			// it is 2:1 scaled			system_power.voltage5V_v = _samples[i].am_data * (6.6f / 4096);		}	}	// these are not ADC related, but it is convenient to	// publish these to the same topic	system_power.usb_connected = stm32_gpioread(GPIO_OTGFS_VBUS);	// note that the valid pins are active low	system_power.brick_valid   = !stm32_gpioread(GPIO_VDD_BRICK_VALID);	system_power.servo_valid   = !stm32_gpioread(GPIO_VDD_SERVO_VALID);	// OC pins are active low	system_power.periph_5V_OC  = !stm32_gpioread(GPIO_VDD_5V_PERIPH_OC);	system_power.hipower_5V_OC = !stm32_gpioread(GPIO_VDD_5V_HIPOWER_OC);	/* lazily publish */	if (_to_system_power > 0) {		orb_publish(ORB_ID(system_power), _to_system_power, &system_power);	} else {		_to_system_power = orb_advertise(ORB_ID(system_power), &system_power);	}#endif // CONFIG_ARCH_BOARD_PX4FMU_V2}
开发者ID:dhirajdhule,项目名称:pandapilot_v4,代码行数:35,


示例2: led_toggle

__EXPORT void led_toggle(int led){	switch (led) {	case 0:		if (stm32_gpioread(GPIO_LED0)) {			stm32_gpiowrite(GPIO_LED0, false);		} else {			stm32_gpiowrite(GPIO_LED0, true);		}		break;	case 1:		if (stm32_gpioread(GPIO_LED1)) {			stm32_gpiowrite(GPIO_LED1, false);		} else {			stm32_gpiowrite(GPIO_LED1, true);		}		break;	default:		warnx("LED ID not recognized/n");	}}
开发者ID:1002victor,项目名称:Firmware,代码行数:27,


示例3: up_read_inputs

uint8_t up_read_inputs(void){  uint8_t bits = 0;  bits |= stm32_gpioread(GPIO_D14) == 0 ? 1 : 0;  bits |= stm32_gpioread(GPIO_D15) == 0 ? 2 : 0;  bits |= stm32_gpioread(GPIO_A2)  == 0 ? 4 : 0;  bits |= stm32_gpioread(GPIO_A3)  == 0 ? 8 : 0;  return bits;}
开发者ID:a1ien,项目名称:nuttx,代码行数:9,


示例4: board_buttons

uint8_t board_buttons(void){  uint8_t ret = 0;  int i;  /* Check that state of each key */  for (i = 0; i < NUM_BUTTONS; i++)    {       /* A LOW value means that the key is pressed for most keys.  The exception        * is the WAKEUP button.        */       bool released = stm32_gpioread(g_buttons[i]);       if (i == BUTTON_WAKEUP)         {           released = !released;         }       /* Accumulate the set of depressed (not released) keys */       if (!released)         {            ret |= (1 << i);         }    }  return ret;}
开发者ID:FreddieChopin,项目名称:NuttX,代码行数:29,


示例5: board_peripheral_reset

__END_DECLS/**************************************************************************** * Protected Functions ****************************************************************************//**************************************************************************** * Public Functions ****************************************************************************//************************************************************************************ * Name: board_peripheral_reset * * Description: * ************************************************************************************/__EXPORT void board_peripheral_reset(int ms){	bool last = stm32_gpioread(GPIO_SPEKTRUM_PWR_EN);	/* Keep Spektum on to discharge rail*/	stm32_gpiowrite(GPIO_SPEKTRUM_PWR_EN, 1);	/* wait for the peripheral rail to reach GND */	usleep(ms * 1000);	warnx("reset done, %d ms", ms);	/* re-enable power */	/* switch the peripheral rail back on */	stm32_gpiowrite(GPIO_SPEKTRUM_PWR_EN, last);}
开发者ID:alsaibie,项目名称:Firmware_Dolphin,代码行数:29,


示例6: spwrm_get_current

/** * @brief           Measure the current consumption of a given spring. * @return          current consumption of a given spring (in microamps) * warning          'spring' index starts at 1, not 0. * @param[in]       spring: selected spring ([1..SPRING_COUNT]) * @param[out]      uA: selected spring current measurement, in microamps) */int spwrm_get_current(uint8_t spring, int32_t *uA){    int ret;    uint8_t adc, chan;    uint32_t spin, uV;    CHECK_SPRING(spring);    CHECK_NULL_ARG(uA);    adc = spwrm_get_adc_device(spring);    chan = spwrm_get_adc_channel(spring);    spin = spwrm_get_sign_pin(spring);    *uA = 0;    ret = adc_get_data(adc, chan, &uV);    if (ret) {        dbg_error("%s(): failed to get %s data! (%d)/n", __func__,                  spwrm_get_name(spring), ret);        return ret;    }    /* Convert to uV */    uV = adc_get_uV(uV);    /* Get data sign */    if (stm32_gpioread(spin) == 0) {        dbg_verbose("%s(): pin=0 => sign=-/n", __func__);        *uA = -((int32_t) max9929f_get_Iload(uV));    } else {        dbg_verbose("%s(): pin=1 => sign=+/n", __func__);        *uA = (int32_t) max9929f_get_Iload(uV);    }    dbg_verbose("%s(): measured voltage=%uuV => current=%duA/n",                __func__, uV, *uA);    return 0;}
开发者ID:alexlotw,项目名称:nuttx,代码行数:42,


示例7: stm32_sdio_initialize

int stm32_sdio_initialize(void){  int ret;#ifdef HAVE_NCD  /* Card detect */  bool cd_status;  /* Configure the card detect GPIO */  stm32_configgpio(GPIO_SDMMC1_NCD);  /* Register an interrupt handler for the card detect pin */  (void)stm32_gpiosetevent(GPIO_SDMMC1_NCD, true, true, true,                           stm32_ncd_interrupt, NULL);#endif  /* Mount the SDIO-based MMC/SD block driver */  /* First, get an instance of the SDIO interface */  finfo("Initializing SDIO slot %d/n", SDIO_SLOTNO);  g_sdio_dev = sdio_initialize(SDIO_SLOTNO);  if (!g_sdio_dev)    {      ferr("ERROR: Failed to initialize SDIO slot %d/n", SDIO_SLOTNO);      return -ENODEV;    }  /* Now bind the SDIO interface to the MMC/SD driver */  finfo("Bind SDIO to the MMC/SD driver, minor=%d/n", SDIO_MINOR);  ret = mmcsd_slotinitialize(SDIO_MINOR, g_sdio_dev);  if (ret != OK)    {      ferr("ERROR: Failed to bind SDIO to the MMC/SD driver: %d/n", ret);      return ret;    }  finfo("Successfully bound SDIO to the MMC/SD driver/n");#ifdef HAVE_NCD  /* Use SD card detect pin to check if a card is g_sd_inserted */  cd_status = !stm32_gpioread(GPIO_SDMMC1_NCD);  finfo("Card detect : %d/n", cd_status);  sdio_mediachange(g_sdio_dev, cd_status);#else  /* Assume that the SD card is inserted.  What choice do we have? */  sdio_mediachange(g_sdio_dev, true);#endif  return OK;}
开发者ID:AlexShiLucky,项目名称:NuttX,代码行数:59,


示例8: board_buttons

uint32_t board_buttons(void){  uint32_t ret = 0;  ret = (stm32_gpioread(g_buttons[i]) == false ? 1 : 0);  return ret;}
开发者ID:AlexShiLucky,项目名称:NuttX,代码行数:8,


示例9: led_toggle

__EXPORT void led_toggle(int led){	if (led == 0)	{		if (stm32_gpioread(GPIO_LED1))			stm32_gpiowrite(GPIO_LED1, false);		else			stm32_gpiowrite(GPIO_LED1, true);	}	if (led == 1)	{		if (stm32_gpioread(GPIO_LED2))			stm32_gpiowrite(GPIO_LED2, false);		else			stm32_gpiowrite(GPIO_LED2, true);	}}
开发者ID:sarthakkaingade,项目名称:Firmware_beta,代码行数:17,


示例10: led_toggle

__EXPORT void led_toggle(int led){	const uint32_t param = _led_param_get(led);	if (param) {		stm32_gpiowrite(param, !stm32_gpioread(param));	}}
开发者ID:Aerovinci,项目名称:Firmware,代码行数:8,


示例11: board_buttons

uint8_t board_buttons(void){  /* Check that state of each USER button. A LOW value means that the key is   * pressed.   */  bool released = stm32_gpioread(GPIO_BTN_USER);  return !released;}
开发者ID:a1ien,项目名称:nuttx,代码行数:9,


示例12: up_buttons

uint8_t up_buttons(void){  uint8_t ret = 0;  /* Check that state of each key.  A LOW value means that the key is pressed, */  if (!stm32_gpioread(GPIO_BTN_KEY1))    {      ret |= BUTTON_KEY1_BIT;    }  if (!stm32_gpioread(GPIO_BTN_KEY2))    {      ret |= BUTTON_KEY2_BIT;    }  return ret;}
开发者ID:1015472,项目名称:PX4NuttX,代码行数:18,


示例13:

uint32_tPX4FMU::gpio_read(void){	uint32_t bits = 0;	for (unsigned i = 0; i < _ngpio; i++)		if (stm32_gpioread(_gpio_tab[i].input))			bits |= (1 << i);	return bits;}
开发者ID:Bjarne-Madsen,项目名称:Firmware,代码行数:11,


示例14: buzzer_toggle

__EXPORT void buzzer_toggle(int buzzer){	if (buzzer == 0)	{#if defined(GPIO_BUZZER)		if (stm32_gpioread(GPIO_BUZZER))			stm32_gpiowrite(GPIO_BUZZER, false);		else			stm32_gpiowrite(GPIO_BUZZER, true);#endif	}}
开发者ID:ljwang1102,项目名称:PX4Firmware,代码行数:12,


示例15: determin_hw_version

static int determin_hw_version(int *version, int *revision){	*revision = 0; /* default revision */	int rv = 0;	int pos = 0;	stm32_configgpio(GPIO_PULLDOWN | (HW_VER_PB4 & ~GPIO_PUPD_MASK));	up_udelay(10);	rv |= stm32_gpioread(HW_VER_PB4) << pos++;	stm32_configgpio(HW_VER_PB4);	up_udelay(10);	rv |= stm32_gpioread(HW_VER_PB4) << pos++;	int votes = 16;	int ones[2] = {0, 0};	int zeros[2] = {0, 0};	while (votes--) {		stm32_configgpio(GPIO_PULLDOWN | (HW_VER_PB12 & ~GPIO_PUPD_MASK));		up_udelay(10);		stm32_gpioread(HW_VER_PB12) ? ones[0]++ : zeros[0]++;		stm32_configgpio(HW_VER_PB12);		up_udelay(10);		stm32_gpioread(HW_VER_PB12) ? ones[1]++ : zeros[1]++;	}	if (ones[0] > zeros[0]) {		rv |= 1 << pos;	}	pos++;	if (ones[1] > zeros[1]) {		rv |= 1 << pos;	}	stm32_configgpio(HW_VER_PB4_INIT);	stm32_configgpio(HW_VER_PB12_INIT);	*version = rv;	return OK;}
开发者ID:vivienJ,项目名称:Firmware,代码行数:40,


示例16: board_buttons

uint8_t board_buttons(void){  uint8_t ret = 0;  /* Check that state of each key */  if (!stm32_gpioread(g_buttons[BUTTON_BUT]))    {      ret |= BUTTON_BUT_BIT;    }  return ret;}
开发者ID:Nuages,项目名称:terrarium_2015,代码行数:13,


示例17: stm32_spi1status

uint8_t stm32_spi1status(FAR struct spi_dev_s *dev, enum spi_dev_e devid){  /* The card detect pin is pulled up so that we detect the presence of a card   * by see a low value on the input pin.   */  if (stm32_gpioread(GPIO_SD_CD))    {      return 0;    }  return SPI_STATUS_PRESENT;}
开发者ID:FreddieChopin,项目名称:NuttX,代码行数:13,


示例18: stm32_ncd_interrupt

static int stm32_ncd_interrupt(int irq, FAR void *context){  bool present;  present = !stm32_gpioread(GPIO_SDMMC1_NCD);  if (g_sdio_dev && present != g_sd_inserted)    {      sdio_mediachange(g_sdio_dev, present);      g_sd_inserted = present;    }  return OK;}
开发者ID:AlexShiLucky,项目名称:NuttX,代码行数:13,


示例19: nsh_archinitialize

int nsh_archinitialize(void){#ifdef NSH_HAVEMMCSD  int ret;  /* Card detect */  bool cd_status;  /* Configure the card detect GPIO */  stm32_configgpio(GPIO_SD_CD);  /* Register an interrupt handler for the card detect pin */  stm32_gpiosetevent(GPIO_SD_CD, true, true, true, nsh_cdinterrupt);  /* Mount the SDIO-based MMC/SD block driver */  /* First, get an instance of the SDIO interface */  message("nsh_archinitialize: Initializing SDIO slot %d/n",          CONFIG_NSH_MMCSDSLOTNO);  g_sdiodev = sdio_initialize(CONFIG_NSH_MMCSDSLOTNO);  if (!g_sdiodev)    {      message("nsh_archinitialize: Failed to initialize SDIO slot %d/n",              CONFIG_NSH_MMCSDSLOTNO);      return -ENODEV;    }  /* Now bind the SDIO interface to the MMC/SD driver */  message("nsh_archinitialize: Bind SDIO to the MMC/SD driver, minor=%d/n",          CONFIG_NSH_MMCSDMINOR);  ret = mmcsd_slotinitialize(CONFIG_NSH_MMCSDMINOR, g_sdiodev);  if (ret != OK)    {      message("nsh_archinitialize: Failed to bind SDIO to the MMC/SD driver: %d/n", ret);      return ret;    }  dbg("nsh_archinitialize: Successfully bound SDIO to the MMC/SD driver/n");  /* Use SD card detect pin to check if a card is inserted */  cd_status = !stm32_gpioread(GPIO_SD_CD);  vdbg("Card detect : %hhu/n", cd_status);  sdio_mediachange(g_sdiodev, cd_status);#endif  return OK;}
开发者ID:KimMui,项目名称:i2sTest,代码行数:51,


示例20: defined

voidADC::update_system_power(hrt_abstime now){#if defined (CONFIG_ARCH_BOARD_PX4FMU_V2) || /    defined (CONFIG_ARCH_BOARD_MINDPX_V2) || /    defined (CONFIG_ARCH_BOARD_PX4FMU_V4)	system_power_s system_power = {};	system_power.timestamp = now;	system_power.voltage5V_v = 0;	for (unsigned i = 0; i < _channel_count; i++) {		if (_samples[i].am_channel == ADC_5V_RAIL_SENSE) {			// it is 2:1 scaled			system_power.voltage5V_v = _samples[i].am_data * (6.6f / 4096);		}	}	// these are not ADC related, but it is convenient to	// publish these to the same topic	system_power.usb_connected = stm32_gpioread(GPIO_OTGFS_VBUS);#if defined (CONFIG_ARCH_BOARD_MINDPX_V2)	// note that the valid pins are active low	system_power.brick_valid   = 1;	system_power.servo_valid   = 1;	// OC pins are active low	system_power.periph_5V_OC  = 1;	system_power.hipower_5V_OC = 1;#elif defined (CONFIG_ARCH_BOARD_PX4FMU_V4)	// note that the valid pins are active high	system_power.brick_valid   = stm32_gpioread(GPIO_VDD_BRICK_VALID);	system_power.servo_valid   = 1;	// OC pins are not supported	system_power.periph_5V_OC  = 0;	system_power.hipower_5V_OC = 0;#else	// note that the valid pins are active low	system_power.brick_valid   = !stm32_gpioread(GPIO_VDD_BRICK_VALID);	system_power.servo_valid   = !stm32_gpioread(GPIO_VDD_SERVO_VALID);	// OC pins are active low	system_power.periph_5V_OC  = !stm32_gpioread(GPIO_VDD_5V_PERIPH_OC);	system_power.hipower_5V_OC = !stm32_gpioread(GPIO_VDD_5V_HIPOWER_OC);#endif	/* lazily publish */	if (_to_system_power != nullptr) {		orb_publish(ORB_ID(system_power), _to_system_power, &system_power);	} else {		_to_system_power = orb_advertise(ORB_ID(system_power), &system_power);	}#endif // CONFIG_ARCH_BOARD_PX4FMU_V2}
开发者ID:27Seanerz,项目名称:Firmware,代码行数:58,


示例21: _bootloader_force_pin_callback

__END_DECLS/**************************************************************************** * Private Functions ****************************************************************************/static int _bootloader_force_pin_callback(int irq, void *context){	if (stm32_gpioread(GPIO_FORCE_BOOTLOADER)) {		up_systemreset();	}	return 0;}
开发者ID:ArduPilot,项目名称:PX4Firmware,代码行数:14,


示例22: nsh_cdinterrupt

static int nsh_cdinterrupt(int irq, FAR void *context){  static bool inserted = 0xff; /* Impossible value */  bool present;  present = !stm32_gpioread(GPIO_SD_CD);  if (present != inserted)    {      sdio_mediachange(g_sdiodev, present);      inserted = present;    }  return OK;}
开发者ID:KimMui,项目名称:i2sTest,代码行数:14,


示例23: stm32_spi2select

void stm32_spi2select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){    spidbg("devid: %d CS: %s/n", (int)devid, selected ? "assert" : "de-assert");        if (devid == SPIDEV_WIRELESS) {            stm32_gpiowrite(GPIO_CC1101_CS, !selected);        /* Wait for MISO to go low, indicates that Quart has stabilized */        if (selected) {            while( stm32_gpioread(GPIO_SPI2_MISO) ) up_waste();        }            }}
开发者ID:LindaLovelace,项目名称:nuttx-stm32f4disc-bb,代码行数:15,


示例24: stm32_gpio_get

static uint8_t stm32_gpio_get(void *driver_data, uint8_t pin){    uint32_t cfgset;    int ret;    lldbg("%s: pin=%hhu/n", __func__, pin);    ret = map_pin_nr_to_cfgset(pin, &cfgset);    if (ret) {        lldbg("%s: Invalid pin %hhu/n", pin);        return -EINVAL;    }    return stm32_gpioread(cfgset);}
开发者ID:ChrisMyerchin,项目名称:nuttx,代码行数:15,


示例25: stm32_spi3status

uint8_t stm32_spi3status(FAR struct spi_dev_s *dev, enum spi_dev_e devid){  uint8_t ret = 0;#if defined(CONFIG_MMCSD)  if (devid == SPIDEV_MMCSD)    {      /* A low value indicates the card is present */      if (!stm32_gpioread(GPIO_SD_CD))        {          ret = SPI_STATUS_PRESENT;        }    }#endif  return ret;}
开发者ID:a1ien,项目名称:nuttx,代码行数:18,


示例26: sif_gpio2_update

void sif_gpio2_update(void){    uint32_t val;    switch(vsn_sif.gpio[1]) {        case VSN_SIF_GPIO_HIGHZ:    val = GPIO_GP2_HIZ; break;        case VSN_SIF_GPIO_PULLUP:   val = GPIO_GP2_PUP; break;        case VSN_SIF_GPIO_PULLDOWN: val = GPIO_GP2_PDN; break;        case VSN_SIF_GPIO_OUTLOW:   val = GPIO_GP2_LOW; break;        case VSN_SIF_GPIO_OUTHIGH:  val = GPIO_GP2_HIGH;break;        default: return;    }    if (stm32_configgpio(val) == ERROR)        printf("Error updating2/n");    if (stm32_gpioread(val))        vsn_sif.gpio[1] |= VSN_SIF_GPIO_READ_MASK;    else vsn_sif.gpio[1] &= ~VSN_SIF_GPIO_READ_MASK;}
开发者ID:Nuages,项目名称:terrarium_2015,代码行数:19,


示例27: up_buttons

uint8_t up_buttons(void){  uint8_t ret = 0;  int i;  /* Check that state of each key */  for (i = 0; i < NUM_BUTTONS; i++)    {       /* A LOW value means that the key is pressed */       if (!stm32_gpioread(g_buttons[i]))         {           ret |= (1 << i);         }    }  return ret;}
开发者ID:l--putt,项目名称:nuttx-bb,代码行数:19,


示例28: ajoy_buttons

static ajoy_buttonset_t ajoy_buttons(FAR const struct ajoy_lowerhalf_s *lower){  ajoy_buttonset_t ret = 0;  int i;  /* Read each joystick GPIO value */  for (i = 0; i < AJOY_NGPIOS; i++)    {      /* Button outputs are pulled high. So a sensed low level means that the       * button is pressed.       */      if (!stm32_gpioread(g_joygpio[i]))        {          ret |= (1 << i);        }    }  iinfo("Returning: %02x/n", ret);  return ret;}
开发者ID:AlexShiLucky,项目名称:NuttX,代码行数:22,


示例29: read_hwid_bit

static bool read_hwid_bit(uint32_t gpio){    bool level;    /*     * Configure the pin as input pull-up. A '0' state if forced by installing     * a pull-down resistor.     */    stm32_configgpio(gpio | GPIO_PULLUP);    /* Read level */    level = stm32_gpioread(gpio);    /*     * To minimize power consumption, if level reads '0' configure the pin     * as input pull-down.     */    if (!level) {        stm32_configgpio(gpio | GPIO_PULLDOWN);    }    return level;}
开发者ID:JasonHung,项目名称:nuttx,代码行数:23,


示例30: up_buttons

uint8_t up_buttons(void){  uint8_t ret = 0;  int i;  /* Check that state of each key */  for (i = 0; i < NUM_BUTTONS; i++)    {       /* A LOW value means that the key is pressed.        */       bool released = stm32_gpioread(g_buttons[i]);       /* Accumulate the set of depressed (not released) keys */       if (!released)         {            ret |= (1 << i);         }    }  return ret;}
开发者ID:aliniger,项目名称:px4_nxbuilder_orca,代码行数:24,



注:本文中的stm32_gpioread函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ stm32_gpiowrite函数代码示例
C++ stm32_configgpio函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。