Kamcho Library 02.00.03  lib.kamcho.02.00.03.287
gpio_sfrs.h
Go to the documentation of this file.
1 
12 #ifndef __GPIO_SFRS_H__
13 #define __GPIO_SFRS_H__
14 
15 #include <stdbool.h>
16 
20 typedef struct GPIO_SFRS_t {
21  uint8_t PORTA;
22  uint8_t PORTB;
23  uint8_t PORTC;
24  uint8_t PORTD;
25  uint8_t PORTE;
26  uint8_t PORTA_OutputEn;
27  uint8_t PORTB_OutputEn;
28  uint8_t PORTC_OutputEn;
29  uint8_t PORTD_OutputEn;
30  uint8_t PORTE_OutputEn;
31  union {
32  struct uint8_t {
33  uint8_t MDIR:1;
34  uint8_t MDUART:1;
35  uint8_t MDI2C:1;
36  uint8_t MDSPI:1;
37  uint8_t UTXPOL:1;
38  uint8_t UPSWAP:1;
39  uint8_t I2CRT:2;
40  };
41  uint8_t BYTE;
42  } PIN_CONFIG;
43  uint8_t PORTE_LEDMode;
44  uint8_t PORTA_PWMMode;
45  uint8_t PORTC_PWMMode;
46  uint8_t PORTA_IntEn;
47  uint8_t PORTB_IntEn;
48  uint8_t Reserved2;
49  uint8_t PORTD_IntEn;
50  uint8_t Reserved3[98190];
51  uint8_t PORTA_PullUp;
52  uint8_t PORTA_PullDn;
53  uint8_t PORTA_ReadEn;
54  uint8_t PORTB_PullUp;
55  uint8_t PORTB_PullDn;
56  uint8_t PORTB_ReadEn;
57  uint8_t PORTC_PullUp;
58  uint8_t PORTC_PullDn;
59  uint8_t PORTC_ReadEn;
60  uint8_t PORTD_PullUp;
61  uint8_t PORTD_PullDn;
62  uint8_t PORTD_ReadEn;
63  uint8_t PORTE_PullUp;
64  uint8_t PORTE_PullDn;
65  uint8_t PORTE_ReadEn;
66  uint8_t PORTE_LEDTrim;
67 } GPIO_SFRS_t;
68 
72 #define GPIO_SFRS ((__IO GPIO_SFRS_t *) (ASIC_7B_BASE + 0x60))
73 
77 typedef struct {
78  uint8_t PORT;
79  uint8_t RESERVED0[4];
80  uint8_t OUTPUTEN;
81  uint8_t RESERVED1[6];
82  uint8_t PWMMODE;
83  uint8_t RESERVED2;
84  uint8_t INTEN;
85  uint8_t RESERVED3[98193];
86  uint8_t PULLUP;
87  uint8_t PULLDOWN;
88  uint8_t READEN;
89 } GPIOA_SFRS_t;
90 
94 #define GPIOA_SFRS ((__IO GPIOA_SFRS_t *)(ASIC_7B_BASE + 0x60))
95 
102 static __INLINE void GPIOA_EnablePullUp(uint8_t pos, bool bit)
103 {
104  if (bit)
105  GPIOA_SFRS->PULLUP &= ~(1 << pos);
106  else
107  GPIOA_SFRS->PULLUP |= (1 << pos);
108 }
109 
116 static __INLINE void GPIOA_EnablePullDown(uint8_t pos, bool bit)
117 {
118  if (bit)
119  GPIOA_SFRS->PULLDOWN |= (1 << pos);
120  else
121  GPIOA_SFRS->PULLDOWN &= ~(1 << pos);
122 }
123 
130 static __INLINE void GPIOA_EnableOutput(uint8_t pos, bool bit)
131 {
132  if (bit)
133  GPIOA_SFRS->OUTPUTEN |= (1 << pos);
134  else
135  GPIOA_SFRS->OUTPUTEN &= ~(1 << pos);
136 }
137 
144 static __INLINE void GPIOA_EnableInput(uint8_t pos, bool bit)
145 {
146  if (bit)
147  GPIOA_SFRS->READEN |= (1 << pos);
148  else
149  GPIOA_SFRS->READEN &= ~(1 << pos);
150 }
151 
158 static __INLINE void GPIOA_EnableInterrupt(uint8_t pos, bool bit)
159 {
160  if (bit)
161  GPIOA_SFRS->INTEN |= (1 << pos);
162  else
163  GPIOA_SFRS->INTEN &= ~(1 << pos);
164 }
165 
172 static __INLINE uint8_t GPIOA_Read(uint8_t pos)
173 {
174  return GPIOA_SFRS->PORT >> pos & 1;
175 }
176 
183 static __INLINE void GPIOA_Set(uint8_t pos, uint8_t bit)
184 {
185  uint8_t readen;
186 
187  readen = GPIOA_SFRS->READEN;
188  GPIOA_SFRS->READEN = 0xFF;
189  if (bit)
190  GPIOA_SFRS->PORT |= (1 << pos);
191  else
192  GPIOA_SFRS->PORT &= ~(1 << pos);
193  GPIOA_SFRS->READEN = readen;
194 }
195 
203 static __INLINE void GPIOA_EnablePortPullUp(bool bit, uint8_t mask)
204 {
205  if (bit)
206  GPIOA_SFRS->PULLUP &= ~mask;
207  else
208  GPIOA_SFRS->PULLUP |= mask;
209 }
210 
218 static __INLINE void GPIOA_EnablePortPullDown(bool bit, uint8_t mask)
219 {
220  if (bit)
221  GPIOA_SFRS->PULLDOWN |= mask;
222  else
223  GPIOA_SFRS->PULLDOWN &= ~mask;
224 }
225 
233 static __INLINE void GPIOA_EnablePortOutput(bool bit, uint8_t mask)
234 {
235  if (bit)
236  GPIOA_SFRS->OUTPUTEN |= mask;
237  else
238  GPIOA_SFRS->OUTPUTEN &= ~mask;
239 }
240 
248 static __INLINE void GPIOA_EnablePortInput(bool bit, uint8_t mask)
249 {
250  if (bit)
251  GPIOA_SFRS->READEN |= mask;
252  else
253  GPIOA_SFRS->READEN &= ~mask;
254 }
255 
263 static __INLINE void GPIOA_EnablePortInterrupt(bool bit, uint8_t mask)
264 {
265  if (bit)
266  GPIOA_SFRS->INTEN |= mask;
267  else
268  GPIOA_SFRS->INTEN &= ~mask;
269 }
270 
278 static __INLINE void GPIOA_PortSet(uint8_t val, uint8_t mask)
279 {
280  uint8_t readen;
281 
282  readen = GPIOA_SFRS->READEN;
283  GPIOA_SFRS->READEN = 0xFF;
284  GPIOA_SFRS->PORT &= ~mask;
285  GPIOA_SFRS->PORT |= (val & mask);
286  GPIOA_SFRS->READEN = readen;
287 }
288 
295 static __INLINE uint8_t GPIOA_PortRead(uint8_t mask)
296 {
297  return GPIOA_SFRS->PORT & mask;
298 }
299 
303 typedef struct {
304  uint8_t PORT;
305  uint8_t RESERVED0[4];
306  uint8_t OUTPUTEN;
307  uint8_t RESERVED1[8];
308  uint8_t INTEN;
309  uint8_t RESERVED2[98195];
310  uint8_t PULLUP;
311  uint8_t PULLDOWN;
312  uint8_t READEN;
313 } GPIOB_SFRS_t;
314 
318 #define GPIOB_SFRS ((__IO GPIOB_SFRS_t *) (ASIC_7B_BASE + 0x61))
319 
326 static __INLINE void GPIOB_EnablePullUp(uint8_t pos, bool bit)
327 {
328  if (bit)
329  GPIOB_SFRS->PULLUP &= ~(1 << pos);
330  else
331  GPIOB_SFRS->PULLUP |= (1 << pos);
332 }
333 
340 static __INLINE void GPIOB_EnablePullDown(uint8_t pos, bool bit)
341 {
342  if (bit)
343  GPIOB_SFRS->PULLDOWN |= (1 << pos);
344  else
345  GPIOB_SFRS->PULLDOWN &= ~(1 << pos);
346 }
347 
354 static __INLINE void GPIOB_EnableOutput(uint8_t pos, bool bit)
355 {
356  if (bit)
357  GPIOB_SFRS->OUTPUTEN |= (1 << pos);
358  else
359  GPIOB_SFRS->OUTPUTEN &= ~(1 << pos);
360 }
361 
368 static __INLINE void GPIOB_EnableInput(uint8_t pos, bool bit)
369 {
370  if (bit)
371  GPIOB_SFRS->READEN |= (1 << pos);
372  else
373  GPIOB_SFRS->READEN &= ~(1 << pos);
374 }
375 
382 static __INLINE void GPIOB_EnableInterrupt(uint8_t pos, bool bit)
383 {
384  if (bit)
385  GPIOB_SFRS->INTEN |= (1 << pos);
386  else
387  GPIOB_SFRS->INTEN &= ~(1 << pos);
388 }
389 
396 static __INLINE uint8_t GPIOB_Read(uint8_t pos)
397 {
398  return GPIOB_SFRS->PORT >> pos & 1;
399 }
400 
407 static __INLINE void GPIOB_Set(uint8_t pos, uint8_t bit)
408 {
409  uint8_t readen;
410 
411  readen = GPIOB_SFRS->READEN;
412  GPIOB_SFRS->READEN = 0xFF;
413  if (bit)
414  GPIOB_SFRS->PORT |= (1 << pos);
415  else
416  GPIOB_SFRS->PORT &= ~(1 << pos);
417  GPIOB_SFRS->READEN = readen;
418 }
419 
427 static __INLINE void GPIOB_EnablePortPullUp(bool bit, uint8_t mask)
428 {
429  if (bit)
430  GPIOB_SFRS->PULLUP &= ~mask;
431  else
432  GPIOB_SFRS->PULLUP |= mask;
433 }
434 
442 static __INLINE void GPIOB_EnablePortPullDown(bool bit, uint8_t mask)
443 {
444  if (bit)
445  GPIOB_SFRS->PULLDOWN |= mask;
446  else
447  GPIOB_SFRS->PULLDOWN &= ~mask;
448 }
449 
457 static __INLINE void GPIOB_EnablePortOutput(bool bit, uint8_t mask)
458 {
459  if (bit)
460  GPIOB_SFRS->OUTPUTEN |= mask;
461  else
462  GPIOB_SFRS->OUTPUTEN &= ~mask;
463 }
464 
472 static __INLINE void GPIOB_EnablePortInput(bool bit, uint8_t mask)
473 {
474  if (bit)
475  GPIOB_SFRS->READEN |= mask;
476  else
477  GPIOB_SFRS->READEN &= ~mask;
478 }
479 
487 static __INLINE void GPIOB_EnablePortInterrupt(bool bit, uint8_t mask)
488 {
489  if (bit)
490  GPIOB_SFRS->INTEN |= mask;
491  else
492  GPIOB_SFRS->INTEN &= ~mask;
493 }
494 
502 static __INLINE void GPIOB_PortSet(uint8_t val, uint8_t mask)
503 {
504  uint8_t readen;
505 
506  readen = GPIOB_SFRS->READEN;
507  GPIOB_SFRS->READEN = 0xFF;
508  GPIOB_SFRS->PORT &= ~mask;
509  GPIOB_SFRS->PORT |= (val & mask);
510  GPIOB_SFRS->READEN = readen;
511 }
512 
519 static __INLINE uint8_t GPIOB_PortRead(uint8_t mask)
520 {
521  return GPIOB_SFRS->PORT & mask;
522 }
523 
527 typedef struct {
528  uint8_t PORT;
529  uint8_t RESERVED0[4];
530  uint8_t OUTPUTEN;
531  uint8_t RESERVED1[5];
532  uint8_t PWMMODE;
533  uint8_t RESERVED2[98200];
534  uint8_t PULLUP;
535  uint8_t PULLDOWN;
536  uint8_t READEN;
537 } GPIOC_SFRS_t;
538 
542 #define GPIOC_SFRS ((__IO GPIOC_SFRS_t *) (ASIC_7B_BASE + 0x62))
543 
550 static __INLINE void GPIOC_EnablePullUp(uint8_t pos, bool bit)
551 {
552  if (bit)
553  GPIOC_SFRS->PULLUP &= ~(1 << pos);
554  else
555  GPIOC_SFRS->PULLUP |= (1 << pos);
556 }
557 
564 static __INLINE void GPIOC_EnablePullDown(uint8_t pos, bool bit)
565 {
566  if (bit)
567  GPIOC_SFRS->PULLDOWN |= (1 << pos);
568  else
569  GPIOC_SFRS->PULLDOWN &= ~(1 << pos);
570 }
571 
578 static __INLINE void GPIOC_EnableOutput(uint8_t pos, bool bit)
579 {
580  if (bit)
581  GPIOC_SFRS->OUTPUTEN |= (1 << pos);
582  else
583  GPIOC_SFRS->OUTPUTEN &= ~(1 << pos);
584 }
585 
592 static __INLINE void GPIOC_EnableInput(uint8_t pos, bool bit)
593 {
594  if (bit)
595  GPIOC_SFRS->READEN |= (1 << pos);
596  else
597  GPIOC_SFRS->READEN &= ~(1 << pos);
598 }
599 
606 static __INLINE uint8_t GPIOC_Read(uint8_t pos)
607 {
608  return GPIOC_SFRS->PORT >> pos & 1;
609 }
610 
617 static __INLINE void GPIOC_Set(uint8_t pos, uint8_t bit)
618 {
619  uint8_t readen;
620 
621  readen = GPIOC_SFRS->READEN;
622  GPIOC_SFRS->READEN = 0xFF;
623  if (bit)
624  GPIOC_SFRS->PORT |= (1 << pos);
625  else
626  GPIOC_SFRS->PORT &= ~(1 << pos);
627  GPIOC_SFRS->READEN = readen;
628 }
629 
637 static __INLINE void GPIOC_EnablePortPullUp(bool bit, uint8_t mask)
638 {
639  if (bit)
640  GPIOC_SFRS->PULLUP &= ~mask;
641  else
642  GPIOC_SFRS->PULLUP |= mask;
643 }
644 
652 static __INLINE void GPIOC_EnablePortPullDown(bool bit, uint8_t mask)
653 {
654  if (bit)
655  GPIOC_SFRS->PULLDOWN |= mask;
656  else
657  GPIOC_SFRS->PULLDOWN &= ~mask;
658 }
659 
667 static __INLINE void GPIOC_EnablePortOutput(bool bit, uint8_t mask)
668 {
669  if (bit)
670  GPIOC_SFRS->OUTPUTEN |= mask;
671  else
672  GPIOC_SFRS->OUTPUTEN &= ~mask;
673 }
674 
682 static __INLINE void GPIOC_EnablePortInput(bool bit, uint8_t mask)
683 {
684  if (bit)
685  GPIOC_SFRS->READEN |= mask;
686  else
687  GPIOC_SFRS->READEN &= ~mask;
688 }
689 
697 static __INLINE void GPIOC_PortSet(uint8_t val, uint8_t mask)
698 {
699  uint8_t readen;
700 
701  readen = GPIOC_SFRS->READEN;
702  GPIOC_SFRS->READEN = 0xFF;
703  GPIOC_SFRS->PORT &= ~mask;
704  GPIOC_SFRS->PORT |= (val & mask);
705  GPIOC_SFRS->READEN = readen;
706 }
707 
714 static __INLINE uint8_t GPIOC_PortRead(uint8_t mask)
715 {
716  return GPIOC_SFRS->PORT & mask;
717 }
718 
722 typedef struct {
723  uint8_t PORT;
724  uint8_t RESERVED0[4];
725  uint8_t OUTPUTEN;
726  uint8_t RESERVED1[8];
727  uint8_t INTEN;
728  uint8_t RESERVED2[98199];
729  uint8_t PULLUP;
730  uint8_t PULLDOWN;
731  uint8_t READEN;
732 } GPIOD_SFRS_t;
733 
737 #define GPIOD_SFRS ((__IO GPIOD_SFRS_t *) (ASIC_7B_BASE + 0x63))
738 
745 static __INLINE void GPIOD_EnablePullUp(uint8_t pos, bool bit)
746 {
747  if (bit)
748  GPIOD_SFRS->PULLUP &= ~(1 << pos);
749  else
750  GPIOD_SFRS->PULLUP |= (1 << pos);
751 }
752 
759 static __INLINE void GPIOD_EnablePullDown(uint8_t pos, bool bit)
760 {
761  if (bit)
762  GPIOD_SFRS->PULLDOWN |= (1 << pos);
763  else
764  GPIOD_SFRS->PULLDOWN &= ~(1 << pos);
765 }
766 
773 static __INLINE void GPIOD_EnableOutput(uint8_t pos, bool bit)
774 {
775  if (bit)
776  GPIOD_SFRS->OUTPUTEN |= (1 << pos);
777  else
778  GPIOD_SFRS->OUTPUTEN &= ~(1 << pos);
779 }
780 
787 static __INLINE void GPIOD_EnableInput(uint8_t pos, bool bit)
788 {
789  if (bit)
790  GPIOD_SFRS->READEN |= (1 << pos);
791  else
792  GPIOD_SFRS->READEN &= ~(1 << pos);
793 }
794 
801 static __INLINE void GPIOD_EnableInterrupt(uint8_t pos, bool bit)
802 {
803  if (bit)
804  GPIOD_SFRS->INTEN |= (1 << pos);
805  else
806  GPIOD_SFRS->INTEN &= ~(1 << pos);
807 }
808 
815 static __INLINE uint8_t GPIOD_Read(uint8_t pos)
816 {
817  return GPIOD_SFRS->PORT >> pos & 1;
818 }
819 
826 static __INLINE void GPIOD_Set(uint8_t pos, uint8_t bit)
827 {
828  uint8_t readen;
829 
830  readen = GPIOD_SFRS->READEN;
831  GPIOD_SFRS->READEN = 0xFF;
832  if (bit)
833  GPIOD_SFRS->PORT |= (1 << pos);
834  else
835  GPIOD_SFRS->PORT &= ~(1 << pos);
836  GPIOD_SFRS->READEN = readen;
837 }
838 
846 static __INLINE void GPIOD_EnablePortPullUp(bool bit, uint8_t mask)
847 {
848  if (bit)
849  GPIOD_SFRS->PULLUP &= ~mask;
850  else
851  GPIOD_SFRS->PULLUP |= mask;
852 }
853 
861 static __INLINE void GPIOD_EnablePortPullDown(bool bit, uint8_t mask)
862 {
863  if (bit)
864  GPIOD_SFRS->PULLDOWN |= mask;
865  else
866  GPIOD_SFRS->PULLDOWN &= ~mask;
867 }
868 
876 static __INLINE void GPIOD_EnablePortOutput(bool bit, uint8_t mask)
877 {
878  if (bit)
879  GPIOD_SFRS->OUTPUTEN |= mask;
880  else
881  GPIOD_SFRS->OUTPUTEN &= ~mask;
882 }
883 
891 static __INLINE void GPIOD_EnablePortInput(bool bit, uint8_t mask)
892 {
893  if (bit)
894  GPIOD_SFRS->READEN |= mask;
895  else
896  GPIOD_SFRS->READEN &= ~mask;
897 }
898 
906 static __INLINE void GPIOD_EnablePortInterrupt(bool bit, uint8_t mask)
907 {
908  if (bit)
909  GPIOD_SFRS->INTEN |= mask;
910  else
911  GPIOD_SFRS->INTEN &= ~mask;
912 }
913 
921 static __INLINE void GPIOD_PortSet(uint8_t val, uint8_t mask)
922 {
923  uint8_t readen;
924 
925  readen = GPIOD_SFRS->READEN;
926  GPIOD_SFRS->READEN = 0xFF;
927  GPIOD_SFRS->PORT &= ~mask;
928  GPIOD_SFRS->PORT |= (val & mask);
929  GPIOD_SFRS->READEN = readen;
930 }
931 
938 static __INLINE uint8_t GPIOD_PortRead(uint8_t mask)
939 {
940  return GPIOD_SFRS->PORT & mask;
941 }
942 
946 typedef struct {
947  uint8_t PORT;
948  uint8_t RESERVED0[4];
949  uint8_t OUTPUTEN;
950  uint8_t RESERVED1;
951  uint8_t LEDMODE;
952  uint8_t RESERVED2[98208];
953  uint8_t PULLUP;
954  uint8_t PULLDOWN;
955  uint8_t READEN;
956 } GPIOE_SFRS_t;
957 
961 #define GPIOE_SFRS ((__IO GPIOE_SFRS_t *) (ASIC_7B_BASE + 0x64))
962 
969 static __INLINE void GPIOE_EnablePullUp(uint8_t pos, bool bit)
970 {
971  if (bit)
972  GPIOE_SFRS->PULLUP &= ~(1 << pos);
973  else
974  GPIOE_SFRS->PULLUP |= (1 << pos);
975 }
976 
983 static __INLINE void GPIOE_EnablePullDown(uint8_t pos, bool bit)
984 {
985  if (bit)
986  GPIOE_SFRS->PULLDOWN |= (1 << pos);
987  else
988  GPIOE_SFRS->PULLDOWN &= ~(1 << pos);
989 }
990 
997 static __INLINE void GPIOE_EnableOutput(uint8_t pos, bool bit)
998 {
999  if (bit)
1000  GPIOE_SFRS->OUTPUTEN |= (1 << pos);
1001  else
1002  GPIOE_SFRS->OUTPUTEN &= ~(1 << pos);
1003 }
1004 
1011 static __INLINE void GPIOE_EnableInput(uint8_t pos, bool bit)
1012 {
1013  if (bit)
1014  GPIOE_SFRS->READEN |= (1 << pos);
1015  else
1016  GPIOE_SFRS->READEN &= ~(1 << pos);
1017 }
1018 
1025 static __INLINE uint8_t GPIOE_Read(uint8_t pos)
1026 {
1027  return GPIOE_SFRS->PORT >> pos & 1;
1028 }
1029 
1036 static __INLINE void GPIOE_Set(uint8_t pos, uint8_t bit)
1037 {
1038  uint8_t readen;
1039 
1040  readen = GPIOE_SFRS->READEN;
1041  GPIOE_SFRS->READEN = 0xFF;
1042  if (bit)
1043  GPIOE_SFRS->PORT |= (1 << pos);
1044  else
1045  GPIOE_SFRS->PORT &= ~(1 << pos);
1046  GPIOE_SFRS->READEN = readen;
1047 }
1048 
1056 static __INLINE void GPIOE_EnablePortPullUp(bool bit, uint8_t mask)
1057 {
1058  if (bit)
1059  GPIOE_SFRS->PULLUP &= ~mask;
1060  else
1061  GPIOE_SFRS->PULLUP |= mask;
1062 }
1063 
1071 static __INLINE void GPIOE_EnablePortPullDown(bool bit, uint8_t mask)
1072 {
1073  if (bit)
1074  GPIOE_SFRS->PULLDOWN |= mask;
1075  else
1076  GPIOE_SFRS->PULLDOWN &= ~mask;
1077 }
1078 
1086 static __INLINE void GPIOE_EnablePortOutput(bool bit, uint8_t mask)
1087 {
1088  if (bit)
1089  GPIOE_SFRS->OUTPUTEN |= mask;
1090  else
1091  GPIOE_SFRS->OUTPUTEN &= ~mask;
1092 }
1093 
1101 static __INLINE void GPIOE_EnablePortInput(bool bit, uint8_t mask)
1102 {
1103  if (bit)
1104  GPIOE_SFRS->READEN |= mask;
1105  else
1106  GPIOE_SFRS->READEN &= ~mask;
1107 }
1108 
1116 static __INLINE void GPIOE_PortSet(uint8_t val, uint8_t mask)
1117 {
1118  uint8_t readen;
1119 
1120  readen = GPIOE_SFRS->READEN;
1121  GPIOE_SFRS->READEN = 0xFF;
1122  GPIOE_SFRS->PORT &= ~mask;
1123  GPIOE_SFRS->PORT |= (val & mask);
1124  GPIOE_SFRS->READEN = readen;
1125 }
1126 
1133 static __INLINE uint8_t GPIOE_PortRead(uint8_t mask)
1134 {
1135  return GPIOE_SFRS->PORT & mask;
1136 }
1137 
1138 #define E_GPIO_I2C_PULLIP_OPEN 0
1139 #define E_GPIO_I2C_PULLIP_1K 1
1140 #define E_GPIO_I2C_PULLIP_10K 2
1141 #define E_GPIO_I2C_PULLIP_100K 3
1142 
1143 #define E_GPIO_PIN_MODE_OFF 0
1144 #define E_GPIO_PIN_MODE_ON 1
1145 
1146 #define E_GPIO_PIN_NOINVERT 0
1147 #define E_GPIO_PIN_INVERT 1
1148 
1149 #define E_GPIO_PIN_NOSWAP 0
1150 #define E_GPIO_PIN_SWAP 1
1151 
1158 static __INLINE void GPIO_ConfigI2C(uint8_t mode, uint8_t pu)
1159 {
1160  GPIO_SFRS->PIN_CONFIG.I2CRT = pu;
1161  GPIO_SFRS->PIN_CONFIG.MDI2C = mode;
1162 }
1163 
1171 static __INLINE void GPIO_ConfigUART(uint8_t mode, uint8_t swap, uint8_t invert)
1172 {
1173  GPIO_SFRS->PIN_CONFIG.MDUART = mode;
1174  GPIO_SFRS->PIN_CONFIG.UPSWAP = swap;
1175  GPIO_SFRS->PIN_CONFIG.UTXPOL = invert;
1176 }
1177 
1183 static __INLINE void GPIO_ConfigSPI(uint8_t mode)
1184 {
1185  GPIO_SFRS->PIN_CONFIG.MDSPI = mode;
1186 }
1187 
1193 static __INLINE void GPIO_ConfigSetModePWM1(uint8_t pos)
1194 {
1195  GPIOA_SFRS->PWMMODE |= (1 << pos);
1196 }
1197 
1203 static __INLINE void GPIO_ConfigClrModePWM1(uint8_t pos)
1204 {
1205  GPIOA_SFRS->PWMMODE &= ~(1 << pos);
1206 }
1207 
1213 static __INLINE void GPIO_ConfigSetModePWM2(uint8_t pos)
1214 {
1215  GPIOC_SFRS->PWMMODE |= (1 << pos);
1216 }
1217 
1223 static __INLINE void GPIO_ConfigClrModePWM2(uint8_t pos)
1224 {
1225  GPIOC_SFRS->PWMMODE &= ~(1 << pos);
1226 }
1227 
1233 static __INLINE void GPIO_ConfigSetModeLED(uint8_t pos)
1234 {
1235  GPIOE_SFRS->LEDMODE |= (1 << pos);
1236 }
1237 
1243 static __INLINE void GPIO_ConfigClrModeLED(uint8_t pos)
1244 {
1245  GPIOE_SFRS->LEDMODE &= ~(1 << pos);
1246 }
1247 
1248 #endif /* __GPIO_SFRS_H__ */
static __INLINE void GPIOD_EnablePortPullUp(bool bit, uint8_t mask)
Enable/disable pull up bits on GPIOD.
Definition: gpio_sfrs.h:846
uint8_t PORTB_PullUp
Definition: gpio_sfrs.h:54
static __INLINE void GPIOA_EnablePortPullDown(bool bit, uint8_t mask)
Enable/disable pull down on GPIOA.
Definition: gpio_sfrs.h:218
static __INLINE void GPIOB_EnablePortPullDown(bool bit, uint8_t mask)
Enable/disable pull down enable bits on GPIOB.
Definition: gpio_sfrs.h:442
A structure to represent Special Function Registers for all GPIO block.
Definition: gpio_sfrs.h:20
static __INLINE void GPIOD_EnableInterrupt(uint8_t pos, bool bit)
Enable/disable interrupt on GPIOD.
Definition: gpio_sfrs.h:801
static __INLINE void GPIOB_EnableOutput(uint8_t pos, bool bit)
Enable/disable output on GPIOB.
Definition: gpio_sfrs.h:354
uint8_t MDIR
Definition: gpio_sfrs.h:33
#define GPIOA_SFRS
The starting address of GPIOA block.
Definition: gpio_sfrs.h:94
uint8_t PORTB_ReadEn
Definition: gpio_sfrs.h:56
static __INLINE void GPIOC_EnablePortInput(bool bit, uint8_t mask)
Enable/disable input enable bits on GPIOC.
Definition: gpio_sfrs.h:682
static __INLINE uint8_t GPIOA_Read(uint8_t pos)
Read pin state on GPIOA.
Definition: gpio_sfrs.h:172
static __INLINE void GPIO_ConfigClrModePWM2(uint8_t pos)
Set PWM2 back to GPIO mode.
Definition: gpio_sfrs.h:1223
static __INLINE uint8_t GPIOC_PortRead(uint8_t mask)
Read port value from GPIOC.
Definition: gpio_sfrs.h:714
static __INLINE uint8_t GPIOE_Read(uint8_t pos)
Read pin state on GPIOE.
Definition: gpio_sfrs.h:1025
static __INLINE void GPIOC_EnablePortPullUp(bool bit, uint8_t mask)
Enable/disable pull up bits on GPIOC.
Definition: gpio_sfrs.h:637
uint8_t PULLUP
Definition: gpio_sfrs.h:310
uint8_t OUTPUTEN
Definition: gpio_sfrs.h:306
static __INLINE void GPIOC_PortSet(uint8_t val, uint8_t mask)
Set port value on GPIOC.
Definition: gpio_sfrs.h:697
uint8_t READEN
Definition: gpio_sfrs.h:88
static __INLINE void GPIOA_EnablePortPullUp(bool bit, uint8_t mask)
Enable/disable pull up bits on GPIOA.
Definition: gpio_sfrs.h:203
static __INLINE void GPIOE_EnablePortPullUp(bool bit, uint8_t mask)
Enable/disable pull up bits on GPIOE.
Definition: gpio_sfrs.h:1056
static __INLINE void GPIOB_EnablePortInterrupt(bool bit, uint8_t mask)
Enable/disable interrupt enable bits on GPIOB.
Definition: gpio_sfrs.h:487
uint8_t PORTD_ReadEn
Definition: gpio_sfrs.h:62
uint8_t MDUART
Definition: gpio_sfrs.h:34
static __INLINE void GPIOB_EnablePullDown(uint8_t pos, bool bit)
Enable/disable pull down on GPIOB.
Definition: gpio_sfrs.h:340
uint8_t PULLDOWN
Definition: gpio_sfrs.h:311
static __INLINE void GPIO_ConfigUART(uint8_t mode, uint8_t swap, uint8_t invert)
Config GPIO pin to UART mode.
Definition: gpio_sfrs.h:1171
uint8_t PORT
Definition: gpio_sfrs.h:78
uint8_t INTEN
Definition: gpio_sfrs.h:84
uint8_t BYTE
Definition: gpio_sfrs.h:41
uint8_t PORTA_OutputEn
Definition: gpio_sfrs.h:26
A structure to represent Special Function Registers for GPIOD.
Definition: gpio_sfrs.h:722
uint8_t OUTPUTEN
Definition: gpio_sfrs.h:725
static __INLINE void GPIOA_PortSet(uint8_t val, uint8_t mask)
Set port value on GPIOA.
Definition: gpio_sfrs.h:278
uint8_t READEN
Definition: gpio_sfrs.h:536
uint8_t UPSWAP
Definition: gpio_sfrs.h:38
#define GPIO_SFRS
The starting address of all GPIO block.
Definition: gpio_sfrs.h:72
static __INLINE void GPIO_ConfigSetModeLED(uint8_t pos)
Set GPIO to LED pin.
Definition: gpio_sfrs.h:1233
uint8_t RESERVED1
Definition: gpio_sfrs.h:950
uint8_t PWMMODE
Definition: gpio_sfrs.h:532
uint8_t MDI2C
Definition: gpio_sfrs.h:35
#define GPIOB_SFRS
The starting address of GPIOB block.
Definition: gpio_sfrs.h:318
static __INLINE void GPIOA_Set(uint8_t pos, uint8_t bit)
Set pin state on GPIOA.
Definition: gpio_sfrs.h:183
uint8_t PORT
Definition: gpio_sfrs.h:528
A structure to represent Special Function Registers for GPIOC.
Definition: gpio_sfrs.h:527
static __INLINE void GPIOE_EnablePortOutput(bool bit, uint8_t mask)
Enable/disable output enable bits on GPIOE.
Definition: gpio_sfrs.h:1086
static __INLINE void GPIOE_EnablePullUp(uint8_t pos, bool bit)
Enable/disable pull up on GPIOE.
Definition: gpio_sfrs.h:969
static __INLINE void GPIOC_EnableOutput(uint8_t pos, bool bit)
Enable/disable output on GPIOC.
Definition: gpio_sfrs.h:578
static __INLINE void GPIOE_PortSet(uint8_t val, uint8_t mask)
Set port value on GPIOE.
Definition: gpio_sfrs.h:1116
uint8_t PORTC_PullDn
Definition: gpio_sfrs.h:58
static __INLINE void GPIOC_EnableInput(uint8_t pos, bool bit)
Enable/disable Input on GPIOC.
Definition: gpio_sfrs.h:592
uint8_t PORT
Definition: gpio_sfrs.h:723
static __INLINE void GPIO_ConfigClrModePWM1(uint8_t pos)
Set PWM1 back to GPIO mode.
Definition: gpio_sfrs.h:1203
static __INLINE uint8_t GPIOD_Read(uint8_t pos)
Read pin state on GPIOD.
Definition: gpio_sfrs.h:815
static __INLINE uint8_t GPIOB_Read(uint8_t pos)
Read pin state on GPIOB.
Definition: gpio_sfrs.h:396
uint8_t UTXPOL
Definition: gpio_sfrs.h:37
uint8_t PULLDOWN
Definition: gpio_sfrs.h:954
uint8_t PORTE_PullDn
Definition: gpio_sfrs.h:64
uint8_t PWMMODE
Definition: gpio_sfrs.h:82
uint8_t PORTA
Definition: gpio_sfrs.h:21
#define GPIOD_SFRS
The starting address of GPIOD block.
Definition: gpio_sfrs.h:737
static __INLINE void GPIOD_EnablePortInput(bool bit, uint8_t mask)
Enable/disable input enable bits on GPIOD.
Definition: gpio_sfrs.h:891
A structure to represent Special Function Registers for GPIOA block.
Definition: gpio_sfrs.h:77
uint8_t PORTD_PullDn
Definition: gpio_sfrs.h:61
uint8_t READEN
Definition: gpio_sfrs.h:731
static __INLINE void GPIOD_EnableInput(uint8_t pos, bool bit)
Enable/disable Input on GPIOD.
Definition: gpio_sfrs.h:787
uint8_t PULLUP
Definition: gpio_sfrs.h:729
uint8_t PORTA_PullUp
Definition: gpio_sfrs.h:51
static __INLINE void GPIOD_EnablePortOutput(bool bit, uint8_t mask)
Enable/disable output enable bits on GPIOD.
Definition: gpio_sfrs.h:876
uint8_t PORTB_IntEn
Definition: gpio_sfrs.h:47
uint8_t PORTB_PullDn
Definition: gpio_sfrs.h:55
uint8_t Reserved2
Definition: gpio_sfrs.h:48
static __INLINE void GPIOB_EnablePortOutput(bool bit, uint8_t mask)
Enable/disable output enable bits on GPIOB.
Definition: gpio_sfrs.h:457
static __INLINE void GPIOE_Set(uint8_t pos, uint8_t bit)
Set pin state on GPIOE.
Definition: gpio_sfrs.h:1036
static __INLINE void GPIOD_Set(uint8_t pos, uint8_t bit)
Set pin state on GPIOD.
Definition: gpio_sfrs.h:826
uint8_t OUTPUTEN
Definition: gpio_sfrs.h:80
uint8_t PORTD_OutputEn
Definition: gpio_sfrs.h:29
uint8_t Reserved3[98190]
Definition: gpio_sfrs.h:50
uint8_t PORTD_PullUp
Definition: gpio_sfrs.h:60
uint8_t PORTE_LEDMode
Definition: gpio_sfrs.h:43
uint8_t PORTD
Definition: gpio_sfrs.h:24
static __INLINE void GPIOC_EnablePortPullDown(bool bit, uint8_t mask)
Enable/disable pull down on GPIOC.
Definition: gpio_sfrs.h:652
static __INLINE void GPIOD_EnablePullUp(uint8_t pos, bool bit)
Enable/disable pull up on GPIOD.
Definition: gpio_sfrs.h:745
static __INLINE void GPIOD_PortSet(uint8_t val, uint8_t mask)
Set port value on GPIOD.
Definition: gpio_sfrs.h:921
uint8_t PULLDOWN
Definition: gpio_sfrs.h:87
uint8_t INTEN
Definition: gpio_sfrs.h:727
static __INLINE uint8_t GPIOB_PortRead(uint8_t mask)
Read port value from GPIOB.
Definition: gpio_sfrs.h:519
uint8_t PORTC_PullUp
Definition: gpio_sfrs.h:57
uint8_t PULLUP
Definition: gpio_sfrs.h:534
uint8_t OUTPUTEN
Definition: gpio_sfrs.h:530
A structure to represent Special Function Registers for GPIOE.
Definition: gpio_sfrs.h:946
uint8_t PORTE_OutputEn
Definition: gpio_sfrs.h:30
static __INLINE void GPIO_ConfigClrModeLED(uint8_t pos)
Set LED pin back to GPIO.
Definition: gpio_sfrs.h:1243
uint8_t PORTE_LEDTrim
Definition: gpio_sfrs.h:66
static __INLINE void GPIO_ConfigSetModePWM2(uint8_t pos)
Config GPIO pin to PWM2.
Definition: gpio_sfrs.h:1213
static __INLINE void GPIOB_EnablePortInput(bool bit, uint8_t mask)
Enable/disable input enable bits on GPIOB.
Definition: gpio_sfrs.h:472
uint8_t PULLDOWN
Definition: gpio_sfrs.h:535
static __INLINE void GPIOD_EnablePortInterrupt(bool bit, uint8_t mask)
Enable/disable interrupt enable bits on GPIOD.
Definition: gpio_sfrs.h:906
uint8_t PORTA_ReadEn
Definition: gpio_sfrs.h:53
uint8_t PULLUP
Definition: gpio_sfrs.h:86
static __INLINE void GPIO_ConfigSetModePWM1(uint8_t pos)
Config GPIO pin to PWM1.
Definition: gpio_sfrs.h:1193
uint8_t OUTPUTEN
Definition: gpio_sfrs.h:949
static __INLINE void GPIOA_EnableOutput(uint8_t pos, bool bit)
Enable/disable output on GPIOA.
Definition: gpio_sfrs.h:130
static __INLINE void GPIOA_EnablePullUp(uint8_t pos, bool bit)
Enable/disable pull up on GPIOA.
Definition: gpio_sfrs.h:102
uint8_t READEN
Definition: gpio_sfrs.h:312
static __INLINE void GPIOB_EnablePortPullUp(bool bit, uint8_t mask)
Enable/disable pull up bits on GPIOB.
Definition: gpio_sfrs.h:427
static __INLINE void GPIOD_EnableOutput(uint8_t pos, bool bit)
Enable/disable output on GPIOD.
Definition: gpio_sfrs.h:773
static __INLINE void GPIOC_EnablePullUp(uint8_t pos, bool bit)
Enable/disable pull up on GPIOC.
Definition: gpio_sfrs.h:550
uint8_t PORTA_PullDn
Definition: gpio_sfrs.h:52
union GPIO_SFRS_t::@43 PIN_CONFIG
static __INLINE uint8_t GPIOE_PortRead(uint8_t mask)
Read port value from GPIOE.
Definition: gpio_sfrs.h:1133
static __INLINE void GPIOE_EnablePortPullDown(bool bit, uint8_t mask)
Enable/disable pull down bits on GPIOE.
Definition: gpio_sfrs.h:1071
uint8_t PORTC
Definition: gpio_sfrs.h:23
static __INLINE void GPIOB_PortSet(uint8_t val, uint8_t mask)
Set port value on GPIOB.
Definition: gpio_sfrs.h:502
uint8_t PORT
Definition: gpio_sfrs.h:947
static __INLINE void GPIO_ConfigI2C(uint8_t mode, uint8_t pu)
Config GPIO pin to I2C mode.
Definition: gpio_sfrs.h:1158
uint8_t PORTE_PullUp
Definition: gpio_sfrs.h:63
static __INLINE void GPIOB_EnableInterrupt(uint8_t pos, bool bit)
Enable/disable interrupt on GPIOA.
Definition: gpio_sfrs.h:382
static __INLINE void GPIOD_EnablePortPullDown(bool bit, uint8_t mask)
Enable/disable pull down on GPIOD.
Definition: gpio_sfrs.h:861
uint8_t PORTA_PWMMode
Definition: gpio_sfrs.h:44
uint8_t MDSPI
Definition: gpio_sfrs.h:36
static __INLINE void GPIOA_EnablePortInterrupt(bool bit, uint8_t mask)
Enable/disable interrupt enable bits on GPIOA.
Definition: gpio_sfrs.h:263
uint8_t PORTA_IntEn
Definition: gpio_sfrs.h:46
static __INLINE void GPIOB_Set(uint8_t pos, uint8_t bit)
Set pin state on GPIOB.
Definition: gpio_sfrs.h:407
struct GPIO_SFRS_t GPIO_SFRS_t
A structure to represent Special Function Registers for all GPIO block.
uint8_t PORT
Definition: gpio_sfrs.h:304
uint8_t INTEN
Definition: gpio_sfrs.h:308
static __INLINE uint8_t GPIOD_PortRead(uint8_t mask)
Read port value from GPIOD.
Definition: gpio_sfrs.h:938
uint8_t I2CRT
Definition: gpio_sfrs.h:39
static __INLINE void GPIOA_EnablePullDown(uint8_t pos, bool bit)
Enable/disable pull down on GPIOA.
Definition: gpio_sfrs.h:116
static __INLINE void GPIOC_Set(uint8_t pos, uint8_t bit)
Set pin state on GPIOC.
Definition: gpio_sfrs.h:617
static __INLINE void GPIOB_EnableInput(uint8_t pos, bool bit)
Enable/disable Input on GPIOB.
Definition: gpio_sfrs.h:368
static __INLINE void GPIOB_EnablePullUp(uint8_t pos, bool bit)
Enable/disable pull up on GPIOB.
Definition: gpio_sfrs.h:326
uint8_t PULLUP
Definition: gpio_sfrs.h:953
static __INLINE void GPIOC_EnablePullDown(uint8_t pos, bool bit)
Enable/disable pull down on GPIOC.
Definition: gpio_sfrs.h:564
uint8_t PORTC_PWMMode
Definition: gpio_sfrs.h:45
static __INLINE void GPIOA_EnableInput(uint8_t pos, bool bit)
Enable/disable input on GPIOA.
Definition: gpio_sfrs.h:144
uint8_t PULLDOWN
Definition: gpio_sfrs.h:730
static __INLINE uint8_t GPIOA_PortRead(uint8_t mask)
Read port value from GPIOA.
Definition: gpio_sfrs.h:295
static __INLINE void GPIOD_EnablePullDown(uint8_t pos, bool bit)
Enable/disable pull down on GPIOD.
Definition: gpio_sfrs.h:759
static __INLINE void GPIO_ConfigSPI(uint8_t mode)
Config GPIO pin to SPI mode.
Definition: gpio_sfrs.h:1183
uint8_t RESERVED2
Definition: gpio_sfrs.h:83
uint8_t PORTC_OutputEn
Definition: gpio_sfrs.h:28
static __INLINE void GPIOA_EnablePortInput(bool bit, uint8_t mask)
Enable/disable input enable bits on GPIOA.
Definition: gpio_sfrs.h:248
static __INLINE void GPIOA_EnableInterrupt(uint8_t pos, bool bit)
Enable/disable interrupt on GPIOA.
Definition: gpio_sfrs.h:158
A structure to represent Special Function Registers for GPIOB.
Definition: gpio_sfrs.h:303
static __INLINE void GPIOC_EnablePortOutput(bool bit, uint8_t mask)
Enable/disable output enable bits on GPIOC.
Definition: gpio_sfrs.h:667
uint8_t LEDMODE
Definition: gpio_sfrs.h:951
uint8_t READEN
Definition: gpio_sfrs.h:955
static __INLINE void GPIOE_EnablePortInput(bool bit, uint8_t mask)
Enable/disable input enable bits on GPIOE.
Definition: gpio_sfrs.h:1101
#define GPIOC_SFRS
The starting address of GPIOC block.
Definition: gpio_sfrs.h:542
uint8_t PORTC_ReadEn
Definition: gpio_sfrs.h:59
static __INLINE uint8_t GPIOC_Read(uint8_t pos)
Read pin state on GPIOC.
Definition: gpio_sfrs.h:606
static __INLINE void GPIOE_EnableOutput(uint8_t pos, bool bit)
Enable/disable output on GPIOE.
Definition: gpio_sfrs.h:997
uint8_t PORTB
Definition: gpio_sfrs.h:22
uint8_t PORTE_ReadEn
Definition: gpio_sfrs.h:65
static __INLINE void GPIOA_EnablePortOutput(bool bit, uint8_t mask)
Enable/disable output enable bits on GPIOA.
Definition: gpio_sfrs.h:233
uint8_t PORTD_IntEn
Definition: gpio_sfrs.h:49
uint8_t PORTE
Definition: gpio_sfrs.h:25
static __INLINE void GPIOE_EnablePullDown(uint8_t pos, bool bit)
Enable/disable pull down on GPIOE.
Definition: gpio_sfrs.h:983
static __INLINE void GPIOE_EnableInput(uint8_t pos, bool bit)
Enable/disable Input on GPIOE.
Definition: gpio_sfrs.h:1011
#define GPIOE_SFRS
The starting address of GPIOE block.
Definition: gpio_sfrs.h:961
uint8_t PORTB_OutputEn
Definition: gpio_sfrs.h:27