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

📄 bsp.c

📁 在lpc2114 上的ADS例子
💻 C
📖 第 1 页 / 共 2 页
字号:
             IO1CLR = GPIO1_LEDS;
             break;

        case 1:
             IO1CLR = GPIO1_LED1;
             break;

        case 2:
             IO1CLR = GPIO1_LED2;
             break;

        case 3:
             IO1CLR = GPIO1_LED3;
             break;

        case 4:
             IO1CLR = GPIO1_LED4;
             break;

        case 5:
             IO1CLR = GPIO1_LED5;
             break;

        case 6:
             IO1CLR = GPIO1_LED6;
             break;

        case 7:
             IO1CLR = GPIO1_LED7;
             break;

        case 8:
             IO1CLR = GPIO1_LED8;
             break;

        default:
             break;
    } 
}


/*
*********************************************************************************************************
*                                             LED_Off()
*
* Description : Turn OFF any or all the LEDs on the board.
*
* Argument(s) : led     The ID of the LED to control:
*
*                       0    turn OFF all LEDs on the board
*                       1    turn OFF LCD backlight
*
* Return(s)   : none.
*********************************************************************************************************
*/

void  LED_Off (CPU_INT08U led)
{
  switch (led) 
  {
        case 0:
             IO1SET = GPIO1_LEDS;
             break;

        case 1:
             IO1SET = GPIO1_LED1;
             break;

        case 2:
             IO1SET = GPIO1_LED2;
             break;

        case 3:
             IO1SET = GPIO1_LED3;
             break;

        case 4:
             IO1SET = GPIO1_LED4;
             break;

        case 5:
             IO1SET = GPIO1_LED5;
             break;

        case 6:
             IO1SET = GPIO1_LED6;
             break;

        case 7:
             IO1SET = GPIO1_LED7;
             break;

        case 8:
             IO1SET = GPIO1_LED8;
             break;

        default:
             break;
  }  
}






static  void  BSP_PLL_Init (void)
{

    CPU_INT16U  loop_ctr;

                                                                /* Configure PLL0, which determines the CPU clock           */
    PLLCFG   = 0x00000003;                                      /* Use PLL values of M = 4 and P = 2                        */
    PLLCON  |= 0x00000001;                                      /* Set the PLL Enable bit                                   */

    /*添加关中断语句*/
    PLLFEED  = 0xAA;                                            /* Write to the PLL Feed register                           */
    PLLFEED  = 0x55;
    /*添加开中断语句*/

    loop_ctr = 10000;                                           /* Wait for the PLL to lock into the new frequency          */
    while (((PLLSTAT & DEF_BIT_10) == 0) && (loop_ctr > 0)) 
        {
            loop_ctr--;
        }

    PLLCON  |= 0x00000002;                                      /* Connect the PLL                                          */

    /*添加关中断语句*/
    PLLFEED  = 0xAA;                                            /* Write to the PLL Feed register                           */
    PLLFEED  = 0x55;
    /*添加开中断语句*/

    VPBDIV   = 0x00000002;                                      /* Set the VPB frequency to one-half of the CPU clock       */
}


/*
*********************************************************************************************************
*                                          BSP_IO_Init()
*
* Description : This function initializes the GPIO pins.  All the I/O pins are initialized in this function
*               so you don't have to look at multiple places for I/O initialization.
*
* Argument(s) : none.
*
* Note(s)     : (1) PINSEL0 and PINSEL1 assignments for the LPC2138:
*
*                                                   FUNCTION WHEN PINSEL0 bits are:
*                                        ------------------------------------------------------
*               BIT #    PINSEL0 Bits       00            01             10               11
*               -----    ------------    ---------     ---------     ---------        ---------
*                 0          1:0         GPIO P0.0     UART0 TxD        PWM1          Reserved
*                 1          3:2         GPIO P0.1     UART0 RxD        PWM3          EINT0
*                 2          5:4         GPIO P0.2     SCL (I2C)        Capture 0.0   Reserved
*                 3          7:6         GPIO P0.3     SDA (I2C)        Match   0.0   EINT1
*                 4          9:8         GPIO P0.4     SCK (I2C)        Capture 0.1   AD 0.6
*                 5         11:10        GPIO P0.5     MISO (SPI)       Match   0.1   AD 0.7
*                 6         13:12        GPIO P0.6     MOSI (SPI)       Capture 0.2   AD 1.0
*                 7         15:14        GPIO P0.7     SSEL (SPI)       PWM2          EINT2
*
*                 8         17:16        GPIO P0.8     UART1 TxD        PWM4          AD 1.1
*                 9         19:18        GPIO P0.9     UART1 RxD        PWM6          EINT3
*                10         21:20        GPIO P0.10    UART1 RTS        Capture 1.0   AD 1.2
*                11         23:22        GPIO P0.11    UART1 CTS        Capture 1.1   SCL1 (IIC #1)
*                12         25:24        GPIO P0.12    UART1 DSR        Match   1.0   AD 1.3
*                13         27:26        GPIO P0.13    UART1 DTR        Match   1.1   AD 1.4
*                14         29:28        GPIO P0.14    UART1 CD         EINT1         SDA1 (IIC #1)
*                15         31:30        GPIO P0.15    UART1 RI         EINT2         AD 1.5
*
*                                                   FUNCTION WHEN PINSEL1 bits are:
*                                        ------------------------------------------------------
*               BIT #    PINSEL1 Bits       00            01             10               11
*               -----    ------------    ---------     ---------     ---------        ---------
*                 0          1:0         GPIO P0.16    EINT0            Match 0.2     Capture 0.2
*                 1          3:2         GPIO P0.17    Capture 1.2      SCLK (SSP)    Match 1.2
*                 2          5:4         GPIO P0.18    Capture 1.3      MISO (SSP)    Match 1.3
*                 3          7:6         GPIO P0.19    Match 1.3        MOSI (SSP)    Capture 1.2
*                 4          9:8         GPIO P0.20    Match 1.3        SSEL (SSP)    EINT3
*                 5         11:10        GPIO P0.21    PWM5             AD 1.6        Capture 1.3
*                 6         13:12        GPIO P0.22    AD 1.7           Capture 0.0   Match 0.0
*                 7         15:14        GPIO P0.23    Reserved         Reserved      Reserved
*
*                 8         17:16        GPIO P0.24    Reserved         Reserved      Reserved
*                 9         19:18        GPIO P0.25    AD 0.4           AOUT          Reserved
*                10         21:20        GPIO P0.26    AD 0.5           Reserved      Reserved
*                11         23:22        GPIO P0.27    AD 0.0           Capture 0.1   Match 0.1
*                12         25:24        GPIO P0.28    AD 0.1           Capture 0.2   Match 0.2
*                13         27:26        GPIO P0.29    AD 0.2           Capture 0.3   Match 0.3
*                14         29:28        GPIO P0.30    AD 0.3           EINT3         Capture 0.0
*                15         31:30        GPIO P0.31    Reserved         Reserved      Reserved
*
*
*               (2) The LM4229 LCD is connected as follows on the LPC2138 Evaluation board:
*
*                  P0.31     R/W-     Read (H) / Write (L)
*                  P0.26     E        Enable
*                  P0.23     RS       Register Select
*                  P0.21     LED      LED Backlight
*
*                  P0.13     D7       LCD Data 7     \
*                  P0.12     D6       LCD Data 6      | 4-bit interface mode
*                  P0.11     D5       LCD Data 5      |
*                  P0.10     D4       LCD Data 4     /
*********************************************************************************************************
*/

static  void  BSP_IO_Init (void)
{
    
    PINSEL0   = 0X00000000;                                     /* The P0.00-15  will be used as   GPIOS                    */    
	PINSEL2  &= ~0x00000008;                                    /* The p1.25-16  will be used as   GPIOs                    */

    IO0DIR    =  0x7FFF;                                        /* The p0.00-15  will be used as output                     */    
    IO1DIR    =  GPIO1_LEDS;                                    /* LEDs(P1.18-25) output                                          */  
}




/*
*********************************************************************************************************
*                                        Vectored Interrupt Controller
*********************************************************************************************************
*/

static  void  VIC_Init (void)
{
    VICIntEnClr = 0xFFFFFFFF;                                 /* Disable ALL interrupts                                   */
    VICProtection = 0;                                          /* Setup interrupt controller                               */

    VICVectAddr1  = (CPU_INT32U)VIC_DummyWDT;                   /* Set the vector address                                   */
    VICVectAddr2  = (CPU_INT32U)VIC_DummyTIMER0;
    VICVectAddr3  = (CPU_INT32U)VIC_DummyTIMER1;
    VICVectAddr4  = (CPU_INT32U)VIC_DummyUART0;
    VICVectAddr5  = (CPU_INT32U)VIC_DummyUART1;
    VICVectAddr6  = (CPU_INT32U)VIC_DummyPWM0;
    VICVectAddr7  = (CPU_INT32U)VIC_DummyI2C;
    VICVectAddr8  = (CPU_INT32U)VIC_DummySPI;
    VICVectAddr9  = (CPU_INT32U)VIC_DummyRTC;
    VICVectAddr10 = (CPU_INT32U)VIC_DummyEINT0;
    VICVectAddr11 = (CPU_INT32U)VIC_DummyEINT1;
    VICVectAddr12 = (CPU_INT32U)VIC_DummyEINT2;
}

static  void  VIC_Dummy (void)
{
    while (1) {
        (void)VIC_SpuriousInt;
    }
}

static  void  VIC_DummyWDT (void)
{
    VIC_SpuriousInt = VIC_WDT;
    VIC_Dummy();
}

static  void  VIC_DummyTIMER0 (void)
{
    VIC_SpuriousInt = VIC_TIMER0;
    VIC_Dummy();
}

static  void  VIC_DummyTIMER1 (void)
{
    VIC_SpuriousInt = VIC_TIMER1;
    VIC_Dummy();
}

static  void  VIC_DummyUART0 (void)
{
    VIC_SpuriousInt = VIC_UART0;
    VIC_Dummy();
}

static  void  VIC_DummyUART1 (void)
{
    VIC_SpuriousInt = VIC_UART1;
    VIC_Dummy();
}

static  void  VIC_DummyPWM0 (void)
{
    VIC_SpuriousInt = VIC_UART1;
    VIC_Dummy();
}

static  void  VIC_DummyI2C (void)
{
    VIC_SpuriousInt = VIC_I2C;
    VIC_Dummy();
}

static  void  VIC_DummySPI (void)
{
    VIC_SpuriousInt = VIC_SPI;
    VIC_Dummy();
}

static  void  VIC_DummyRTC (void)
{
    VIC_SpuriousInt = VIC_RTC;
    VIC_Dummy();
}

static  void  VIC_DummyEINT0 (void)
{
    VIC_SpuriousInt = VIC_EINT0;
    VIC_Dummy();
}

static  void  VIC_DummyEINT1 (void)
{
    VIC_SpuriousInt = VIC_EINT1;
    VIC_Dummy();
}

static  void  VIC_DummyEINT2 (void)
{
    VIC_SpuriousInt = VIC_EINT2;
    VIC_Dummy();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -