475 lines
11 KiB
C
475 lines
11 KiB
C
#ifndef __SWM320_PORT_H__
|
||
#define __SWM320_PORT_H__
|
||
|
||
void PORT_Init(uint32_t PORTx, uint32_t n, uint32_t func, uint32_t digit_in_en); //端口引脚功能选择,其可取值如下:
|
||
|
||
#define PORTA 0
|
||
#define PORTB 1
|
||
#define PORTC 2
|
||
#define PORTM 3
|
||
#define PORTN 4
|
||
#define PORTP 5
|
||
|
||
#define PORTA_PIN0_GPIO 0
|
||
#define PORTA_PIN0_FUNMUX 1
|
||
#define PORTA_PIN0_SWCLK 2
|
||
|
||
#define PORTA_PIN1_GPIO 0
|
||
#define PORTA_PIN1_FUNMUX 1
|
||
#define PORTA_PIN1_SWDIO 2
|
||
|
||
#define PORTA_PIN2_GPIO 0
|
||
#define PORTA_PIN2_FUNMUX 1
|
||
|
||
#define PORTA_PIN3_GPIO 0
|
||
#define PORTA_PIN3_FUNMUX 1
|
||
|
||
#define PORTA_PIN4_GPIO 0
|
||
#define PORTA_PIN4_FUNMUX 1
|
||
|
||
#define PORTA_PIN5_GPIO 0
|
||
#define PORTA_PIN5_FUNMUX 1
|
||
|
||
#define PORTA_PIN6_GPIO 0
|
||
#define PORTA_PIN6_FUNMUX 1
|
||
|
||
#define PORTA_PIN7_GPIO 0
|
||
#define PORTA_PIN7_FUNMUX 1
|
||
|
||
#define PORTA_PIN8_GPIO 0
|
||
#define PORTA_PIN8_FUNMUX 1
|
||
|
||
#define PORTA_PIN9_GPIO 0
|
||
#define PORTA_PIN9_FUNMUX 1
|
||
#define PORTA_PIN9_ADC0_IN7 3
|
||
|
||
#define PORTA_PIN10_GPIO 0
|
||
#define PORTA_PIN10_FUNMUX 1
|
||
#define PORTA_PIN10_ADC0_IN6 3
|
||
|
||
#define PORTA_PIN11_GPIO 0
|
||
#define PORTA_PIN11_FUNMUX 1
|
||
#define PORTA_PIN11_ADC0_IN5 3
|
||
|
||
#define PORTA_PIN12_GPIO 0
|
||
#define PORTA_PIN12_ADC0_IN4 3
|
||
|
||
#define PORTB_PIN0_GPIO 0
|
||
#define PORTB_PIN0_FUNMUX 1
|
||
#define PORTB_PIN0_SD_DETECT 2
|
||
|
||
#define PORTB_PIN1_GPIO 0
|
||
#define PORTB_PIN1_FUNMUX 1
|
||
#define PORTB_PIN1_SD_CLK 2
|
||
|
||
#define PORTB_PIN2_GPIO 0
|
||
#define PORTB_PIN2_FUNMUX 1
|
||
#define PORTB_PIN2_SD_CMD 2
|
||
|
||
#define PORTB_PIN3_GPIO 0
|
||
#define PORTB_PIN3_FUNMUX 1
|
||
#define PORTB_PIN3_SD_D0 2
|
||
|
||
#define PORTB_PIN4_GPIO 0
|
||
#define PORTB_PIN4_FUNMUX 1
|
||
#define PORTB_PIN4_SD_D1 2
|
||
|
||
#define PORTB_PIN5_GPIO 0
|
||
#define PORTB_PIN5_FUNMUX 1
|
||
#define PORTB_PIN5_SD_D2 2
|
||
|
||
#define PORTB_PIN6_GPIO 0
|
||
#define PORTB_PIN6_FUNMUX 1
|
||
#define PORTB_PIN6_SD_D3 2
|
||
|
||
#define PORTB_PIN7_GPIO 0
|
||
#define PORTB_PIN7_FUNMUX 1
|
||
#define PORTB_PIN7_SD_D4 2
|
||
|
||
#define PORTB_PIN8_GPIO 0
|
||
#define PORTB_PIN8_FUNMUX 1
|
||
#define PORTB_PIN8_SD_D5 2
|
||
|
||
#define PORTB_PIN9_GPIO 0
|
||
#define PORTB_PIN9_FUNMUX 1
|
||
#define PORTB_PIN9_SD_D6 2
|
||
|
||
#define PORTB_PIN10_GPIO 0
|
||
#define PORTB_PIN10_FUNMUX 1
|
||
#define PORTB_PIN10_SD_D7 2
|
||
|
||
#define PORTB_PIN11_GPIO 0
|
||
#define PORTB_PIN11_FUNMUX 1
|
||
|
||
#define PORTB_PIN12_GPIO 0
|
||
|
||
#define PORTC_PIN0_GPIO 0
|
||
#define PORTC_PIN0_FUNMUX 1
|
||
|
||
#define PORTC_PIN1_GPIO 0
|
||
#define PORTC_PIN1_FUNMUX 1
|
||
|
||
#define PORTC_PIN2_GPIO 0
|
||
#define PORTC_PIN2_FUNMUX 1
|
||
|
||
#define PORTC_PIN3_GPIO 0
|
||
#define PORTC_PIN3_FUNMUX 1
|
||
|
||
#define PORTC_PIN4_GPIO 0
|
||
#define PORTC_PIN4_FUNMUX 1
|
||
#define PORTC_PIN4_ADC1_IN3 3
|
||
|
||
#define PORTC_PIN5_GPIO 0
|
||
#define PORTC_PIN5_FUNMUX 1
|
||
#define PORTC_PIN5_ADC1_IN2 3
|
||
|
||
#define PORTC_PIN6_GPIO 0
|
||
#define PORTC_PIN6_FUNMUX 1
|
||
#define PORTC_PIN6_ADC1_IN1 3
|
||
|
||
#define PORTC_PIN7_GPIO 0
|
||
#define PORTC_PIN7_FUNMUX 1
|
||
#define PORTC_PIN7_ADC1_IN0 3
|
||
|
||
#define PORTM_PIN0_GPIO 0
|
||
#define PORTM_PIN0_FUNMUX 1
|
||
#define PORTM_PIN0_NORFL_D15 2
|
||
|
||
#define PORTM_PIN1_GPIO 0
|
||
#define PORTM_PIN1_FUNMUX 1
|
||
#define PORTM_PIN1_NORFL_D14 2
|
||
|
||
#define PORTM_PIN2_GPIO 0
|
||
#define PORTM_PIN2_FUNMUX 1
|
||
#define PORTM_PIN2_NORFL_D13 2
|
||
|
||
#define PORTM_PIN3_GPIO 0
|
||
#define PORTM_PIN3_FUNMUX 1
|
||
#define PORTM_PIN3_NORFL_D12 2
|
||
|
||
#define PORTM_PIN4_GPIO 0
|
||
#define PORTM_PIN4_FUNMUX 1
|
||
#define PORTM_PIN4_NORFL_D11 2
|
||
|
||
#define PORTM_PIN5_GPIO 0
|
||
#define PORTM_PIN5_FUNMUX 1
|
||
#define PORTM_PIN5_NORFL_D10 2
|
||
|
||
#define PORTM_PIN6_GPIO 0
|
||
#define PORTM_PIN6_FUNMUX 1
|
||
#define PORTM_PIN6_NORFL_D9 2
|
||
|
||
#define PORTM_PIN7_GPIO 0
|
||
#define PORTM_PIN7_FUNMUX 1
|
||
#define PORTM_PIN7_NORFL_D8 2
|
||
|
||
#define PORTM_PIN8_GPIO 0
|
||
#define PORTM_PIN8_FUNMUX 1
|
||
#define PORTM_PIN8_NORFL_D7 2
|
||
|
||
#define PORTM_PIN9_GPIO 0
|
||
#define PORTM_PIN9_FUNMUX 1
|
||
#define PORTM_PIN9_NORFL_D6 2
|
||
|
||
#define PORTM_PIN10_GPIO 0
|
||
#define PORTM_PIN10_FUNMUX 1
|
||
#define PORTM_PIN10_NORFL_D5 2
|
||
|
||
#define PORTM_PIN11_GPIO 0
|
||
#define PORTM_PIN11_FUNMUX 1
|
||
#define PORTM_PIN11_NORFL_D4 2
|
||
|
||
#define PORTM_PIN12_GPIO 0
|
||
#define PORTM_PIN12_FUNMUX 1
|
||
#define PORTM_PIN12_NORFL_D3 2
|
||
|
||
#define PORTM_PIN13_GPIO 0
|
||
#define PORTM_PIN13_FUNMUX 1
|
||
#define PORTM_PIN13_NORFL_D2 2
|
||
|
||
#define PORTM_PIN14_GPIO 0
|
||
#define PORTM_PIN14_FUNMUX 1
|
||
#define PORTM_PIN14_NORFL_D1 2
|
||
|
||
#define PORTM_PIN15_GPIO 0
|
||
#define PORTM_PIN15_FUNMUX 1
|
||
#define PORTM_PIN15_NORFL_D0 2
|
||
|
||
#define PORTM_PIN16_GPIO 0
|
||
#define PORTM_PIN16_FUNMUX 1
|
||
#define PORTM_PIN16_NORFL_OEN 2
|
||
|
||
#define PORTM_PIN17_GPIO 0
|
||
#define PORTM_PIN17_FUNMUX 1
|
||
#define PORTM_PIN17_NORFL_WEN 2
|
||
|
||
#define PORTM_PIN18_GPIO 0
|
||
#define PORTM_PIN18_FUNMUX 1
|
||
#define PORTM_PIN18_NORFL_CSN 2
|
||
|
||
#define PORTM_PIN19_GPIO 0
|
||
#define PORTM_PIN19_FUNMUX 1
|
||
#define PORTM_PIN19_SDRAM_CSN 2
|
||
|
||
#define PORTM_PIN20_GPIO 0
|
||
#define PORTM_PIN20_FUNMUX 1
|
||
#define PORTM_PIN20_SRAM_CSN 2
|
||
|
||
#define PORTM_PIN21_GPIO 0
|
||
#define PORTM_PIN21_FUNMUX 1
|
||
#define PORTM_PIN21_SDRAM_CKE 2
|
||
|
||
#define PORTN_PIN0_GPIO 0
|
||
#define PORTN_PIN0_FUNMUX 1
|
||
#define PORTN_PIN0_LCD_D0 2
|
||
#define PORTN_PIN0_ADC1_IN4 3
|
||
|
||
#define PORTN_PIN1_GPIO 0
|
||
#define PORTN_PIN1_FUNMUX 1
|
||
#define PORTN_PIN1_LCD_D1 2
|
||
#define PORTN_PIN1_ADC1_IN5 3
|
||
|
||
#define PORTN_PIN2_GPIO 0
|
||
#define PORTN_PIN2_FUNMUX 1
|
||
#define PORTN_PIN2_LCD_D2 2
|
||
#define PORTN_PIN2_ADC1_IN6 3
|
||
|
||
#define PORTN_PIN3_GPIO 0
|
||
#define PORTN_PIN3_FUNMUX 1
|
||
#define PORTN_PIN3_LCD_D3 2
|
||
|
||
#define PORTN_PIN4_GPIO 0
|
||
#define PORTN_PIN4_FUNMUX 1
|
||
#define PORTN_PIN4_LCD_D4 2
|
||
|
||
#define PORTN_PIN5_GPIO 0
|
||
#define PORTN_PIN5_FUNMUX 1
|
||
#define PORTN_PIN5_LCD_D5 2
|
||
|
||
#define PORTN_PIN6_GPIO 0
|
||
#define PORTN_PIN6_FUNMUX 1
|
||
#define PORTN_PIN6_LCD_D6 2
|
||
|
||
#define PORTN_PIN7_GPIO 0
|
||
#define PORTN_PIN7_FUNMUX 1
|
||
#define PORTN_PIN7_LCD_D7 2
|
||
|
||
#define PORTN_PIN8_GPIO 0
|
||
#define PORTN_PIN8_FUNMUX 1
|
||
#define PORTN_PIN8_LCD_D8 2
|
||
|
||
#define PORTN_PIN9_GPIO 0
|
||
#define PORTN_PIN9_FUNMUX 1
|
||
#define PORTN_PIN9_LCD_D9 2
|
||
|
||
#define PORTN_PIN10_GPIO 0
|
||
#define PORTN_PIN10_FUNMUX 1
|
||
#define PORTN_PIN10_LCD_D10 2
|
||
|
||
#define PORTN_PIN11_GPIO 0
|
||
#define PORTN_PIN11_FUNMUX 1
|
||
#define PORTN_PIN11_LCD_D11 2
|
||
|
||
#define PORTN_PIN12_GPIO 0
|
||
#define PORTN_PIN12_FUNMUX 1
|
||
#define PORTN_PIN12_LCD_D12 2
|
||
|
||
#define PORTN_PIN13_GPIO 0
|
||
#define PORTN_PIN13_FUNMUX 1
|
||
#define PORTN_PIN13_LCD_D13 2
|
||
|
||
#define PORTN_PIN14_GPIO 0
|
||
#define PORTN_PIN14_FUNMUX 1
|
||
#define PORTN_PIN14_LCD_D14 2
|
||
|
||
#define PORTN_PIN15_GPIO 0
|
||
#define PORTN_PIN15_FUNMUX 1
|
||
#define PORTN_PIN15_LCD_D15 2
|
||
|
||
#define PORTN_PIN16_GPIO 0
|
||
#define PORTN_PIN16_FUNMUX 1
|
||
#define PORTN_PIN16_LCD_RD 2
|
||
#define PORTN_PIN16_LCD_DOTCK 2
|
||
|
||
#define PORTN_PIN17_GPIO 0
|
||
#define PORTN_PIN17_FUNMUX 1
|
||
#define PORTN_PIN17_LCD_CS 2
|
||
#define PORTN_PIN17_LCD_VSYNC 2
|
||
|
||
#define PORTN_PIN18_GPIO 0
|
||
#define PORTN_PIN18_LCD_RS 2
|
||
#define PORTN_PIN18_LCD_DATEN 2 //Data Enable
|
||
|
||
#define PORTN_PIN19_GPIO 0
|
||
#define PORTN_PIN19_LCD_WR 2
|
||
#define PORTN_PIN19_LCD_HSYNC 2
|
||
|
||
#define PORTP_PIN0_GPIO 0
|
||
#define PORTP_PIN0_FUNMUX 1
|
||
#define PORTP_PIN0_NORFL_A0 2
|
||
|
||
#define PORTP_PIN1_GPIO 0
|
||
#define PORTP_PIN1_FUNMUX 1
|
||
#define PORTP_PIN1_NORFL_A1 2
|
||
|
||
#define PORTP_PIN2_GPIO 0
|
||
#define PORTP_PIN2_FUNMUX 1
|
||
#define PORTP_PIN2_NORFL_A2 2
|
||
#define PORTP_PIN2_SD_D7 3
|
||
|
||
#define PORTP_PIN3_GPIO 0
|
||
#define PORTP_PIN3_FUNMUX 1
|
||
#define PORTP_PIN3_NORFL_A3 2
|
||
#define PORTP_PIN3_SD_D6 3
|
||
|
||
#define PORTP_PIN4_GPIO 0
|
||
#define PORTP_PIN4_FUNMUX 1
|
||
#define PORTP_PIN4_NORFL_A4 2
|
||
#define PORTP_PIN4_SD_D5 3
|
||
|
||
#define PORTP_PIN5_GPIO 0
|
||
#define PORTP_PIN5_FUNMUX 1
|
||
#define PORTP_PIN5_NORFL_A5 2
|
||
#define PORTP_PIN5_SD_D4 3
|
||
|
||
#define PORTP_PIN6_GPIO 0
|
||
#define PORTP_PIN6_FUNMUX 1
|
||
#define PORTP_PIN6_NORFL_A6 2
|
||
#define PORTP_PIN6_SD_D3 3
|
||
|
||
#define PORTP_PIN7_GPIO 0
|
||
#define PORTP_PIN7_FUNMUX 1
|
||
#define PORTP_PIN7_NORFL_A7 2
|
||
#define PORTP_PIN7_SD_D2 3
|
||
|
||
#define PORTP_PIN8_GPIO 0
|
||
#define PORTP_PIN8_FUNMUX 1
|
||
#define PORTP_PIN8_NORFL_A8 2
|
||
#define PORTP_PIN8_SD_D1 3
|
||
|
||
#define PORTP_PIN9_GPIO 0
|
||
#define PORTP_PIN9_FUNMUX 1
|
||
#define PORTP_PIN9_NORFL_A9 2
|
||
#define PORTP_PIN9_SD_D0 3
|
||
|
||
#define PORTP_PIN10_GPIO 0
|
||
#define PORTP_PIN10_FUNMUX 1
|
||
#define PORTP_PIN10_NORFL_A10 2
|
||
#define PORTP_PIN10_SD_CMD 3
|
||
|
||
#define PORTP_PIN11_GPIO 0
|
||
#define PORTP_PIN11_FUNMUX 1
|
||
#define PORTP_PIN11_NORFL_A11 2
|
||
#define PORTP_PIN11_SD_CLK 3
|
||
|
||
#define PORTP_PIN12_GPIO 0
|
||
#define PORTP_PIN12_FUNMUX 1
|
||
#define PORTP_PIN12_NORFL_A12 2
|
||
#define PORTP_PIN12_SD_DETECT 3
|
||
|
||
#define PORTP_PIN13_GPIO 0
|
||
#define PORTP_PIN13_FUNMUX 1
|
||
#define PORTP_PIN13_NORFL_A13 2
|
||
#define PORTP_PIN13_SDRAM_CLK 2
|
||
|
||
#define PORTP_PIN14_GPIO 0
|
||
#define PORTP_PIN14_FUNMUX 1
|
||
#define PORTP_PIN14_NORFL_A14 2
|
||
#define PORTP_PIN14_SDRAM_CAS 2
|
||
|
||
#define PORTP_PIN15_GPIO 0
|
||
#define PORTP_PIN15_FUNMUX 1
|
||
#define PORTP_PIN15_NORFL_A15 2
|
||
#define PORTP_PIN15_SDRAM_RAS 2
|
||
|
||
#define PORTP_PIN16_GPIO 0
|
||
#define PORTP_PIN16_FUNMUX 1
|
||
#define PORTP_PIN16_NORFL_A16 2
|
||
#define PORTP_PIN16_SDRAM_LDQ 2
|
||
|
||
#define PORTP_PIN17_GPIO 0
|
||
#define PORTP_PIN17_FUNMUX 1
|
||
#define PORTP_PIN17_NORFL_A17 2
|
||
#define PORTP_PIN17_SDRAM_UDQ 2
|
||
|
||
#define PORTP_PIN18_GPIO 0
|
||
#define PORTP_PIN18_FUNMUX 1
|
||
#define PORTP_PIN18_NORFL_A18 2
|
||
|
||
#define PORTP_PIN19_GPIO 0
|
||
#define PORTP_PIN19_FUNMUX 1
|
||
#define PORTP_PIN19_NORFL_A19 2
|
||
|
||
#define PORTP_PIN20_GPIO 0
|
||
#define PORTP_PIN20_FUNMUX 1
|
||
#define PORTP_PIN20_NORFL_A20 2
|
||
#define PORTP_PIN20_SDRAM_BA0 2
|
||
|
||
#define PORTP_PIN21_GPIO 0
|
||
#define PORTP_PIN21_FUNMUX 1
|
||
#define PORTP_PIN21_NORFL_A21 2
|
||
#define PORTP_PIN21_SDRAM_BA1 2
|
||
|
||
#define PORTP_PIN22_GPIO 0
|
||
#define PORTP_PIN22_FUNMUX 1
|
||
#define PORTP_PIN22_NORFL_A22 2
|
||
|
||
#define PORTP_PIN23_GPIO 0
|
||
#define PORTP_PIN23_FUNMUX 1
|
||
#define PORTP_PIN23_NORFL_A23 2
|
||
|
||
/* 下面宏定义的取值全部在正确值的基础上“加100”,以区分上面宏定义的值,从而方便库函数的编写*/
|
||
/* 下面这些值是偶数编号引脚的功能取值,如PIN0、PIN2、... */
|
||
#define FUNMUX0_UART0_RXD 100
|
||
#define FUNMUX0_UART1_RXD 101
|
||
#define FUNMUX0_UART2_RXD 102
|
||
#define FUNMUX0_UART3_RXD 103
|
||
#define FUNMUX0_I2C0_SCL 105
|
||
#define FUNMUX0_I2C1_SCL 106
|
||
#define FUNMUX0_PWM0A_OUT 107
|
||
#define FUNMUX0_PWM2A_OUT 108
|
||
#define FUNMUX0_PWM4A_OUT 109
|
||
#define FUNMUX0_PWM0B_OUT 110
|
||
#define FUNMUX0_PWM2B_OUT 111
|
||
#define FUNMUX0_PWM4B_OUT 112
|
||
#define FUNMUX0_PWM_BREAK 113
|
||
#define FUNMUX0_TIMR0_IN 114
|
||
#define FUNMUX0_TIMR2_IN 115
|
||
#define FUNMUX0_CAN_RX 116
|
||
#define FUNMUX0_SPI0_SSEL 117
|
||
#define FUNMUX0_SPI0_MOSI 118
|
||
#define FUNMUX0_SPI1_SSEL 119
|
||
#define FUNMUX0_SPI1_MOSI 120
|
||
#define FUNMUX0_UART0_CTS 121
|
||
#define FUNMUX0_UART1_CTS 122
|
||
#define FUNMUX0_UART2_CTS 123
|
||
#define FUNMUX0_UART3_CTS 124
|
||
|
||
/* 下面这些值是奇数编号引脚的功能取值,如PIN1、PIN3、... */
|
||
#define FUNMUX1_UART0_TXD 100
|
||
#define FUNMUX1_UART1_TXD 101
|
||
#define FUNMUX1_UART2_TXD 102
|
||
#define FUNMUX1_UART3_TXD 103
|
||
#define FUNMUX1_I2C0_SDA 105
|
||
#define FUNMUX1_I2C1_SDA 106
|
||
#define FUNMUX1_PWM1A_OUT 107
|
||
#define FUNMUX1_PWM3A_OUT 108
|
||
#define FUNMUX1_PWM5A_OUT 109
|
||
#define FUNMUX1_PWM1B_OUT 110
|
||
#define FUNMUX1_PWM3B_OUT 111
|
||
#define FUNMUX1_PWM5B_OUT 112
|
||
#define FUNMUX1_PULSE_IN 113
|
||
#define FUNMUX1_TIMR1_IN 114
|
||
#define FUNMUX1_TIMR3_IN 115
|
||
#define FUNMUX1_CAN_TX 116
|
||
#define FUNMUX1_SPI0_SCLK 117
|
||
#define FUNMUX1_SPI0_MISO 118
|
||
#define FUNMUX1_SPI1_SCLK 119
|
||
#define FUNMUX1_SPI1_MISO 120
|
||
#define FUNMUX1_UART0_RTS 121
|
||
#define FUNMUX1_UART1_RTS 122
|
||
#define FUNMUX1_UART2_RTS 123
|
||
#define FUNMUX1_UART3_RTS 124
|
||
|
||
#endif //__SWM320_PORT_H__
|