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

📄 bsp.h

📁 基于PIC24 UCOS-II 2.83源程序下载
💻 H
字号:
/*
*********************************************************************************************************
*                                               Microchip PIC33
*                                            Board Support Package
*
*																								   Micrium
*                                    (c) Copyright 2005, Micrium, Weston, FL
*                                              All Rights Reserved
*
*
* File : BSP.H
* By   : Eric Shufro
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                      OSCILLATOR FREQUENCIES
*********************************************************************************************************
*/

#define  CPU_PRIMARY_OSC_FRQ         8000000L                               /* Primary External Oscillator Frequency                */
#define  CPU_FRC_OSC_FRQ             7370000L                               /* Internal Fast Oscillator Frequency                   */
#define  CPU_SECONDARY_OSC_FRQ         32768L                               /* Secondary External Oscillator Frequency              */
#define  CPU_LOW_POWER_OSC_FRQ         31000L                               /* Low Power Oscillator (LPOSC) 31Khz Nominal           */

/*
*********************************************************************************************************
*                                      OS TICK TIMER SELECTION
*********************************************************************************************************
*/

#define  BSP_OS_TMR_SEL                     2                               /* Select a timer for the OS Tick Interrupt (2 or 4)    */
#define  TIMER_INT_PRIO                     4                               /* Configure the timer to use interrupt priority 4      */
#define  OSVIEW_INT_PRIO                    4                               /* Configure UART2 Interrupts to use priority 4         */

/*
*********************************************************************************************************
*                                             DATATYPES
*********************************************************************************************************
*/

typedef  void (*PFNCT)(void);

/*
*********************************************************************************************************
*                                             MACROS
*********************************************************************************************************
*/

#define  TRUE                       1
#define  FALSE                      0

/*
*********************************************************************************************************
*                                       CHIP SPECIFIC MACROS
*********************************************************************************************************
*/
                                                                        /* OSCCON Register Bits                                     */
#define  XT_HS_EC_PLL_SEL    (3 <<  0)
#define  COSC_MASK           (7 << 12)
#define  LOCK                (1 <<  5)
#define  OSWEN               (1 <<  0)
                                                                        /* CLKDIV Register Bits                                     */
#define  FRCDIV_MASK         (7 <<  8)
#define  PLLPOST_MASK        (3 <<  6)
#define  PLLPRE_MASK      (0x1F <<  0)
#define  PLLDIV_MASK      (0xFF <<  0)
                                                                        /* Timer Control Register Bits                              */
#define  TON                 (1 << 15)
                                                                        /* IPC1 Interrupt Priority Register Bits                    */
#define  T2IP_MASK           (7 << 12)  
                                                                        /* IPC5 Interrupt Priority Register Bits                    */
#define  T4IP_MASK           (7 << 12)  
                                                                        /* IPC7 Interrupt Priority Register Bits                    */
#define  U2TXIP_MASK         (7 << 12)  
#define  U2RXIP_MASK         (7 <<  8) 
                                                                        /* IEC0 Interrupt Enable Register Bits                      */
#define  T2IE                (1 <<  7)
                                                                        /* IEC1 Interrupt Enable Register Bits                      */
#define  T4IE                (1 << 11)
#define  U2TXIE              (1 << 15)
#define  U2RXIE              (1 << 14)
                                                                        /* IFS0 Interrupt Flag Register Bits                        */
#define  T2IF                (1 <<  7)
                                                                        /* IFS1 Interrupt Flag Register Bits                        */
#define  T4IF                (1 << 11)
#define  U2TXIF              (1 << 15)
#define  U2RXIF              (1 << 14)
                                                                        /* UxMODE Register                                          */
#define  UART_EN             (1 << 15)
                                                                        /* UxSTA Register                                           */
#define  UTXISEL             (1 << 15)
#define  UTXEN               (1 << 10)
#define  TRMT                (1 <<  8)
#define  URXDA               (1 <<  0)
                                                            
/*
*********************************************************************************************************
*                                       FUNCTION PROTOTYPES
*********************************************************************************************************
*/

void     BSP_Init(void);
void     BSP_IntEn (INT8U IntCont, INT8U IntNum, INT8U IntPol, INT8U IntAct, PFNCT pfnct);
void     BSP_IntDis (INT8U IntCont, INT8U IntNum);
void     BSP_IntDisAll(void);

INT32U   BSP_CPU_ClkFrq(void);

/*
*********************************************************************************************************
*                                          LED SERVICES
*********************************************************************************************************
*/

void     LED_Init(void);
void     LED_On(INT8U led);
void     LED_Off(INT8U led);
void     LED_Toggle(INT8U led);

/*
*********************************************************************************************************
*                                          TICK SERVICES
*********************************************************************************************************
*/

void     Tmr_TickISR_Handler(void);

/*
*********************************************************************************************************
*                                      CONFIGURATION CHECKING
*********************************************************************************************************
*/

⌨️ 快捷键说明

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