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

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

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

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

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

示例1: stm32_spidev_initialize

void weak_function stm32_spidev_initialize(void){#ifdef CONFIG_STM32_SPI1  (void)stm32_configgpio(GPIO_MEMS_CS);    /* MEMS chip select */  (void)stm32_configgpio(GPIO_MEMS_INT1);  /* MEMS interrupts */  (void)stm32_configgpio(GPIO_MEMS_INT2);#endif}
开发者ID:AlexShiLucky,项目名称:NuttX,代码行数:8,


示例2: irqsave

/* * Initialise the timer we are going to use. */void PWMIN::_timer_init(void){	/* run with interrupts disabled in case the timer is already	 * setup. We don't want it firing while we are doing the setup */	irqstate_t flags = irqsave();	/* configure input pin */	stm32_configgpio(GPIO_PWM_IN);	/* configure reset pin */	stm32_configgpio(GPIO_VDD_RANGEFINDER_EN);	/* claim our interrupt vector */	irq_attach(PWMIN_TIMER_VECTOR, pwmin_tim_isr);	/* Clear no bits, set timer enable bit.*/	modifyreg32(PWMIN_TIMER_POWER_REG, 0, PWMIN_TIMER_POWER_BIT);	/* disable and configure the timer */	rCR1 = 0;	rCR2 = 0;	rSMCR = 0;	rDIER = DIER_PWMIN_A;	rCCER = 0;		/* unlock CCMR* registers */	rCCMR1 = CCMR1_PWMIN;	rCCMR2 = CCMR2_PWMIN;	rSMCR = SMCR_PWMIN_1;	/* Set up mode */	rSMCR = SMCR_PWMIN_2;	/* Enable slave mode controller */	rCCER = CCER_PWMIN;	rDCR = 0;	/* for simplicity scale by the clock in MHz. This gives us	 * readings in microseconds which is typically what is needed	 * for a PWM input driver */	uint32_t prescaler = PWMIN_TIMER_CLOCK / 1000000UL;	/*	 * define the clock speed. We want the highest possible clock	 * speed that avoids overflows.	 */	rPSC = prescaler - 1;	/* run the full span of the counter. All timers can handle	 * uint16 */	rARR = UINT16_MAX;	/* generate an update event; reloads the counter, all registers */	rEGR = GTIM_EGR_UG;	/* enable the timer */	rCR1 = GTIM_CR1_CEN;	/* enable interrupts */	up_enable_irq(PWMIN_TIMER_VECTOR);	irqrestore(flags);	_timer_started = true;}
开发者ID:JW-CHOI,项目名称:Firmware,代码行数:61,


示例3: stm32_ledinit

void stm32_ledinit(void){   /* Configure LED1-4 GPIOs for output */   stm32_configgpio(GPIO_LED1);   stm32_configgpio(GPIO_LED2);   stm32_configgpio(GPIO_LED3);   stm32_configgpio(GPIO_LED4);}
开发者ID:FreddieChopin,项目名称:NuttX,代码行数:9,


示例4: stm32_led_initialize

void stm32_led_initialize(void){  /* Configure LED1-4 GPIOs for output.  Initial state is OFF */  stm32_configgpio(GPIO_LED1);  stm32_configgpio(GPIO_LED2);  stm32_configgpio(GPIO_LED3);  stm32_configgpio(GPIO_LED4);}
开发者ID:acassis,项目名称:ros2_nuttx,代码行数:9,


示例5: board_autoled_initialize

void board_autoled_initialize(void){   /* Configure LED1-4 GPIOs for output */   stm32_configgpio(GPIO_LED1);   stm32_configgpio(GPIO_LED2);   stm32_configgpio(GPIO_LED3);   stm32_configgpio(GPIO_LED4);}
开发者ID:AlexShiLucky,项目名称:NuttX,代码行数:9,


示例6: led_init

__END_DECLS__EXPORT void led_init(){	/* Configure LED1-2 GPIOs for output */	stm32_configgpio(GPIO_LED1);	stm32_configgpio(GPIO_LED2);}
开发者ID:HimanshuKamat,项目名称:Firmware,代码行数:9,


示例7: up_buttoninit

void up_buttoninit(void){  /* Configure the GPIO pins as inputs.  NOTE that EXTI interrupts are    * configured for some pins but NOT used in this file   */  stm32_configgpio(GPIO_BTN_KEY1);  stm32_configgpio(GPIO_BTN_KEY2);}
开发者ID:1015472,项目名称:PX4NuttX,代码行数:9,


示例8: interface_init

voidinterface_init(void){	debug("i2c init");	/* allocate DMA handles and initialise DMA */	rx_dma = stm32_dmachannel(DMACHAN_I2C1_RX);	i2c_rx_setup();	tx_dma = stm32_dmachannel(DMACHAN_I2C1_TX);	i2c_tx_setup();	/* enable the i2c block clock and reset it */	modifyreg32(STM32_RCC_APB1ENR, 0, RCC_APB1ENR_I2C1EN);	modifyreg32(STM32_RCC_APB1RSTR, 0, RCC_APB1RSTR_I2C1RST);	modifyreg32(STM32_RCC_APB1RSTR, RCC_APB1RSTR_I2C1RST, 0);	/* configure the i2c GPIOs */	stm32_configgpio(GPIO_I2C1_SCL);	stm32_configgpio(GPIO_I2C1_SDA);	/* soft-reset the block */	rCR1 |= I2C_CR1_SWRST;	rCR1 = 0;	/* set for DMA operation */	rCR2 |= I2C_CR2_ITEVFEN |I2C_CR2_ITERREN | I2C_CR2_DMAEN;	/* set the frequency value in CR2 */	rCR2 &= ~I2C_CR2_FREQ_MASK;	rCR2 |= STM32_PCLK1_FREQUENCY / 1000000;	/* set divisor and risetime for fast mode */	uint16_t result = STM32_PCLK1_FREQUENCY / (400000 * 25);	if (result < 1)		result = 1;	result = 3;	rCCR &= ~I2C_CCR_CCR_MASK;	rCCR |= I2C_CCR_DUTY | I2C_CCR_FS | result;	rTRISE = (uint16_t)((((STM32_PCLK1_FREQUENCY / 1000000) * 300) / 1000) + 1);	/* set our device address */	rOAR1 = 0x1a << 1;	/* enable event interrupts */	irq_attach(STM32_IRQ_I2C1EV, i2c_interrupt);	irq_attach(STM32_IRQ_I2C1ER, i2c_interrupt);	up_enable_irq(STM32_IRQ_I2C1EV);	up_enable_irq(STM32_IRQ_I2C1ER);	/* and enable the I2C port */	rCR1 |= I2C_CR1_ACK | I2C_CR1_PE;#ifdef DEBUG	i2c_dump();#endif}
开发者ID:SquadroneSystem,项目名称:vrbrain_nuttx,代码行数:56,


示例9: stm32_spiinitialize

void weak_function stm32_spiinitialize(void){#ifdef CONFIG_STM32_SPI1  (void)stm32_configgpio(GPIO_CS_MEMS);#endif#ifdef CONFIG_LCD_UG2864AMBAG01  (void)stm32_configgpio(GPIO_OLED_CS);    /* OLED chip select */  (void)stm32_configgpio(GPIO_OLED_A0);    /* OLED Command/Data */#endif}
开发者ID:andrecurvello,项目名称:NuttX,代码行数:10,


示例10: board_pwr

void board_pwr(bool on_not_off){	if (on_not_off) {		stm32_configgpio(POWER_ON_GPIO);	} else {		stm32_configgpio(POWER_OFF_GPIO);	}}
开发者ID:2013-8-15,项目名称:Firmware,代码行数:10,


示例11: stm32_spiinitialize

__EXPORT void weak_function stm32_spiinitialize(void){#ifdef CONFIG_STM32_SPI1	stm32_configgpio(GPIO_SPI_CS_GYRO);	stm32_configgpio(GPIO_SPI_CS_ACCEL_MAG);	stm32_configgpio(GPIO_SPI_CS_BARO);	stm32_configgpio(GPIO_SPI_CS_MPU);	/* De-activate all peripherals,	 * required for some peripheral	 * state machines	 */	stm32_gpiowrite(GPIO_SPI_CS_GYRO, 1);	stm32_gpiowrite(GPIO_SPI_CS_ACCEL_MAG, 1);	stm32_gpiowrite(GPIO_SPI_CS_BARO, 1);	stm32_gpiowrite(GPIO_SPI_CS_MPU, 1);	stm32_configgpio(GPIO_EXTI_GYRO_DRDY);	stm32_configgpio(GPIO_EXTI_MAG_DRDY);	stm32_configgpio(GPIO_EXTI_ACCEL_DRDY);	stm32_configgpio(GPIO_EXTI_MPU_DRDY);#endif#ifdef CONFIG_STM32_SPI2	stm32_configgpio(GPIO_SPI_CS_FRAM);	stm32_gpiowrite(GPIO_SPI_CS_FRAM, 1);#endif}
开发者ID:3yc,项目名称:PX4Firmware,代码行数:28,


示例12: board_pwr_init

void board_pwr_init(int stage){	if (stage == 0) {		stm32_configgpio(POWER_ON_GPIO);		stm32_configgpio(KEY_AD_GPIO);	}	if (stage == 1) {		stm32_gpiosetevent(KEY_AD_GPIO, true, true, true, board_button_irq);	}}
开发者ID:EugenSol,项目名称:HippoC,代码行数:11,


示例13: stm32_spiinitialize

__EXPORT void weak_function stm32_spiinitialize(void){	stm32_configgpio(GPIO_SPI_CS_FLASH);	stm32_configgpio(GPIO_SPI_CS_SDCARD);		/* De-activate all peripherals,	 * required for some peripheral	 * state machines	 */	stm32_gpiowrite(GPIO_SPI_CS_FLASH, 1);	stm32_gpiowrite(GPIO_SPI_CS_SDCARD, 1);}
开发者ID:sarthakkaingade,项目名称:Firmware_beta,代码行数:12,


示例14: px4_board_pwr

__EXPORT bool px4_board_pwr(bool on_not_off){	if (on_not_off) {		stm32_configgpio(POWER_ON_GPIO);	} else {		stm32_configgpio(POWER_OFF_GPIO);	}	return true;}
开发者ID:FantasyJXF,项目名称:Firmware,代码行数:12,


示例15: stm32_spidev_initialize

void weak_function stm32_spidev_initialize(void){  /* Setup CS */#ifdef CONFIG_STM32_SPI1  stm32_configgpio(USER_CSn);#endif#ifdef CONFIG_STM32_SPI2  stm32_configgpio(MMCSD_CSn);#endif}
开发者ID:acassis,项目名称:ros2_nuttx,代码行数:12,


示例16: stm32_spidev_initialize

void weak_function stm32_spidev_initialize(void){#ifdef CONFIG_STM32_SPI5  (void)stm32_configgpio(GPIO_CS_MEMS);    /* MEMS chip select */  (void)stm32_configgpio(GPIO_CS_LCD);     /* LCD chip select */  (void)stm32_configgpio(GPIO_LCD_DC);     /* LCD Data/Command select */  (void)stm32_configgpio(GPIO_LCD_ENABLE); /* LCD enable select */#endif#if defined(CONFIG_STM32_SPI4) && defined(CONFIG_MTD_SST25XX)  (void)stm32_configgpio(GPIO_CS_SST25);   /* SST25 FLASH chip select */#endif}
开发者ID:a1ien,项目名称:nuttx,代码行数:12,


示例17: stm32_usbinitialize

void stm32_usbinitialize(void){  /* The OTG FS has an internal soft pull-up.  No GPIO configuration is required */  /* Configure the OTG FS VBUS sensing GPIO, Power On, and Overcurrent GPIOs */#ifdef CONFIG_STM32_OTGFS  stm32_configgpio(GPIO_OTGFS_VBUS);  stm32_configgpio(GPIO_OTGFS_PWRON);  stm32_configgpio(GPIO_OTGFS_OVER);#endif}
开发者ID:1015472,项目名称:PX4NuttX,代码行数:12,


示例18: stm32_boardinitialize

void stm32_boardinitialize(void){#if defined(CONFIG_STM32_SPI1) || defined(CONFIG_STM32_SPI2) || defined(CONFIG_STM32_SPI3)  /* Configure SPI chip selects if 1) SPI is not disabled, and 2) the weak function   * stm32_spidev_initialize() has been brought into the link.   */  if (stm32_spidev_initialize)    {      stm32_spidev_initialize();    }#endif#ifdef CONFIG_STM32_OTGFS  /* Initialize USB if the 1) OTG FS controller is in the configuration and 2)   * disabled, and 3) the weak function stm32_usbinitialize() has been brought   * into the build. Presumably either CONFIG_USBDEV or CONFIG_USBHOST is also   * selected.   */  if (stm32_usbinitialize)    {      stm32_usbinitialize();    }#endif#ifdef HAVE_NETMONITOR  /* Configure board resources to support networking. */  if (stm32_netinitialize)    {      stm32_netinitialize();    }#endif#ifdef CONFIG_CANUTILS_UAVCAN  (void)stm32_configgpio(GPIO_CAN1_RX);  (void)stm32_configgpio(GPIO_CAN1_TX);#  if CONFIG_UAVCAN_STM32_NUM_IFACES > 1  (void)stm32_configgpio(GPIO_CAN2_RX);  (void)stm32_configgpio(GPIO_CAN2_TX);#  endif#endif#ifdef CONFIG_ARCH_LEDS  /* Configure on-board LEDs if LED support has been selected. */  board_autoled_initialize();#endif}
开发者ID:acassis,项目名称:ros2_nuttx,代码行数:50,


示例19: stm32_dmachannel

intPX4IO_serial::init(){	/* allocate DMA */	_tx_dma = stm32_dmachannel(PX4IO_SERIAL_TX_DMAMAP);	_rx_dma = stm32_dmachannel(PX4IO_SERIAL_RX_DMAMAP);	if ((_tx_dma == nullptr) || (_rx_dma == nullptr)) {		return -1;	}	/* configure pins for serial use */	stm32_configgpio(PX4IO_SERIAL_TX_GPIO);	stm32_configgpio(PX4IO_SERIAL_RX_GPIO);	/* reset & configure the UART */	rCR1 = 0;	rCR2 = 0;	rCR3 = 0;	/* eat any existing interrupt status */	(void)rSR;	(void)rDR;	/* configure line speed */	uint32_t usartdiv32 = PX4IO_SERIAL_CLOCK / (PX4IO_SERIAL_BITRATE / 2);	uint32_t mantissa = usartdiv32 >> 5;	uint32_t fraction = (usartdiv32 - (mantissa << 5) + 1) >> 1;	rBRR = (mantissa << USART_BRR_MANT_SHIFT) | (fraction << USART_BRR_FRAC_SHIFT);	/* attach serial interrupt handler */	irq_attach(PX4IO_SERIAL_VECTOR, _interrupt);	up_enable_irq(PX4IO_SERIAL_VECTOR);	/* enable UART in DMA mode, enable error and line idle interrupts */	rCR3 = USART_CR3_EIE;	rCR1 = USART_CR1_RE | USART_CR1_TE | USART_CR1_UE | USART_CR1_IDLEIE;	/* create semaphores */	sem_init(&_completion_semaphore, 0, 0);	sem_init(&_bus_semaphore, 0, 1);	/* XXX this could try talking to IO */	return 0;}
开发者ID:JW-CHOI,项目名称:Firmware,代码行数:50,


示例20: stm32_spiinitialize

__EXPORT void stm32_spiinitialize(int mask){#ifdef CONFIG_STM32_SPI1	if (mask & PX4_SPI_BUS_SENSORS) {		stm32_configgpio(GPIO_SPI1_CS_PORTC_PIN2);		stm32_configgpio(GPIO_SPI1_CS_PORTC_PIN15);		stm32_configgpio(GPIO_SPI1_CS_PORTE_PIN15);		stm32_configgpio(GPIO_DRDY_PORTD_PIN15);		stm32_configgpio(GPIO_DRDY_PORTC_PIN14);		stm32_configgpio(GPIO_DRDY_PORTE_PIN12);	}#endif#ifdef CONFIG_STM32_SPI2	if (mask & (PX4_SPI_BUS_RAMTRON | PX4_SPI_BUS_BARO)) {		stm32_configgpio(GPIO_SPI2_CS_MS5611);		stm32_configgpio(GPIO_SPI2_CS_FRAM);	}#endif}
开发者ID:MaEtUgR,项目名称:Firmware,代码行数:26,


示例21: interface_init

voidinterface_init(void){    debug("spi init");        pc_txns = perf_alloc(PC_ELAPSED, "txns");    pc_errors = perf_alloc(PC_COUNT, "errors");    pc_ore = perf_alloc(PC_COUNT, "overrun");    pc_fe = perf_alloc(PC_COUNT, "framing");    pc_ne = perf_alloc(PC_COUNT, "noise");    pc_idle = perf_alloc(PC_COUNT, "idle");    pc_badidle = perf_alloc(PC_COUNT, "badidle");    pc_regerr = perf_alloc(PC_COUNT, "regerr");    pc_crcerr = perf_alloc(PC_COUNT, "crcerr");    /* allocate DMA handles and initialise DMA */    rx_dma = stm32_dmachannel(DMACHAN_SPI3_RX);    tx_dma = stm32_dmachannel(DMACHAN_SPI3_TX);        /* enable the spi block clock and reset it */    modifyreg32(STM32_RCC_APB1ENR, 0, RCC_APB1ENR_SPI3EN);    modifyreg32(STM32_RCC_APB1RSTR, 0, RCC_APB1RSTR_SPI3RST);    modifyreg32(STM32_RCC_APB1RSTR, RCC_APB1RSTR_SPI3RST, 0);        /* configure the spi GPIOs */    stm32_configgpio(RPI_SPI_NSS);    stm32_configgpio(RPI_SPI_SCK);    stm32_configgpio(RPI_SPI_MISO);    stm32_configgpio(RPI_SPI_MOSI);        /* reset and configure the SPI */    rCR1 = SPI_CR1_CPHA | SPI_CR1_CPOL;        /* set for DMA operation */    rCR2 = SPI_CR2_RXDMAEN | SPI_CR2_TXDMAEN | SPI_CR2_ERRIE;        /* enable event interrupts */    irq_attach(STM32_IRQ_SPI3, spi_interrupt);    up_enable_irq(STM32_IRQ_SPI3);        /* configure RX DMA and return to listening state */    dma_reset();        /* and enable the SPI port */    rCR1 |= SPI_CR1_SPE;#ifdef DEBUG	spi_dump();#endif}
开发者ID:ans10528,项目名称:Firmware,代码行数:50,


示例22: stm32_spiinitialize

__EXPORT void stm32_spiinitialize(void){#ifdef CONFIG_STM32_SPI1	stm32_configgpio(GPIO_SPI_CS_MPU9250);	stm32_configgpio(GPIO_SPI_CS_HMC5983);	stm32_configgpio(GPIO_SPI_CS_MS5611);	stm32_configgpio(GPIO_SPI_CS_ICM_20608_G);	/* De-activate all peripherals,	 * required for some peripheral	 * state machines	 */	stm32_gpiowrite(GPIO_SPI_CS_MPU9250, 1);	stm32_gpiowrite(GPIO_SPI_CS_HMC5983, 1);	stm32_gpiowrite(GPIO_SPI_CS_MS5611, 1);	stm32_gpiowrite(GPIO_SPI_CS_ICM_20608_G, 1);	stm32_configgpio(GPIO_DRDY_MPU9250);	stm32_configgpio(GPIO_DRDY_HMC5983);	stm32_configgpio(GPIO_DRDY_ICM_20608_G);#endif#ifdef CONFIG_STM32_SPI2	stm32_configgpio(GPIO_SPI_CS_FRAM);	stm32_gpiowrite(GPIO_SPI_CS_FRAM, 1);#endif}
开发者ID:1002victor,项目名称:Firmware,代码行数:28,


示例23: stm32_spidev_initialize

void weak_function stm32_spidev_initialize(void){  /* NOTE: Clocking for SPI3 was already provided in stm32_rcc.c.   *       Configurations of SPI pins is performed in stm32_spi.c.   *       Here, we only initialize chip select pins unique to the board   *       architecture.   */  /* Configure ENCX24J600 SPI1 CS (also RESET and interrupt pins) */#if defined(CONFIG_ENCX24J600) && defined(CONFIG_STM32_SPI3)  stm32_configgpio(GPIO_ENCX24J600_CS);  stm32_configgpio(GPIO_ENCX24J600_INTR);#endif}
开发者ID:acassis,项目名称:ros2_nuttx,代码行数:15,


示例24: px4fmu_gpio_init

voidpx4fmu_gpio_init(void){	/* set up GPIOs */	stm32_configgpio(GPIO_GPIO_DIR);	stm32_configgpio(GPIO_GPIO0_INPUT);	stm32_configgpio(GPIO_GPIO1_INPUT);#ifdef CONFIG_PX4_UART2_RTS_CTS_AS_GPIO	stm32_configgpio(GPIO_GPIO2_INPUT);	stm32_configgpio(GPIO_GPIO3_INPUT);#endif	/* register the driver */	register_driver("/dev/gpio", &px4fmu_gpio_fops, 0666, NULL);}
开发者ID:aliniger,项目名称:Firmware_orca,代码行数:15,


示例25: stm32_spiinitialize

void weak_function stm32_spiinitialize(void){  /* NOTE: Clocking for SPI1 and/or SPI2 and SPI3 was already provided in stm32_rcc.c.   *       Configurations of SPI pins is performed in stm32_spi.c.   *       Here, we only initialize chip select pins unique to the board architecture.   */   #ifdef CONFIG_STM32_SPI2    stm32_configgpio(GPIO_CC1101_CS);#endif#ifdef CONFIG_STM32_SPI3    stm32_configgpio(GPIO_FRAM_CS);#endif}
开发者ID:LindaLovelace,项目名称:nuttx-stm32f4disc-bb,代码行数:15,


示例26: gpioReset

  void gpioReset(void)  {    /*     * Setup default GPIO config - all pins as GPIOs, input if     * possible otherwise output if possible.     */    for (unsigned gpio_i = 0; gpio_i < ngpio; gpio_i++) {      if (gpio_tab[gpio_i].input != 0) {        stm32_configgpio(gpio_tab[gpio_i].input);      } else if (gpio_tab[gpio_i].output != 0) {        stm32_configgpio(gpio_tab[gpio_i].output);      }    }  }
开发者ID:jonbinney,项目名称:bbot,代码行数:15,


示例27: defined

voidPX4FMU::gpio_set_function(uint32_t gpios, int function){#if defined(CONFIG_ARCH_BOARD_PX4FMU_V1)	/*	 * GPIOs 0 and 1 must have the same direction as they are buffered	 * by a shared 2-port driver.  Any attempt to set either sets both.	 */	if (gpios & 3) {		gpios |= 3;		/* flip the buffer to output mode if required */		if (GPIO_SET_OUTPUT == function)			stm32_gpiowrite(GPIO_GPIO_DIR, 1);	}#endif	/* configure selected GPIOs as required */	for (unsigned i = 0; i < _ngpio; i++) {		if (gpios & (1 << i)) {			switch (function) {			case GPIO_SET_INPUT:				stm32_configgpio(_gpio_tab[i].input);				break;			case GPIO_SET_OUTPUT:				stm32_configgpio(_gpio_tab[i].output);				break;			case GPIO_SET_ALT_1:				if (_gpio_tab[i].alt != 0)					stm32_configgpio(_gpio_tab[i].alt);				break;			}		}	}#if defined(CONFIG_ARCH_BOARD_PX4FMU_V1)	/* flip buffer to input mode if required */	if ((GPIO_SET_INPUT == function) && (gpios & 3))		stm32_gpiowrite(GPIO_GPIO_DIR, 0);#endif}
开发者ID:Bjarne-Madsen,项目名称:Firmware,代码行数:48,


示例28: pwm_channel_init

static voidpwm_channel_init(unsigned channel){	unsigned timer = pwm_channels[channel].timer_index;	/* configure the GPIO first */	stm32_configgpio(pwm_channels[channel].gpio);	/* configure the channel */	switch (pwm_channels[channel].timer_channel) {	case 1:		rCCMR1(timer) |= (GTIM_CCMR_MODE_PWM1 << GTIM_CCMR1_OC1M_SHIFT) | GTIM_CCMR1_OC1PE;		rCCR1(timer) = pwm_channels[channel].default_value;		rCCER(timer) |= GTIM_CCER_CC1E;		break;	case 2:		rCCMR1(timer) |= (GTIM_CCMR_MODE_PWM1 << GTIM_CCMR1_OC2M_SHIFT) | GTIM_CCMR1_OC2PE;		rCCR2(timer) = pwm_channels[channel].default_value;		rCCER(timer) |= GTIM_CCER_CC2E;		break;	case 3:		rCCMR2(timer) |= (GTIM_CCMR_MODE_PWM1 << GTIM_CCMR2_OC3M_SHIFT) | GTIM_CCMR2_OC3PE;		rCCR3(timer) = pwm_channels[channel].default_value;		rCCER(timer) |= GTIM_CCER_CC3E;		break;	case 4:		rCCMR2(timer) |= (GTIM_CCMR_MODE_PWM1 << GTIM_CCMR2_OC4M_SHIFT) | GTIM_CCMR2_OC4PE;		rCCR4(timer) = pwm_channels[channel].default_value;		rCCER(timer) |= GTIM_CCER_CC4E;		break;	}}
开发者ID:Nox997,项目名称:Firmware,代码行数:35,


示例29: led_init

__EXPORT void led_init(void){	/* Configure LED1-2 GPIOs for output */	for (size_t l = 0; l < arraySize(g_ledmap); l++) {		stm32_configgpio(g_ledmap[l]);	}}
开发者ID:Aerovinci,项目名称:Firmware,代码行数:7,


示例30: stm32_adc_setup

int stm32_adc_setup(void){  static bool initialized = false;  uint8_t channel[1] = {10};  struct adc_dev_s *adc;  int rv;  if (initialized)    {      return OK;    }  ainfo("INFO: Initializing ADC12_IN10/n");  stm32_configgpio(GPIO_ADC12_IN10);  if ((adc = stm32_adcinitialize(1, channel, 1)) == NULL)    {      aerr("ERROR: Failed to get adc interface/n");      return -ENODEV;    }  if ((rv = adc_register("/dev/adc0", adc)) < 0)    {      aerr("ERROR: adc_register failed: %d/n", rv);      return rv;    }  initialized = true;  ainfo("INFO: ADC12_IN10 initialized succesfully/n");  return OK;}
开发者ID:AlexShiLucky,项目名称:NuttX,代码行数:30,



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


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