当前位置: 首页>>代码示例>>C++>>正文


C++ GPIO_Write函数代码示例

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


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

示例1: LCD_write_data

void LCD_write_data(unsigned char Recdata) //写数据
{
    uint16_t PORT_DATA, tmpCmd = 0;
    Delay_1ms(2);

    //LCD1602_RS=1; //RS=1
    GPIO_SetBits(LCD1602_RS_PORT, LCD1602_RS_PIN);
    Delay_1ms(2);

    PORT_DATA = GPIO_ReadInputData(LCD1602_DB_PORT);
    PORT_DATA &= (~LCD1602_DB_MASK);

    tmpCmd = (uint16_t)(LCD_SWAP_High4Bits(Recdata) & 0xf0) << 2;
    PORT_DATA |= tmpCmd;
    GPIO_Write(LCD1602_DB_PORT, PORT_DATA);		//    写高四位
    //LCD_DATA&=0X0f; //    清高四位
    //LCD_DATA|=Recdata&0xf0; //    写高四位

    LCD_en_write();

    Recdata=Recdata<<4; //    低四位移到高四位

    PORT_DATA = GPIO_ReadInputData(LCD1602_DB_PORT);
    PORT_DATA &= (~LCD1602_DB_MASK);

    tmpCmd = 0;
    tmpCmd = (uint16_t)(LCD_SWAP_High4Bits(Recdata) & 0xf0) << 2;
    PORT_DATA |= tmpCmd;
    GPIO_Write(LCD1602_DB_PORT, PORT_DATA);   //    写低四位
    //LCD_DATA&=0X0f; //    清高四位
    //LCD_DATA|=Recdata&0xf0; //    写低四位

    LCD_en_write();
}
开发者ID:xiamin,项目名称:TA_D,代码行数:34,代码来源:tad_LCD.c

示例2: DisplayDigit

void DisplayDigit( uint8_t digit, uint8_t value, uint8_t dp  )  //digit: melyik kijelzõre írjuk az adatot, értéke:0...5)
{                                                              //value:0,1,...,F kijelzendõ szám; dp:0->nincs tizedespont 1->van
	uint16_t portval;

	uint16_t select=digit<<13;           //shiftelés  7sel0,..,7sel2: PB13,..PB15; a 16 bites port felsõ 3 bitjét állítjuk, ezért select értéke 13-mal shiftelve van fölfele select: abcxxxxxxxxxxxxx a,b,c az értékes bit
	uint16_t data=SegmentTable[value];   //kiválasztjuk a tömbbõl a kiküldendõ adatot, a kijelzendõ szám(value) alapján
		     data<<=8;                           //shiftelés 0xab00 DB0..DB7->PE8..Pe15: E port felsõ 8 bitje, ezért shiftejük 8-cal az értéket

	 GPIO_ResetBits(GPIOB,GPIO_Pin_8);       //7seg_clk lefutó él (D flipflophoz)

	 portval=GPIO_ReadOutputData(GPIOB);     //kiolvassuk a B port jelenlegi értékét (select itt kerül a port lábaira
	 portval&=0x1FFF;                        //port többi bitjét ne piszkáljuk, ezért a felsõ 3 bitet(13,14,15) kinulázzuk, a többi értékénél marad
	 portval|=select;                        //select értékét átmentjük a port felsõ 3 bitjébe (select alsó 13 bitje 0)
	 GPIO_Write(GPIOB,portval);              //kiküldjük az adatot a B portra (7sel0,7sel1,7sel2 értéket kap, amik demuxon keresztül kiválasztanak egy db kijelzõt, amit meghajtunk)

	 portval=GPIO_ReadOutputData(GPIOE);    //hasonlóan az E portnál is
	 portval&=0x00FF;                       //alsó 8 bitet változatlanul kell visszaírni
	 portval|=data;                        //data értéke bekerül a port felsõ 8 bitjébe
	 GPIO_Write(GPIOE,portval);            //adatkiírás


	 if(dp) GPIO_SetBits(GPIOE,GPIO_Pin_15);   //ha kell tizedespont, állítjuk a megfelelõ lábat
	 else   GPIO_ResetBits(GPIOE,GPIO_Pin_15);

	 GPIO_SetBits(GPIOB,GPIO_Pin_8);              //7seg_clk felfutó él-> D-flipflop kimenetén megjelenik az adat
	 GPIO_ResetBits(GPIOE,GPIO_Pin_7);           //#7sen: engedélyezzük a demux-t és D-flipflop-ot (low active)

}
开发者ID:muszkab,项目名称:Stopper-hazi,代码行数:28,代码来源:7seg.c

示例3: LCD_write_command

