⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bsp.c

📁 基于 ST 公司的 ARM-7 使用之 uC/OS-II 作业系统,此例程是移植于 STR-750 上的应用,有支援 OS_View 观察器功能,于 IAR EWARM V4.41A 工程编译,而 u
💻 C
📖 第 1 页 / 共 3 页
字号:
             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 + -