1 #ifndef __SWM320_PORT_H__ 2 #define __SWM320_PORT_H__ 3 4 void PORT_Init(uint32_t PORTx, uint32_t n, uint32_t func, uint32_t digit_in_en); //端口引脚功能选择,其可取值如下: 5 6 #define PORTA 0 7 #define PORTB 1 8 #define PORTC 2 9 #define PORTM 3 10 #define PORTN 4 11 #define PORTP 5 12 13 #define PORTA_PIN0_GPIO 0 14 #define PORTA_PIN0_FUNMUX 1 15 #define PORTA_PIN0_SWCLK 2 16 17 #define PORTA_PIN1_GPIO 0 18 #define PORTA_PIN1_FUNMUX 1 19 #define PORTA_PIN1_SWDIO 2 20 21 #define PORTA_PIN2_GPIO 0 22 #define PORTA_PIN2_FUNMUX 1 23 24 #define PORTA_PIN3_GPIO 0 25 #define PORTA_PIN3_FUNMUX 1 26 27 #define PORTA_PIN4_GPIO 0 28 #define PORTA_PIN4_FUNMUX 1 29 30 #define PORTA_PIN5_GPIO 0 31 #define PORTA_PIN5_FUNMUX 1 32 33 #define PORTA_PIN6_GPIO 0 34 #define PORTA_PIN6_FUNMUX 1 35 36 #define PORTA_PIN7_GPIO 0 37 #define PORTA_PIN7_FUNMUX 1 38 39 #define PORTA_PIN8_GPIO 0 40 #define PORTA_PIN8_FUNMUX 1 41 42 #define PORTA_PIN9_GPIO 0 43 #define PORTA_PIN9_FUNMUX 1 44 #define PORTA_PIN9_ADC0_IN7 3 45 46 #define PORTA_PIN10_GPIO 0 47 #define PORTA_PIN10_FUNMUX 1 48 #define PORTA_PIN10_ADC0_IN6 3 49 50 #define PORTA_PIN11_GPIO 0 51 #define PORTA_PIN11_FUNMUX 1 52 #define PORTA_PIN11_ADC0_IN5 3 53 54 #define PORTA_PIN12_GPIO 0 55 #define PORTA_PIN12_ADC0_IN4 3 56 57 58 #define PORTB_PIN0_GPIO 0 59 #define PORTB_PIN0_FUNMUX 1 60 #define PORTB_PIN0_SD_DETECT 2 61 62 #define PORTB_PIN1_GPIO 0 63 #define PORTB_PIN1_FUNMUX 1 64 #define PORTB_PIN1_SD_CLK 2 65 66 #define PORTB_PIN2_GPIO 0 67 #define PORTB_PIN2_FUNMUX 1 68 #define PORTB_PIN2_SD_CMD 2 69 70 #define PORTB_PIN3_GPIO 0 71 #define PORTB_PIN3_FUNMUX 1 72 #define PORTB_PIN3_SD_D0 2 73 74 #define PORTB_PIN4_GPIO 0 75 #define PORTB_PIN4_FUNMUX 1 76 #define PORTB_PIN4_SD_D1 2 77 78 #define PORTB_PIN5_GPIO 0 79 #define PORTB_PIN5_FUNMUX 1 80 #define PORTB_PIN5_SD_D2 2 81 82 #define PORTB_PIN6_GPIO 0 83 #define PORTB_PIN6_FUNMUX 1 84 #define PORTB_PIN6_SD_D3 2 85 86 #define PORTB_PIN7_GPIO 0 87 #define PORTB_PIN7_FUNMUX 1 88 #define PORTB_PIN7_SD_D4 2 89 90 #define PORTB_PIN8_GPIO 0 91 #define PORTB_PIN8_FUNMUX 1 92 #define PORTB_PIN8_SD_D5 2 93 94 #define PORTB_PIN9_GPIO 0 95 #define PORTB_PIN9_FUNMUX 1 96 #define PORTB_PIN9_SD_D6 2 97 98 #define PORTB_PIN10_GPIO 0 99 #define PORTB_PIN10_FUNMUX 1 100 #define PORTB_PIN10_SD_D7 2 101 102 #define PORTB_PIN11_GPIO 0 103 #define PORTB_PIN11_FUNMUX 1 104 105 #define PORTB_PIN12_GPIO 0 106 107 108 #define PORTC_PIN0_GPIO 0 109 #define PORTC_PIN0_FUNMUX 1 110 111 #define PORTC_PIN1_GPIO 0 112 #define PORTC_PIN1_FUNMUX 1 113 114 #define PORTC_PIN2_GPIO 0 115 #define PORTC_PIN2_FUNMUX 1 116 117 #define PORTC_PIN3_GPIO 0 118 #define PORTC_PIN3_FUNMUX 1 119 120 #define PORTC_PIN4_GPIO 0 121 #define PORTC_PIN4_FUNMUX 1 122 #define PORTC_PIN4_ADC1_IN3 3 123 124 #define PORTC_PIN5_GPIO 0 125 #define PORTC_PIN5_FUNMUX 1 126 #define PORTC_PIN5_ADC1_IN2 3 127 128 #define PORTC_PIN6_GPIO 0 129 #define PORTC_PIN6_FUNMUX 1 130 #define PORTC_PIN6_ADC1_IN1 3 131 132 #define PORTC_PIN7_GPIO 0 133 #define PORTC_PIN7_FUNMUX 1 134 #define PORTC_PIN7_ADC1_IN0 3 135 136 137 #define PORTM_PIN0_GPIO 0 138 #define PORTM_PIN0_FUNMUX 1 139 #define PORTM_PIN0_NORFL_D15 2 140 141 #define PORTM_PIN1_GPIO 0 142 #define PORTM_PIN1_FUNMUX 1 143 #define PORTM_PIN1_NORFL_D14 2 144 145 #define PORTM_PIN2_GPIO 0 146 #define PORTM_PIN2_FUNMUX 1 147 #define PORTM_PIN2_NORFL_D13 2 148 149 #define PORTM_PIN3_GPIO 0 150 #define PORTM_PIN3_FUNMUX 1 151 #define PORTM_PIN3_NORFL_D12 2 152 153 #define PORTM_PIN4_GPIO 0 154 #define PORTM_PIN4_FUNMUX 1 155 #define PORTM_PIN4_NORFL_D11 2 156 157 #define PORTM_PIN5_GPIO 0 158 #define PORTM_PIN5_FUNMUX 1 159 #define PORTM_PIN5_NORFL_D10 2 160 161 #define PORTM_PIN6_GPIO 0 162 #define PORTM_PIN6_FUNMUX 1 163 #define PORTM_PIN6_NORFL_D9 2 164 165 #define PORTM_PIN7_GPIO 0 166 #define PORTM_PIN7_FUNMUX 1 167 #define PORTM_PIN7_NORFL_D8 2 168 169 #define PORTM_PIN8_GPIO 0 170 #define PORTM_PIN8_FUNMUX 1 171 #define PORTM_PIN8_NORFL_D7 2 172 173 #define PORTM_PIN9_GPIO 0 174 #define PORTM_PIN9_FUNMUX 1 175 #define PORTM_PIN9_NORFL_D6 2 176 177 #define PORTM_PIN10_GPIO 0 178 #define PORTM_PIN10_FUNMUX 1 179 #define PORTM_PIN10_NORFL_D5 2 180 181 #define PORTM_PIN11_GPIO 0 182 #define PORTM_PIN11_FUNMUX 1 183 #define PORTM_PIN11_NORFL_D4 2 184 185 #define PORTM_PIN12_GPIO 0 186 #define PORTM_PIN12_FUNMUX 1 187 #define PORTM_PIN12_NORFL_D3 2 188 189 #define PORTM_PIN13_GPIO 0 190 #define PORTM_PIN13_FUNMUX 1 191 #define PORTM_PIN13_NORFL_D2 2 192 193 #define PORTM_PIN14_GPIO 0 194 #define PORTM_PIN14_FUNMUX 1 195 #define PORTM_PIN14_NORFL_D1 2 196 197 #define PORTM_PIN15_GPIO 0 198 #define PORTM_PIN15_FUNMUX 1 199 #define PORTM_PIN15_NORFL_D0 2 200 201 #define PORTM_PIN16_GPIO 0 202 #define PORTM_PIN16_FUNMUX 1 203 #define PORTM_PIN16_NORFL_OEN 2 204 205 #define PORTM_PIN17_GPIO 0 206 #define PORTM_PIN17_FUNMUX 1 207 #define PORTM_PIN17_NORFL_WEN 2 208 209 #define PORTM_PIN18_GPIO 0 210 #define PORTM_PIN18_FUNMUX 1 211 #define PORTM_PIN18_NORFL_CSN 2 212 213 #define PORTM_PIN19_GPIO 0 214 #define PORTM_PIN19_FUNMUX 1 215 #define PORTM_PIN19_SDRAM_CSN 2 216 217 #define PORTM_PIN20_GPIO 0 218 #define PORTM_PIN20_FUNMUX 1 219 #define PORTM_PIN20_SRAM_CSN 2 220 221 #define PORTM_PIN21_GPIO 0 222 #define PORTM_PIN21_FUNMUX 1 223 #define PORTM_PIN21_SDRAM_CKE 2 224 225 226 #define PORTN_PIN0_GPIO 0 227 #define PORTN_PIN0_FUNMUX 1 228 #define PORTN_PIN0_LCD_D0 2 229 #define PORTN_PIN0_ADC1_IN4 3 230 231 #define PORTN_PIN1_GPIO 0 232 #define PORTN_PIN1_FUNMUX 1 233 #define PORTN_PIN1_LCD_D1 2 234 #define PORTN_PIN1_ADC1_IN5 3 235 236 #define PORTN_PIN2_GPIO 0 237 #define PORTN_PIN2_FUNMUX 1 238 #define PORTN_PIN2_LCD_D2 2 239 #define PORTN_PIN2_ADC1_IN6 3 240 241 #define PORTN_PIN3_GPIO 0 242 #define PORTN_PIN3_FUNMUX 1 243 #define PORTN_PIN3_LCD_D3 2 244 245 #define PORTN_PIN4_GPIO 0 246 #define PORTN_PIN4_FUNMUX 1 247 #define PORTN_PIN4_LCD_D4 2 248 249 #define PORTN_PIN5_GPIO 0 250 #define PORTN_PIN5_FUNMUX 1 251 #define PORTN_PIN5_LCD_D5 2 252 253 #define PORTN_PIN6_GPIO 0 254 #define PORTN_PIN6_FUNMUX 1 255 #define PORTN_PIN6_LCD_D6 2 256 257 #define PORTN_PIN7_GPIO 0 258 #define PORTN_PIN7_FUNMUX 1 259 #define PORTN_PIN7_LCD_D7 2 260 261 #define PORTN_PIN8_GPIO 0 262 #define PORTN_PIN8_FUNMUX 1 263 #define PORTN_PIN8_LCD_D8 2 264 265 #define PORTN_PIN9_GPIO 0 266 #define PORTN_PIN9_FUNMUX 1 267 #define PORTN_PIN9_LCD_D9 2 268 269 #define PORTN_PIN10_GPIO 0 270 #define PORTN_PIN10_FUNMUX 1 271 #define PORTN_PIN10_LCD_D10 2 272 273 #define PORTN_PIN11_GPIO 0 274 #define PORTN_PIN11_FUNMUX 1 275 #define PORTN_PIN11_LCD_D11 2 276 277 #define PORTN_PIN12_GPIO 0 278 #define PORTN_PIN12_FUNMUX 1 279 #define PORTN_PIN12_LCD_D12 2 280 281 #define PORTN_PIN13_GPIO 0 282 #define PORTN_PIN13_FUNMUX 1 283 #define PORTN_PIN13_LCD_D13 2 284 285 #define PORTN_PIN14_GPIO 0 286 #define PORTN_PIN14_FUNMUX 1 287 #define PORTN_PIN14_LCD_D14 2 288 289 #define PORTN_PIN15_GPIO 0 290 #define PORTN_PIN15_FUNMUX 1 291 #define PORTN_PIN15_LCD_D15 2 292 293 #define PORTN_PIN16_GPIO 0 294 #define PORTN_PIN16_FUNMUX 1 295 #define PORTN_PIN16_LCD_RD 2 296 #define PORTN_PIN16_LCD_DOTCK 2 297 298 #define PORTN_PIN17_GPIO 0 299 #define PORTN_PIN17_FUNMUX 1 300 #define PORTN_PIN17_LCD_CS 2 301 #define PORTN_PIN17_LCD_VSYNC 2 302 303 #define PORTN_PIN18_GPIO 0 304 #define PORTN_PIN18_LCD_RS 2 305 #define PORTN_PIN18_LCD_DATEN 2 //Data Enable 306 307 #define PORTN_PIN19_GPIO 0 308 #define PORTN_PIN19_LCD_WR 2 309 #define PORTN_PIN19_LCD_HSYNC 2 310 311 312 #define PORTP_PIN0_GPIO 0 313 #define PORTP_PIN0_FUNMUX 1 314 #define PORTP_PIN0_NORFL_A0 2 315 316 #define PORTP_PIN1_GPIO 0 317 #define PORTP_PIN1_FUNMUX 1 318 #define PORTP_PIN1_NORFL_A1 2 319 320 #define PORTP_PIN2_GPIO 0 321 #define PORTP_PIN2_FUNMUX 1 322 #define PORTP_PIN2_NORFL_A2 2 323 #define PORTP_PIN2_SD_D7 3 324 325 #define PORTP_PIN3_GPIO 0 326 #define PORTP_PIN3_FUNMUX 1 327 #define PORTP_PIN3_NORFL_A3 2 328 #define PORTP_PIN3_SD_D6 3 329 330 #define PORTP_PIN4_GPIO 0 331 #define PORTP_PIN4_FUNMUX 1 332 #define PORTP_PIN4_NORFL_A4 2 333 #define PORTP_PIN4_SD_D5 3 334 335 #define PORTP_PIN5_GPIO 0 336 #define PORTP_PIN5_FUNMUX 1 337 #define PORTP_PIN5_NORFL_A5 2 338 #define PORTP_PIN5_SD_D4 3 339 340 #define PORTP_PIN6_GPIO 0 341 #define PORTP_PIN6_FUNMUX 1 342 #define PORTP_PIN6_NORFL_A6 2 343 #define PORTP_PIN6_SD_D3 3 344 345 #define PORTP_PIN7_GPIO 0 346 #define PORTP_PIN7_FUNMUX 1 347 #define PORTP_PIN7_NORFL_A7 2 348 #define PORTP_PIN7_SD_D2 3 349 350 #define PORTP_PIN8_GPIO 0 351 #define PORTP_PIN8_FUNMUX 1 352 #define PORTP_PIN8_NORFL_A8 2 353 #define PORTP_PIN8_SD_D1 3 354 355 #define PORTP_PIN9_GPIO 0 356 #define PORTP_PIN9_FUNMUX 1 357 #define PORTP_PIN9_NORFL_A9 2 358 #define PORTP_PIN9_SD_D0 3 359 360 #define PORTP_PIN10_GPIO 0 361 #define PORTP_PIN10_FUNMUX 1 362 #define PORTP_PIN10_NORFL_A10 2 363 #define PORTP_PIN10_SD_CMD 3 364 365 #define PORTP_PIN11_GPIO 0 366 #define PORTP_PIN11_FUNMUX 1 367 #define PORTP_PIN11_NORFL_A11 2 368 #define PORTP_PIN11_SD_CLK 3 369 370 #define PORTP_PIN12_GPIO 0 371 #define PORTP_PIN12_FUNMUX 1 372 #define PORTP_PIN12_NORFL_A12 2 373 #define PORTP_PIN12_SD_DETECT 3 374 375 #define PORTP_PIN13_GPIO 0 376 #define PORTP_PIN13_FUNMUX 1 377 #define PORTP_PIN13_NORFL_A13 2 378 #define PORTP_PIN13_SDRAM_CLK 2 379 380 #define PORTP_PIN14_GPIO 0 381 #define PORTP_PIN14_FUNMUX 1 382 #define PORTP_PIN14_NORFL_A14 2 383 #define PORTP_PIN14_SDRAM_CAS 2 384 385 #define PORTP_PIN15_GPIO 0 386 #define PORTP_PIN15_FUNMUX 1 387 #define PORTP_PIN15_NORFL_A15 2 388 #define PORTP_PIN15_SDRAM_RAS 2 389 390 #define PORTP_PIN16_GPIO 0 391 #define PORTP_PIN16_FUNMUX 1 392 #define PORTP_PIN16_NORFL_A16 2 393 #define PORTP_PIN16_SDRAM_LDQ 2 394 395 #define PORTP_PIN17_GPIO 0 396 #define PORTP_PIN17_FUNMUX 1 397 #define PORTP_PIN17_NORFL_A17 2 398 #define PORTP_PIN17_SDRAM_UDQ 2 399 400 #define PORTP_PIN18_GPIO 0 401 #define PORTP_PIN18_FUNMUX 1 402 #define PORTP_PIN18_NORFL_A18 2 403 404 #define PORTP_PIN19_GPIO 0 405 #define PORTP_PIN19_FUNMUX 1 406 #define PORTP_PIN19_NORFL_A19 2 407 408 #define PORTP_PIN20_GPIO 0 409 #define PORTP_PIN20_FUNMUX 1 410 #define PORTP_PIN20_NORFL_A20 2 411 #define PORTP_PIN20_SDRAM_BA0 2 412 413 #define PORTP_PIN21_GPIO 0 414 #define PORTP_PIN21_FUNMUX 1 415 #define PORTP_PIN21_NORFL_A21 2 416 #define PORTP_PIN21_SDRAM_BA1 2 417 418 #define PORTP_PIN22_GPIO 0 419 #define PORTP_PIN22_FUNMUX 1 420 #define PORTP_PIN22_NORFL_A22 2 421 422 #define PORTP_PIN23_GPIO 0 423 #define PORTP_PIN23_FUNMUX 1 424 #define PORTP_PIN23_NORFL_A23 2 425 426 427 428 /* 下面宏定义的取值全部在正确值的基础上“加100”,以区分上面宏定义的值,从而方便库函数的编写*/ 429 /* 下面这些值是偶数编号引脚的功能取值,如PIN0、PIN2、... */ 430 #define FUNMUX0_UART0_RXD 100 431 #define FUNMUX0_UART1_RXD 101 432 #define FUNMUX0_UART2_RXD 102 433 #define FUNMUX0_UART3_RXD 103 434 #define FUNMUX0_I2C0_SCL 105 435 #define FUNMUX0_I2C1_SCL 106 436 #define FUNMUX0_PWM0A_OUT 107 437 #define FUNMUX0_PWM2A_OUT 108 438 #define FUNMUX0_PWM4A_OUT 109 439 #define FUNMUX0_PWM0B_OUT 110 440 #define FUNMUX0_PWM2B_OUT 111 441 #define FUNMUX0_PWM4B_OUT 112 442 #define FUNMUX0_PWM_BREAK 113 443 #define FUNMUX0_TIMR0_IN 114 444 #define FUNMUX0_TIMR2_IN 115 445 #define FUNMUX0_CAN_RX 116 446 #define FUNMUX0_SPI0_SSEL 117 447 #define FUNMUX0_SPI0_MOSI 118 448 #define FUNMUX0_SPI1_SSEL 119 449 #define FUNMUX0_SPI1_MOSI 120 450 #define FUNMUX0_UART0_CTS 121 451 #define FUNMUX0_UART1_CTS 122 452 #define FUNMUX0_UART2_CTS 123 453 #define FUNMUX0_UART3_CTS 124 454 455 /* 下面这些值是奇数编号引脚的功能取值,如PIN1、PIN3、... */ 456 #define FUNMUX1_UART0_TXD 100 457 #define FUNMUX1_UART1_TXD 101 458 #define FUNMUX1_UART2_TXD 102 459 #define FUNMUX1_UART3_TXD 103 460 #define FUNMUX1_I2C0_SDA 105 461 #define FUNMUX1_I2C1_SDA 106 462 #define FUNMUX1_PWM1A_OUT 107 463 #define FUNMUX1_PWM3A_OUT 108 464 #define FUNMUX1_PWM5A_OUT 109 465 #define FUNMUX1_PWM1B_OUT 110 466 #define FUNMUX1_PWM3B_OUT 111 467 #define FUNMUX1_PWM5B_OUT 112 468 #define FUNMUX1_PULSE_IN 113 469 #define FUNMUX1_TIMR1_IN 114 470 #define FUNMUX1_TIMR3_IN 115 471 #define FUNMUX1_CAN_TX 116 472 #define FUNMUX1_SPI0_SCLK 117 473 #define FUNMUX1_SPI0_MISO 118 474 #define FUNMUX1_SPI1_SCLK 119 475 #define FUNMUX1_SPI1_MISO 120 476 #define FUNMUX1_UART0_RTS 121 477 #define FUNMUX1_UART1_RTS 122 478 #define FUNMUX1_UART2_RTS 123 479 #define FUNMUX1_UART3_RTS 124 480 481 482 #endif //__SWM320_PORT_H__ 483