void LCD_write_command(unsigned char command)    //写指令
{
    uint16_t PORT_DATA, tmpCmd = 0;

    //LCD1602_RS=0; //RS=0
    GPIO_ResetBits(LCD1602_RS_PORT, LCD1602_RS_PIN);
    Delay_1ms(2);

    PORT_DATA = GPIO_ReadInputData(LCD1602_DB_PORT);
    PORT_DATA &= (~LCD1602_DB_MASK);
    //GPIO_Write(LCD1602_DB_PORT, PORT_DATA);

    tmpCmd = ((uint16_t)(LCD_SWAP_High4Bits(command) & 0xf0)) << 2;
    PORT_DATA |= tmpCmd;
    GPIO_Write(LCD1602_DB_PORT, PORT_DATA);		//    写高四位

    LCD_en_write();

    command=command<<4; //    低四位移到高四位

    PORT_DATA = GPIO_ReadInputData(LCD1602_DB_PORT);
    PORT_DATA &= (~LCD1602_DB_MASK);
    //GPIO_Write(LCD1602_DB_PORT, PORT_DATA);

    tmpCmd = 0;
    tmpCmd = ((uint16_t)(LCD_SWAP_High4Bits(command) & 0xf0)) << 2;
    PORT_DATA |= tmpCmd;
    GPIO_Write(LCD1602_DB_PORT, PORT_DATA);   //    写低四位
    //LCD_DATA|=command&0xf0;

    LCD_en_write();
}
开发者ID:xiamin,项目名称:TA_D,代码行数:32,代码来源:tad_LCD.c

示例4: GPIO_Configuration

//========================================
void GPIO_Configuration(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;

	GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
	
	GPIO_InitStructure.GPIO_Pin = LED_CLK_PIN;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_Init(LED_CLK_PORT, &GPIO_InitStructure);

	GPIO_InitStructure.GPIO_Pin = LED_LAT_PIN;
	GPIO_Init(LED_LAT_PORT, &GPIO_InitStructure);
/*	
#if DISPLAY_LED_STATIC	
	GPIO_InitStructure.GPIO_Pin = LED_OE_PIN;
	GPIO_Init(LED_OE_PORT, &GPIO_InitStructure);
#endif
*/
	if(hwConfig.ledType == SCAN_STATIC)
	{
		GPIO_InitStructure.GPIO_Pin = LED_OE_PIN;
		GPIO_Init(LED_OE_PORT, &GPIO_InitStructure);
	}
	// Config PORTA pins
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
	GPIO_Init(GPIOA, &GPIO_InitStructure);
	// Config PORTB pins
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
	GPIO_Init(GPIOB, &GPIO_InitStructure);
	// Config PORTB pins
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
	GPIO_Init(GPIOC, &GPIO_InitStructure);
	// Config PORTB pins
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
	GPIO_Init(GPIOD, &GPIO_InitStructure);
	// Config PORTB pins
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
	GPIO_Init(GPIOE, &GPIO_InitStructure);
	// Set default value for control pins
	GPIO_Write(GPIOA,0x0000);
	GPIO_Write(GPIOB,0x0000);
	GPIO_Write(GPIOC,0x0000);
	GPIO_Write(GPIOD,0x0000);
	GPIO_Write(GPIOE,0x0000);

	// Configure USART1 Rx as input floating 
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
	GPIO_Init(GPIOA, &GPIO_InitStructure);

	// Configure USART1 Tx as alternate function push-pull 
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
	GPIO_Init(GPIOA, &GPIO_InitStructure);
}
开发者ID:thaigiang,项目名称:VMS,代码行数:58,代码来源:HardwareConfig.c

示例5: iris_auto_motor_run

void iris_auto_motor_run(u8 mode)
{
    static u8 i=0;

	u16 temp = 0;

	
	switch(mode)
	{
	case 1:
    	temp = GPIO_ReadOutputData(IRIS_AUTO_PORT);
        temp &= 0xFFF0;
    	temp |= ((u16)iris_auto_table[i]);

		GPIO_Write(IRIS_AUTO_PORT, temp);

		i++;
		if(i>=4)
			i = 0;

        zoom_run_state_pre = zoom_run_state;
        zoom_run_state = 1;
		break;
	case 2:

    	temp = GPIO_ReadOutputData(IRIS_AUTO_PORT);
        temp &= 0xFFF0;
    	temp |= ((u16)iris_auto_table[i]);

		GPIO_Write(IRIS_AUTO_PORT, temp);
		//i--;
		 if(i == 0)
			i = 4-1;
		else
			i--;

        zoom_run_state_pre = zoom_run_state;
        zoom_run_state = 1;
		
		break;
	case 0:
	
        md127_keepmode();
        zoom_run_state_pre = zoom_run_state;
        zoom_run_state = 0;
      
		break;
	default:
		return;
	}

    md127_keepmode();
}
开发者ID:pigeon0411,项目名称:eb00,代码行数:53,代码来源:MD127.c

示例6: vIO_Refresh

void vIO_Refresh(void *pvParameters)
{
	for(;;)
	{
		taskENTER_CRITICAL();
		GPIO_Write(GPIOD,GPIOD_BUFFER);				/*output*/
		GPIO_Write(GPIOD,GPIOF_BUFFER);
		GPIOE_BUFFER = GPIO_ReadInputData(GPIOE);	/*input*/
		GPIOG_BUFFER = GPIO_ReadInputData(GPIOG);
		taskEXIT_CRITICAL();
		vTaskDelay(10/portTICK_RATE_MS);

	}
}
开发者ID:qizhihui628,项目名称:F103ZET6,代码行数:14,代码来源:GPIO.c

示例7: main

int main(void) {

    //    SystemCoreClockSet(MSI48M_CLOCKSRC, 0, 3, 0);

    GPIO_Init(0,LED_GREEN|LED_RED);

    GPIO_Write(LED_GREEN,LED_RED);

    for (;;) {
       ms_delay(500);
       GPIO_Write(LED_RED,LED_GREEN);
       ms_delay(500);
       GPIO_Write(LED_GREEN,LED_RED);
    }
}
开发者ID:hans-jorg,项目名称:stm32l476gdiscovery,代码行数:15,代码来源:main.c

示例8: InputMultiplexerInit

/**
 * Initializes the analog input multiplexer, configuring the processor's peripherals and setting
 * the multiplexer to its default state.
 *
 * @param none
 * @retval none
 */
void InputMultiplexerInit(void) {
	GPIO_InitTypeDef GPIO_InitStructure;

	/* Enable the GPIO Clock */
	RCC_AHB1PeriphClockCmd(OCAL_CONTROL_GPIO_CLK, ENABLE);

	/* Configure the DEMUX GPIO pins */
	GPIO_InitStructure.GPIO_Pin = OCAL_CONTROL_PIN;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
	GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
	GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; /* At most the multiplexer can handle a few hundred Hz */
	GPIO_Init(OCAL_CONTROL_GPIO_PORT, &GPIO_InitStructure);
	GPIO_WriteBit(OCAL_CONTROL_GPIO_PORT, OCAL_CONTROL_PIN, OCAL_SELECT); /* TODO: This is temporary until the REV D boards arrive. Should be EXT_ANALOG_SELECT */

	/* Enable the DEMUX GPIO Clock */
	RCC_AHB1PeriphClockCmd(EXT_ANALOG_IN_GPIO_CLK, ENABLE);

	/* Configure the DEMUX GPIO pins */
	GPIO_InitStructure.GPIO_Pin = EXT_ANALOG_IN_MUX_PINS;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
	GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
	GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; /* At most the multiplexer can handle a few hundred Hz */
	GPIO_Init(EXT_ANALOG_IN_MUX_PORT, &GPIO_InitStructure);
	GPIO_Write(EXT_ANALOG_IN_MUX_PORT, (EXTERN_0 | (GPIO_ReadOutputData(EXT_ANALOG_IN_MUX_PORT ) & EXT_ANALOG_IN_BITMASK )));
}
开发者ID:Teodor85,项目名称:Tekdaqc-Firmware,代码行数:34,代码来源:AnalogInput_Multiplexer.c

示例9: vParTestSetLED

void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
{
unsigned portSHORT usBit;

	vTaskSuspendAll();
	{
		if( uxLED < partstMAX_OUTPUT_LED )
		{
			usBit = partstFIRST_LED << uxLED;

			if( xValue == pdFALSE )
			{
				usBit ^= ( unsigned portSHORT ) 0xffff;
				usOutputValue &= usBit;
			}
			else
			{
				usOutputValue |= usBit;
			}

			GPIO_Write( GPIOB, usOutputValue );
		}	
	}
	xTaskResumeAll();
}
开发者ID:ammarkham,项目名称:freertos-moo,代码行数:25,代码来源:ParTest.c

示例10: main

/**
**===========================================================================
**
**  Abstract: main program
**
**===========================================================================
*/
int main(void)
{
  int i = 0;
  unsigned int ledState=0x1000;
  unsigned int portState;
  /**
  *  IMPORTANT NOTE!
  *  The symbol VECT_TAB_SRAM needs to be defined when building the project
  *  if code has been located to RAM and interrupts are used.
  *  Otherwise the interrupt table located in flash will be used.
  *  See also the <system_*.c> file and how the SystemInit() function updates
  *  SCB->VTOR register.
  *  E.g.  SCB->VTOR = 0x20000000;
  */

  GPIO_Config();

  GPIO_ResetBits(GPIOD, GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15);
  /* Infinite loop */
  while (1)
  {
	if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)) {
		portState=GPIO_ReadOutputData(GPIOD);
		portState&=0x0FFF;
		GPIO_Write(GPIOD, portState | ledState);
		ledState=ledState<<1;
		if (ledState>0x8000)
			ledState=0x1000;
		for(i=0; i<200000; i++) __NOP();
	}
  }
}
开发者ID:mrosochacka,项目名称:mikrokontroler,代码行数:39,代码来源:main.c

示例11: GLCD_WriteData

//-------------------------------------------------------------------------------------------------
// Write data to current position
//-------------------------------------------------------------------------------------------------
void GLCD_WriteData(unsigned char dataToWrite)
{
    while(GLCD_ReadStatus(screen_x / 64)&DISPLAY_STATUS_BUSY);
       
//    GPIO_StructInit(&GPIO_InitStructure);
//    GPIO_InitStructure.GPIO_Pin = (0xFF );
//    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
//    GPIO_Init(KS0108_PORT, &GPIO_InitStructure);
    
    GPIO_Init(KS0108_PORT,GPIO_PIN_ALL,GPIO_MODE_OUT_PP_LOW_FAST);

    GPIO_WriteLow(GPIOC, KS0108_RW);
    GLCD_Delay();
    GPIO_WriteHigh(GPIOC, KS0108_RS);
    GLCD_Delay();

	GPIO_Write(KS0108_PORT, (GPIO_Pin_TypeDef)(dataToWrite ));
    GLCD_Delay();
	
    GLCD_EnableController(screen_x / 64);
    GLCD_Delay();
    GPIO_WriteHigh(GPIOC, KS0108_EN);
    GLCD_Delay();
    GPIO_WriteLow(GPIOC, KS0108_EN);
    GLCD_Delay();
    GLCD_DisableController(screen_x / 64);
    screen_x++;
}
开发者ID:maxk9,项目名称:etro_new,代码行数:31,代码来源:lcd.c

示例12: Light

//***********点使能第几路红外发射管
void  Light(u8 port_num)
{
    u8  kk,led_light=0;
    if(port_num&BIT0) led_light|=BIT7;
    if(port_num&BIT1) led_light|=BIT6;
    if(port_num&BIT2) led_light|=BIT5;
    kk =GPIO_ReadOutputData(GPIOC)&0x1f;
    GPIO_Write(GPIOC,  kk|led_light);
}
开发者ID:zhangmh2015,项目名称:stm8s-tm1629,代码行数:10,代码来源:main_no_uart.c

示例13: otpravka

void otpravka(uint32_t kill) // ОТПРАВКА ДАННЫХ НА LCD
{
 GPIO_Write(GPIOC,kill);
	delay(0x000F);
GPIO_SetBits( GPIOC,  GPIO_Pin_9);
	delay(0x000F);
	GPIO_ResetBits( GPIOC,  GPIO_Pin_9);
	delay(0x000F);
}
开发者ID:ilyaseeyousoon,项目名称:stm32f100_display_std,代码行数:9,代码来源:main.c

示例14: static_smg_display

void static_smg_display()	//静态数码管显示
{	
	u8 i;
	for(i=0;i<16;i++)
	{
		GPIO_Write(GPIOC,(u16)(~smgduan[i]));
		delay_ms(1000);	
	}			
}
开发者ID:lh36,项目名称:onboard-control-multi,代码行数:9,代码来源:smg.c

示例15: main

/*******************************************************************************
* Function Name  : main
* Description    : Main program.
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
int main(void)
{
#ifdef DEBUG
  debug();
#endif

  /* System Clocks Configuration */
  RCC_Configuration();   

  /* Configure GPIO_LED pin 6, pin 7, pin 8 and pin 9 as Output push-pull */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIO_LED, &GPIO_InitStructure);

  /* Turn on Leds connected to GPIO_LED pin 6 and pin 8 */
  GPIO_Write(GPIO_LED, GPIO_Pin_6 | GPIO_Pin_8);

  /* NVIC configuration */
  NVIC_Configuration();

  /* SysTick end of count event each 1ms with input clock equal to 9MHz (HCLK/8, default) */
  SysTick_SetReload(9000);

  /* Enable SysTick interrupt */
  SysTick_ITConfig(ENABLE);

  while (1)
  {
    /* Toggle leds connected to GPIO_LED pin 6, GPIO_LED pin 7, GPIO_LED pin 8
       and GPIO_LED pin 9 pins */
    GPIO_Write(GPIO_LED, (u16)~GPIO_ReadOutputData(GPIO_LED));

    /* Insert 500 ms delay */
    Delay(500);

    /* Toggle leds connected to GPIO_LED pin 6, pin 7, pin 8 and pin 9 */
    GPIO_Write(GPIO_LED, (u16)~GPIO_ReadOutputData(GPIO_LED));

    /* Insert 300 ms delay */
    Delay(300);
  }
}
开发者ID:zaurus04,项目名称:cortexm3,代码行数:50,代码来源:main.c


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