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

📄 bsp.h

📁 嵌入式的tcpip协议栈
💻 H
字号:
/*
*********************************************************************************************************
*                                     MICRIUM BOARD SUPPORT SUPPORT
*
*                          (c) Copyright 2003-2006; Micrium, Inc.; Weston, FL
*
*               All rights reserved.  Protected by international copyright laws.
*               Knowledge of the source code may NOT be used to develop a similar product.
*               Please help us continue to provide the Embedded community with the finest
*               software available.  Your honesty is greatly appreciated.
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*
*                                        BOARD SUPPORT PACKAGE
*
*                                             NXP LPC2468
*                                                on the
*                                  Embedded Artists LPC2468 OEM Board
*
* Filename      : bsp.h
* Version       : V1.00
* Programmer(s) : Brian Nagel
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                                 MODULE
*
* Note(s) : (1) This header file is protected from multiple pre-processor inclusion through use of the
*               BSP present pre-processor macro definition.
*********************************************************************************************************
*/

#ifndef  BSP_PRESENT
#define  BSP_PRESENT

/*
*********************************************************************************************************
*                                                 EXTERNS
*********************************************************************************************************
*/

#ifdef   BSP_MODULE
#define  BSP_EXT
#else
#define  BSP_EXT  extern
#endif


/*
*********************************************************************************************************
*                                                 INCLUDES
*********************************************************************************************************
*/

#include  <stdio.h>
#include  <string.h>
#include  <ctype.h>
#include  <stdlib.h>
#include  <stdarg.h>

#include  <cpu.h>
#include  <lib_def.h>
#include  <lib_mem.h>
#include  <lib_str.h>

#include  <iolpc2468.h>

#include  <app_cfg.h>

#include  <ucos_ii.h>

#if APP_OS_PROBE_EN
#include  <os_probe.h>
#endif

#include "keypad.h"

/*
*********************************************************************************************************
*                                               DEFINES
*********************************************************************************************************
*/

#define  MAIN_OSC_FRQ                               12000000L
#define  IRC_OSC_FRQ                                 4000000L
#define  RTC_OSC_FRQ                                   32768L

/*
*********************************************************************************************************
*                                           PCLK PERIPHERAL IDS
*                                       (see 'BSP_CPU_PclkFreq()')
*********************************************************************************************************
*/

#define  PCLK_WDT                                          0
#define  PCLK_TIMER0                                       1
#define  PCLK_TIMER1                                       2
#define  PCLK_UART0                                        3
#define  PCLK_UART1                                        4
#define  PCLK_PWM0                                         5
#define  PCLK_PWM1                                         6
#define  PCLK_I2C0                                         7
#define  PCLK_SPI                                          8
#define  PCLK_RTC                                          9
#define  PCLK_SSP1                                        10
#define  PCLK_DAC                                         11
#define  PCLK_ADC                                         12
#define  PCLK_CAN1                                        13
#define  PCLK_CAN2                                        14
#define  PCLK_ACF                                         15
#define  PCLK_BAT_RAM                                     16
#define  PCLK_GPIO                                        17
#define  PCLK_PCB                                         18
#define  PCLK_I2C1                                        19
#define  PCLK_SSP0                                        21
#define  PCLK_TIMER2                                      22
#define  PCLK_TIMER3                                      23
#define  PCLK_UART2                                       24
#define  PCLK_UART3                                       25
#define  PCLK_I2C2                                        26
#define  PCLK_MCI                                         27
#define  PCLK_SYSCON                                      29


#define  PCA9551_ADDRESS                0xC0
#define  SA56004_ADDRESS                0x96
#define  PCA9555_ADDRESS                0x40
#define INTERNAL 0
#define EXTERNAL 1


#define KPAD_NB_ROW              6
#define KPAD_NB_COLUMN           6

/*Keypad defines*/
#define P1_KPAD_COLUMN           0x3F     // 6 columns P1[0] to P1[5]
#define P1_KPAD_COLUMN_MASK      0xC0
#define P1_KPAD_ROW_OUT_REG      0xC0     // column configured as output
#define P0_KPAD_ROW              0x3F     // 6 rows P0[0] to P0[5]



#define P0_6_BACKLIGHT           0x40     // P0[6] used for backlight control
#define P0_6_BACKLIGHT_OUT_REG   0xBF     // P0[6] configured as output
#define P0_7_LED                 0x80     // P0[7] used for LED control
#define P0_7_LED_OUT_REG         0x7F     // P0[7] configured as output
#define P1_7_6_LED               0xC0     // P1[7:6] used for LED control
#define P1_7_6_LED_OUT_REG       0x3F     // P1[7:6] configured as output


/*
*********************************************************************************************************
*                                          GLOBAL VARIABLES
*********************************************************************************************************
*/
extern  CPU_INT08U      I2C_Read_Counter ;
extern  CPU_INT08U      I2C_Write_Counter ;
extern  CPU_INT08U      Keypad_Data_Read;
extern  CPU_INT08U      Column_Value ;
extern  CPU_INT08U      Row_Counter;
extern  CPU_INT08U      Row_Found ;
extern  CPU_INT08U      Row_Value;

extern CPU_INT08U Brightness_Global;
/*
*********************************************************************************************************
*                                               MACRO'S
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                         FUNCTION PROTOTYPES
*********************************************************************************************************
*/

void         BSP_Init           (void);
void         BSP_IntDisAll      (void);
CPU_INT32U   BSP_CPU_ClkFreq    (void);
CPU_INT32U   BSP_CPU_PclkFreq   (CPU_INT08U   pclk);


/*
*********************************************************************************************************
*                                             KEYPAD SERVICES
*********************************************************************************************************
*/
void Keypad_Init(void);
void Keypad_Write(CPU_INT08U Reg_Ptr, CPU_INT08U Data_Write);
CPU_INT08U Keypad_Read(void);
void Decode_Column(void);
void Decode_Row(void);
CPU_INT08U Keypad_Decoder (void);
CPU_INT08U Keypad_Map(void);

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

void         LED_On             (CPU_INT08U   led);
void         LED_Off            (CPU_INT08U   led);
void         LED_Toggle         (CPU_INT08U   led);
/*
*********************************************************************************************************
*                                             TEMP SERVICES
*********************************************************************************************************
*/

void  Temperature_Reading(CPU_INT08S *integer,CPU_INT08U *decimal, CPU_INT08S Temp_Type);


/*
*********************************************************************************************************
*                                             PWM SERVICES
*********************************************************************************************************
*/
void            Piezo_Set(CPU_INT32U  cycle);
void            Piezo_Stop( void );
CPU_INT08U Piezo_Start(CPU_INT08U duration);
void            PWW_PiezoInit (void);
void            PiezoDurationHandler();
/*
*********************************************************************************************************
*                                             VFD SERVICES
*********************************************************************************************************
*/
void VFD_Init(void);
void  DispDataWr (CPU_INT08U data);

/*
*********************************************************************************************************
*                                         PUSH BUTTON SERVICES
*********************************************************************************************************
*/

CPU_BOOLEAN  PB_GetStatus       (CPU_INT08U   pb);

/*
*********************************************************************************************************
*                                            External Interrupt Init (used by the keypad)
*********************************************************************************************************
*/
void EINT_Init(void);
/*
*********************************************************************************************************
*                                            ADC SERVICES
*********************************************************************************************************
*/

CPU_INT16U   ADC_GetStatus      (CPU_INT08U   adc);

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

void         Tmr_TickISR_Handler(void);
void         Tmr_TickInit       (void);

/*
*********************************************************************************************************
*                                             I2C SERVICES
*********************************************************************************************************
*/

void         I2C_Init           (void);
void         I2C_Read           (CPU_INT08U  address,
                                 CPU_INT08U  *p_buf,
                                 CPU_INT08U   count);
void         I2C_ReadReg        (CPU_INT08U  address,
                                 CPU_INT08U  *p_buf,
                                 CPU_INT08U   count,
                                 CPU_INT08U   reg);
void         I2C_Write          (CPU_INT08U  address,
				 CPU_INT08U  *p_buf,
                                 CPU_INT08U   count);
void         I2C_ISR_Handler    (void);

/*
*********************************************************************************************************
*                                          LCD LIGHT SERVICES
*********************************************************************************************************
*/

void         LCD_LightOn        (void);
void         LCD_LightOff       (void);
void         LCD_LightToggle    (void);

/*
*********************************************************************************************************
*                                             OTHER SERVICES
*********************************************************************************************************
*/

void         SDRAM_Init         (void);
void         NOR_Init           (void);
void         NAND_Init          (void);

/*
*********************************************************************************************************
*                                             RS-232 SERVICES
*********************************************************************************************************
*/

void         Ser_Init           (CPU_INT08U   COM);
void         Ser_WrByte         (CPU_CHAR     tx_byte, CPU_INT08U   COM);
void         Ser_WrStr          (CPU_CHAR    *tx_str, CPU_INT08U   COM);
CPU_INT08U   Ser_RdByte         (CPU_INT08U   COM);
void  Ser_RdStr (CPU_CHAR    *rx_str,
                 CPU_INT32U   len,
                 CPU_INT08U   COM);
void         Ser_Printf         (CPU_CHAR    *format, ...);




#endif

⌨️ 快捷键说明

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