📄 bsp.c
字号:
GPIO_WriteBit(GPIO0, GPIO_Pin_1 |
GPIO_Pin_2 |
GPIO_Pin_23 |
GPIO_Pin_26 |
GPIO_Pin_27 |
GPIO_Pin_28 |
GPIO_Pin_29 |
GPIO_Pin_30 |
GPIO_Pin_31 , Bit_RESET);
GPIO_WriteBit(GPIO1, GPIO_Pin_0 |
GPIO_Pin_1 |
GPIO_Pin_2 |
GPIO_Pin_3 |
GPIO_Pin_14 , Bit_RESET);
GPIO_WriteBit(GPIO2, GPIO_Pin_3 |
GPIO_Pin_4 , Bit_RESET);
break;
case 1:
GPIO_WriteBit(GPIO1, GPIO_Pin_0, Bit_RESET);
break;
case 2:
GPIO_WriteBit(GPIO1, GPIO_Pin_1, Bit_RESET);
break;
case 3:
GPIO_WriteBit(GPIO1, GPIO_Pin_2, Bit_RESET);
break;
case 4:
GPIO_WriteBit(GPIO1, GPIO_Pin_3, Bit_RESET);
break;
case 5: /* WP */
GPIO_WriteBit(GPIO1, GPIO_Pin_14, Bit_RESET);
break;
case 6: /* CP */
GPIO_WriteBit(GPIO2, GPIO_Pin_3, Bit_RESET);
break;
case 7:
GPIO_WriteBit(GPIO2, GPIO_Pin_4, Bit_RESET);
break;
case 8: /* BOOT0 */
GPIO_WriteBit(GPIO0, GPIO_Pin_0, Bit_RESET);
break;
case 9:
GPIO_WriteBit(GPIO0, GPIO_Pin_1, Bit_RESET);
break;
case 10: /* UART1_RTS */
GPIO_WriteBit(GPIO0, GPIO_Pin_23, Bit_RESET);
break;
case 11:
GPIO_WriteBit(GPIO0, GPIO_Pin_26, Bit_RESET);
break;
case 12:
GPIO_WriteBit(GPIO0, GPIO_Pin_27, Bit_RESET);
break;
case 13:
GPIO_WriteBit(GPIO0, GPIO_Pin_28, Bit_RESET);
break;
case 14:
GPIO_WriteBit(GPIO0, GPIO_Pin_29, Bit_RESET);
break;
case 15:
GPIO_WriteBit(GPIO0, GPIO_Pin_30, Bit_RESET);
break;
case 16:
GPIO_WriteBit(GPIO0, GPIO_Pin_31, Bit_RESET);
break;
case LED_LIGHT_LCD:
GPIO_WriteBit(GPIO2, GPIO_Pin_2, Bit_RESET);
break;
case LED_STAT:
GPIO_WriteBit(GPIO2, GPIO_Pin_18, Bit_RESET);
break;
case LED_LINK:
GPIO_WriteBit(GPIO2, GPIO_Pin_19, Bit_SET);
break;
default:
break;
}
}
/*
*********************************************************************************************************
* LED OFF
*
* Description : This function is used to control any or all the LEDs on the board.
*
* Arguments : led is the number of the LED to turn OFF
* 0 indicates that you want to turn off all of the board's LEDs
* 1 turn on LED1
* 2 turn on LED2
* .
* 16 turn on LED16
*********************************************************************************************************
*/
void LED_Off (CPU_INT08U led)
{
switch (led) {
case 0:
GPIO_WriteBit(GPIO0, GPIO_Pin_1 |
GPIO_Pin_2 |
GPIO_Pin_23 |
GPIO_Pin_26 |
GPIO_Pin_27 |
GPIO_Pin_28 |
GPIO_Pin_29 |
GPIO_Pin_30 |
GPIO_Pin_31 , Bit_SET);
GPIO_WriteBit(GPIO1, GPIO_Pin_0 |
GPIO_Pin_1 |
GPIO_Pin_2 |
GPIO_Pin_3 |
GPIO_Pin_14 , Bit_SET);
GPIO_WriteBit(GPIO2, GPIO_Pin_3 |
GPIO_Pin_4 , Bit_SET);
break;
case 1:
GPIO_WriteBit(GPIO1, GPIO_Pin_0, Bit_SET);
break;
case 2:
GPIO_WriteBit(GPIO1, GPIO_Pin_1, Bit_SET);
break;
case 3:
GPIO_WriteBit(GPIO1, GPIO_Pin_2, Bit_SET);
break;
case 4:
GPIO_WriteBit(GPIO1, GPIO_Pin_3, Bit_SET);
break;
case 5: /* WP */
GPIO_WriteBit(GPIO1, GPIO_Pin_14, Bit_SET);
break;
case 6: /* CP */
GPIO_WriteBit(GPIO2, GPIO_Pin_3, Bit_SET);
break;
case 7:
GPIO_WriteBit(GPIO2, GPIO_Pin_4, Bit_SET);
break;
case 8: /* BOOT0 */
GPIO_WriteBit(GPIO0, GPIO_Pin_0, Bit_SET);
break;
case 9:
GPIO_WriteBit(GPIO0, GPIO_Pin_1, Bit_SET);
break;
case 10: /* UART1_RTS */
GPIO_WriteBit(GPIO0, GPIO_Pin_23, Bit_SET);
break;
case 11:
GPIO_WriteBit(GPIO0, GPIO_Pin_26, Bit_SET);
break;
case 12:
GPIO_WriteBit(GPIO0, GPIO_Pin_27, Bit_SET);
break;
case 13:
GPIO_WriteBit(GPIO0, GPIO_Pin_28, Bit_SET);
break;
case 14:
GPIO_WriteBit(GPIO0, GPIO_Pin_29, Bit_SET);
break;
case 15:
GPIO_WriteBit(GPIO0, GPIO_Pin_30, Bit_SET);
break;
case 16:
GPIO_WriteBit(GPIO0, GPIO_Pin_31, Bit_SET);
break;
case LED_LIGHT_LCD:
GPIO_WriteBit(GPIO2, GPIO_Pin_2, Bit_SET);
break;
case LED_STAT:
GPIO_WriteBit(GPIO2, GPIO_Pin_18, Bit_SET);
break;
case LED_LINK:
GPIO_WriteBit(GPIO2, GPIO_Pin_19, Bit_RESET);
break;
default:
break;
}
}
/*
*********************************************************************************************************
* LED TOGGLE
*
* Description : This function is used to alternate the state of an LED
*
* Arguments : led is the number of the LED to control
* 0 indicates that you want ALL the LEDs to toggle
* 1 turn on LED1
* 2 turn on LED2
* .
* 16 turn on LED16
*********************************************************************************************************
*/
void LED_Toggle (CPU_INT08U led)
{
CPU_INT32U status;
switch (led) {
case 0:
status = GPIO_Read(GPIO0);
status ^= GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_23 |
GPIO_Pin_26 | GPIO_Pin_27 | GPIO_Pin_28 |
GPIO_Pin_29 | GPIO_Pin_30 | GPIO_Pin_31;
GPIO_Write(GPIO0, status);
status = GPIO_Read(GPIO1);
status ^= GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 |
GPIO_Pin_3 | GPIO_Pin_14 ;
GPIO_Write(GPIO1, status);
status = GPIO_Read(GPIO2);
status ^= GPIO_Pin_3 | GPIO_Pin_4;
GPIO_Write(GPIO2, status);
break;
case 1:
status = GPIO_Read(GPIO1) ^ GPIO_Pin_0;
GPIO_Write(GPIO1, status);
break;
case 2:
status = GPIO_Read(GPIO1) ^ GPIO_Pin_1;
GPIO_Write(GPIO1, status);
break;
case 3:
status = GPIO_Read(GPIO1) ^ GPIO_Pin_2;
GPIO_Write(GPIO1, status);
break;
case 4:
status = GPIO_Read(GPIO1) ^ GPIO_Pin_3;
GPIO_Write(GPIO1, status);
break;
case 5: /* WP */
status = GPIO_Read(GPIO1) ^ GPIO_Pin_14;
GPIO_Write(GPIO1, status);
break;
case 6: /* CP */
status = GPIO_Read(GPIO2) ^ GPIO_Pin_3;
GPIO_Write(GPIO2, status);
break;
case 7:
status = GPIO_Read(GPIO2) ^ GPIO_Pin_4;
GPIO_Write(GPIO2, status);
break;
case 8: /* BOOT0 */
status = GPIO_Read(GPIO0) ^ GPIO_Pin_0;
GPIO_Write(GPIO0, status);
break;
case 9:
status = GPIO_Read(GPIO0) ^ GPIO_Pin_1;
GPIO_Write(GPIO0, status);
break;
case 10: /* UART1_RTS */
status = GPIO_Read(GPIO0) ^ GPIO_Pin_23;
GPIO_Write(GPIO0, status);
break;
case 11:
status = GPIO_Read(GPIO0) ^ GPIO_Pin_26;
GPIO_Write(GPIO0, status);
break;
case 12:
status = GPIO_Read(GPIO0) ^ GPIO_Pin_27;
GPIO_Write(GPIO0, status);
break;
case 13:
status = GPIO_Read(GPIO0) ^ GPIO_Pin_28;
GPIO_Write(GPIO0, status);
break;
case 14:
status = GPIO_Read(GPIO0) ^ GPIO_Pin_29;
GPIO_Write(GPIO0, status);
break;
case 15:
status = GPIO_Read(GPIO0) ^ GPIO_Pin_30;
GPIO_Write(GPIO0, status);
break;
case 16:
status = GPIO_Read(GPIO0) ^ GPIO_Pin_31;
GPIO_Write(GPIO0, status);
break;
case LED_LIGHT_LCD:
status = GPIO_Read(GPIO2) ^ GPIO_Pin_2;
GPIO_Write(GPIO2, status);
break;
case LED_STAT:
status = GPIO_Read(GPIO2) ^ GPIO_Pin_18;
GPIO_Write(GPIO2, status);
break;
case LED_LINK:
status = GPIO_Read(GPIO2) ^ GPIO_Pin_19;
GPIO_Write(GPIO2, status);
break;
default:
break;
}
}
/*
*********************************************************************************************************
* INITIALIZE DISPLAY DRIVER I/O PORTS
*
* Description : This function initializes the I/O ports used by the display driver.
*
* Arguments : none
*********************************************************************************************************
*/
#ifdef DISP_MODULE_PRESENT
void DispInitPort (void)
{
GPIO_InitTypeDef gpio_init_struct;
/* Configure I/O pins */
gpio_init_struct.GPIO_Mode = GPIO_Mode_Out_PP;
gpio_init_struct.GPIO_Pin = GPIO_Pin_17 | GPIO_Pin_16 | GPIO_Pin_15 | GPIO_Pin_14 |
GPIO_Pin_13 | GPIO_Pin_12 | GPIO_Pin_11 | GPIO_Pin_10 |
GPIO_Pin_2 | GPIO_Pin_1 | GPIO_Pin_0;
GPIO_Init(GPIO2, &gpio_init_struct);
GPIO_WriteBit(GPIO2, GPIO_PIN_LCD_RS, Bit_RESET); /* Set RS output low */
GPIO_WriteBit(GPIO2, GPIO_PIN_LCD_E, Bit_RESET); /* Set E output low */
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -