📄 board.h
字号:
/// LED #1 pin definition.
#define PIN_LED_1 {1 << 8, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_OUTPUT_1, PIO_DEFAULT}
/// LED #2 pin definition.
#define PIN_LED_2 {1 << 9, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_OUTPUT_1, PIO_DEFAULT}
/// List of all led definitions.
#define PINS_LEDS PIN_LED_0, PIN_LED_1, PIN_LED_2
/// LED DS1 index.
#define LED_DS1 0
/// LED DS2 index.
#define LED_DS2 1
/// Power LED index.
#define LED_POWER 2
/// Push button #1 pin definition
#define PIN_PUSHBUTTON_1 {1 << 0, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_INPUT, PIO_DEGLITCH | PIO_PULLUP}
/// Push button #2 pin definition
#define PIN_PUSHBUTTON_2 {1 << 1, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_INPUT, PIO_DEGLITCH | PIO_PULLUP}
/// List of all pushbuttons definitions.
#define PINS_PUSHBUTTONS PIN_PUSHBUTTON_1, PIN_PUSHBUTTON_2
/// Keyboard column #0 pin definition.
#define PIN_KEYBOARD_COL0 {1 << 10, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT}
/// Pushbutton 1 index
#define PUSHBUTTON_BP1 0
/// Pushbutton 2 index
#define PUSHBUTTON_BP2 1
/// USART0 RXD pin definition.
#define PIN_USART0_RXD {1 << 12, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_PERIPH_A, PIO_DEFAULT}
/// USART0 TXD pin definition.
#define PIN_USART0_TXD {1 << 13, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_PERIPH_A, PIO_DEFAULT}
/// USART0 TXD pin definition to avoid IRDA transceiver consumption.
#define PIN_USART0_TXD_POW {1 << 13, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT}
/// USART0 SCK pin definition
#define PIN_USART0_SCK {1 << 9, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT}
/// SPI MISO pin definition.
#define PIN_SPI_MISO {1 << 19, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_PERIPH_A, PIO_DEFAULT}
/// SPI MOSI pin definition.
#define PIN_SPI_MOSI {1 << 20, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_PERIPH_A, PIO_DEFAULT}
/// SPI SPCK pin definition.
#define PIN_SPI_SPCK {1 << 21, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_PERIPH_A, PIO_DEFAULT}
/// SPI NPCS0 pin definition.
#define PIN_SPI_NPCS0 {1 << 18, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_PERIPH_A, PIO_DEFAULT}
/// SPI NPCS1 pin definition.
#define PIN_SPI_NPCS1 {1 << 6, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_PERIPH_A, PIO_DEFAULT}
/// SPI NPCS2 pin definition.
#define PIN_SPI_NPCS2 {1 << 27, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_PERIPH_A, PIO_DEFAULT}
/// SPI NPCS3 pin definition.
#define PIN_SPI_NPCS3 {1 << 22, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_PERIPH_A, PIO_DEFAULT}
/// List of SPI pin definitions (does not include NPCS pins).
#define PINS_SPI PIN_SPI_MISO, PIN_SPI_MOSI, PIN_SPI_SPCK
/// Keyboard rows ( scanning output )
#define PIN_KBMATRIX_ROW_0 {1 << 0, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_OUTPUT_1, PIO_OPENDRAIN | PIO_PULLUP}
#define PIN_KBMATRIX_ROW_1 {1 << 1, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_OUTPUT_1, PIO_OPENDRAIN | PIO_PULLUP}
#define PIN_KBMATRIX_ROW_2 {1 << 2, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_OUTPUT_1, PIO_OPENDRAIN | PIO_PULLUP}
#define PIN_KBMATRIX_ROW_3 {1 << 3, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_OUTPUT_1, PIO_OPENDRAIN | PIO_PULLUP}
#define PIN_KBMATRIX_ROW_4 {1 << 4, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_OUTPUT_1, PIO_OPENDRAIN | PIO_PULLUP}
#define PINS_KBMATRIX_ROWS PIN_KBMATRIX_ROW_0, PIN_KBMATRIX_ROW_1, PIN_KBMATRIX_ROW_2, \
PIN_KBMATRIX_ROW_3, PIN_KBMATRIX_ROW_4
/// Keyboard columns ( capture input )
#define PIN_KBMATRIX_COL_0 {1 << 10, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_INPUT, PIO_PULLUP}
#define PIN_KBMATRIX_COL_1 {1 << 11, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_INPUT, PIO_PULLUP}
#define PIN_KBMATRIX_COL_2 {1 << 25, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_INPUT, PIO_PULLUP}
#define PIN_KBMATRIX_COL_3 {1 << 26, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_INPUT, PIO_PULLUP}
#define PIN_KBMATRIX_COL_4 {1 << 27, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_INPUT, PIO_PULLUP}
#define PIN_KBMATRIX_COL_5 {1 << 28, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_INPUT, PIO_PULLUP}
#define PIN_KBMATRIX_COL_6 {1 << 29, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_INPUT, PIO_PULLUP}
#define PINS_KBMATRIX_COLS PIN_KBMATRIX_COL_0, PIN_KBMATRIX_COL_1, PIN_KBMATRIX_COL_2, \
PIN_KBMATRIX_COL_3, PIN_KBMATRIX_COL_4, PIN_KBMATRIX_COL_5, \
PIN_KBMATRIX_COL_6
/// Keyboard matrix pins in wake-up mode.
#define PINS_KBMATRIX_WAKEUP \
{0x0000001F, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_INPUT, PIO_PULLUP}, \
{0x3E000C00, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT}
/// PWMC PWM0 pin definition.
#define PIN_PWMC_PWM0 {1 << 7, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_PERIPH_A, PIO_DEFAULT}
/// PWMC PWM1 pin definition.
#define PIN_PWMC_PWM1 {1 << 8, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_PERIPH_A, PIO_DEFAULT}
/// PWMC PWM2 pin definition.
#define PIN_PWMC_PWM2 {1 << 9, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_PERIPH_A, PIO_DEFAULT}
/// PWM pin definition for LED0
#define PIN_PWM_LED0 PIN_PWMC_PWM1
/// PWM pin definition for LED1
#define PIN_PWM_LED1 PIN_PWMC_PWM2
/// PWM channel for LED0
#define CHANNEL_PWM_LED0 1
/// PWM channel for LED1
#define CHANNEL_PWM_LED1 2
/// TWI pins definition.
#define PINS_TWI {0x00000C00, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_PERIPH_A, PIO_DEFAULT}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
/// \page "SAM7L-EK - Memories"
/// This page lists definitions related to internal & external on-board memories.
///
/// !Embedded Flash
/// - BOARD_FLASH_EEFC
/// - BOARD_FLASH_IAP_ADDRESS
///
/// !Internal SRAM
/// - AT91C_ISRAM
/// - AT91C_ISRAM_SIZE
/// Indicates chip has an Enhanced EFC.
#define BOARD_FLASH_EEFC
/// Address of the IAP function in ROM.
#define BOARD_FLASH_IAP_ADDRESS 0x400008
// Internal SRAM
#define AT91C_ISRAM (0x002FF000) // Internal SRAM base address for contiguous access
#define AT91C_ISRAM_SIZE (AT91C_ISRAM_1_SIZE + AT91C_ISRAM_2_SIZE) // Internal SRAM total size
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
/// \page "SAM7L-EK - External components"
/// This page lists the definitions related to external on-board components
/// located in the board.h file for the AT91SAM7L-EK.
///
/// !MS5540B (barometer)
/// - PIN_MS5540B_DOUT
///
/// !AT45 Dataflash Card
/// - BOARD_AT45_A_SPI_BASE
/// - BOARD_AT45_A_SPI_ID
/// - BOARD_AT45_A_SPI_PINS
/// - BOARD_AT45_A_SPI
/// - BOARD_AT45_A_NPCS
/// - BOARD_AT45_A_NPCS_PIN
///
/// !IRDA
/// - PIN_IRDA_SD
///
/// !SD Card SPI
/// - BOARD_SD_SPI_BASE
/// - BOARD_SD_SPI_ID
/// - BOARD_SD_SPI_PINS
/// - BOARD_SD_NPCS
/// Base address of SPI peripheral connected to the dataflash.
#define BOARD_AT45_A_SPI_BASE AT91C_BASE_SPI
/// Identifier of SPI peripheral connected to the dataflash.
#define BOARD_AT45_A_SPI_ID AT91C_ID_SPI
/// Pins of the SPI peripheral connected to the dataflash.
#define BOARD_AT45_A_SPI_PINS PINS_SPI
/// Dataflahs SPI number.
#define BOARD_AT45_A_SPI 0
/// Chip select connected to the dataflash.
#define BOARD_AT45_A_NPCS 0
/// Chip select pin connected to the dataflash.
#define BOARD_AT45_A_NPCS_PIN PIN_SPI_NPCS0
/// MS5540B sensor DOUT pin definition.
#define PIN_MS5540B_DOUT {1 << 19, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_INPUT, PIO_DEFAULT}
/// IRDA transceiver shutdown pin definition.
#define PIN_IRDA_SD {1 << 14, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_OUTPUT_1, PIO_DEFAULT}
/// Not define in our board, but customer can add this feature
/// Base address of the SPI peripheral connected to the SD card.
#define BOARD_SD_SPI_BASE AT91C_BASE_SPI
/// Identifier of the SPI peripheral connected to the SD card.
#define BOARD_SD_SPI_ID AT91C_ID_SPI
/// List of pins to configure to access the SD card
#define BOARD_SD_SPI_PINS PINS_SPI, PIN_SPI_NPCS1
/// NPCS number
#define BOARD_SD_NPCS 1
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
/// \page "SAM7L-EK - External components"
/// This page lists the definitions related to external on-board components
/// located in the board.h file for the SAM7L-EK.
///
/// !ISO7816
/// - PIN_SMARTCARD_CONNECT
/// - PIN_ISO7816_RSTMC
/// - PINS_ISO7816
/// Smartcard detection pin
#define PIN_SMARTCARD_CONNECT {1 << 5, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_INPUT, PIO_DEFAULT}
/// PIN used for reset the smartcard
#define PIN_ISO7816_RSTMC {1 << 7, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}
/// Pins used for connect the smartcard
#define PINS_ISO7816 PIN_USART0_TXD, PIN_USART0_SCK, PIN_ISO7816_RSTMC
//------------------------------------------------------------------------------
#endif //#ifndef BOARD_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -