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