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

📄 at91gpio.h

📁 這是一個AT91開發版程式碼 對MCU有興趣可以研究
💻 H
字号:
/* *  ecb_at91.h - AT91RM9200 Programmer *  This programmer uses AT91' GPIO lines * *  2006 by Carlos Camargo *  2007.May.10 Andres Calderon, generalized */#ifndef ECB_AT91_H#define ECB_AT91_H#define MAP_SIZE 4096Ul#define MAP_MASK (MAP_SIZE - 1)#define PIOA_BASE 0xFFFFF400#define PIOB_BASE 0xFFFFF600#define PIOC_BASE 0xFFFFF800#define PIOD_BASE 0xFFFFFA00typedef volatile unsigned int AT91_REG;/* Hardware register definition */typedef struct _AT91S_PIO {    AT91_REG PIO_PER;           /* PIO Enable Register */    AT91_REG PIO_PDR;           /* PIO Disable Register */    AT91_REG PIO_PSR;           /* PIO Status Register */    AT91_REG Reserved0[1];    AT91_REG PIO_OER;           /* Output Enable Register */    AT91_REG PIO_ODR;           /* Output Disable Registerr */    AT91_REG PIO_OSR;           /* Output Status Register */    AT91_REG Reserved1[1];    AT91_REG PIO_IFER;          /* Input Filter Enable Register */    AT91_REG PIO_IFDR;          /* Input Filter Disable Register */    AT91_REG PIO_IFSR;          /* Input Filter Status Register */    AT91_REG Reserved2[1];    AT91_REG PIO_SODR;          /* Set Output Data Register */    AT91_REG PIO_CODR;          /* Clear Output Data Register */    AT91_REG PIO_ODSR;          /* Output Data Status Register */    AT91_REG PIO_PDSR;          /* Pin Data Status Register */    AT91_REG PIO_IER;           /* Interrupt Enable Register */    AT91_REG PIO_IDR;           /* Interrupt Disable Register */    AT91_REG PIO_IMR;           /* Interrupt Mask Register */    AT91_REG PIO_ISR;           /* Interrupt Status Register */    AT91_REG PIO_MDER;          /* Multi-driver Enable Register */    AT91_REG PIO_MDDR;          /* Multi-driver Disable Register */    AT91_REG PIO_MDSR;          /* Multi-driver Status Register */    AT91_REG Reserved3[1];    AT91_REG PIO_PPUDR;         /* Pull-up Disable Register */    AT91_REG PIO_PPUER;         /* Pull-up Enable Register */    AT91_REG PIO_PPUSR;         /* Pad Pull-up Status Register */    AT91_REG Reserved4[1];    AT91_REG PIO_ASR;           /* Select A Register */    AT91_REG PIO_BSR;           /* Select B Register */    AT91_REG PIO_ABSR;          /* AB Select Status Register */    AT91_REG Reserved5[9];    AT91_REG PIO_OWER;          /* Output Write Enable Register */    AT91_REG PIO_OWDR;          /* Output Write Disable Register */    AT91_REG PIO_OWSR;          /* Output Write Status Register */} AT91S_PIO, *AT91PS_PIO;void pio_out(AT91S_PIO * pio, int mask, int val);int pio_in(AT91S_PIO * pio, int mask);AT91S_PIO *pio_map(unsigned int piobase);void pio_enable(AT91S_PIO * pio, int mask);void pio_output_enable(AT91S_PIO * pio, int mask);void pio_input_enable(AT91S_PIO * pio, int mask);void pio_disable_irq(AT91S_PIO * pio, int mask);void pio_disable_multiple_driver(AT91S_PIO * pio, int mask);void pio_disable_pull_ups(AT91S_PIO * pio, int mask);void pio_synchronous_data_output(AT91S_PIO * pio, int mask);#endif

⌨️ 快捷键说明

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