本文整理汇总了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();
}
示例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)
}
示例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();
}
示例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);
}
示例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();
}
示例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);
}
}
示例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);
}
}
示例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 )));
}
示例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();
}
示例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();
}
}
}
示例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++;
}
示例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);
}
示例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);
}
示例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);
}
}
示例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);
}
}