summaryrefslogtreecommitdiff
path: root/bsp/mm32f327x/Libraries/MM32F327x/Include/mm32_reg_redefine_v1.h
blob: 6cdd79ead406023540f848e66822259fce3286f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
////////////////////////////////////////////////////////////////////////////////
/// @file     mm32_reg_define_v1.H
/// @author   AE TEAM
/// @brief    THIS FILE CONTAINS ALL THE define for version compatibility define
///           FIRMWARE LIBRARY.
////////////////////////////////////////////////////////////////////////////////
/// @attention
///
/// THE EXISTING FIRMWARE IS ONLY FOR REFERENCE, WHICH IS DESIGNED TO PROVIDE
/// CUSTOMERS WITH CODING INFORMATION ABOUT THEIR PRODUCTS SO THEY CAN SAVE
/// TIME. THEREFORE, MINDMOTION SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT OR
/// CONSEQUENTIAL DAMAGES ABOUT ANY CLAIMS ARISING OUT OF THE CONTENT OF SUCH
/// HARDWARE AND/OR THE USE OF THE CODING INFORMATION CONTAINED HEREIN IN
/// CONNECTION WITH PRODUCTS MADE BY CUSTOMERS.
///
/// <H2><CENTER>&COPY; COPYRIGHT MINDMOTION </CENTER></H2>
////////////////////////////////////////////////////////////////////////////////

// Define to prevent recursive inclusion
#ifndef __MM32_REG_DEFINE_V1_H
#define __MM32_REG_DEFINE_V1_H

// Files includes


////////////////////////////////////////////////////////////////////////////////
/// @brief Version compatibility definition
////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////
/// @brief redefine for register
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @brief redefine for ADC of MCU register
////////////////////////////////////////////////////////////////////////////////

#define ADC_COMP_IRQHandler             ADC1_COMP_IRQHandler

#define ADDATA_DATA                     ADC_DR_DATA

#define ADDATA_CHANNELSEL               ADC_DR_CH
#define ADDATA_CHANNELSEL_0             ADC_DR_CH0
#define ADDATA_CHANNELSEL_1             ADC_DR_CH1
#define ADDATA_CHANNELSEL_2             ADC_DR_CH2
#define ADDATA_CHANNELSEL_3             ADC_DR_CH3
#define ADDATA_CHANNELSEL_4             ADC_DR_CH4
#define ADDATA_CHANNELSEL_5             ADC_DR_CH5
#define ADDATA_CHANNELSEL_6             ADC_DR_CH6
#define ADDATA_CHANNELSEL_7             ADC_DR_CH7




#define ADDATA_CHANNELSEL_CH8           ADC_DR_CH8
#define ADDATA_CHANNELSEL_CH9           ADC_DR_CH9
#define ADDATA_CHANNELSEL_CH10          ADC_DR_CH10
#define ADDATA_CHANNELSEL_CH11          ADC_DR_CH11
#define ADDATA_CHANNELSEL_CH12          ADC_DR_CH12
#define ADDATA_CHANNELSEL_CH13          ADC_DR_CH13
#define ADDATA_CHANNELSEL_CH14          ADC_DR_CH14
#define ADDATA_CHANNELSEL_CH15          ADC_DR_CH15
#define ADDATA_CHANNELSEL_TempSensor    ADC_DR_TempSensor
#define ADDATA_CHANNELSEL_VolSensor     ADC_DR_VoltRef


#define ADDATA_OVERRUN                  ADC_DR_OVERRUN
#define ADDATA_VALID                    ADC_DR_VALID

#define ADCFG_ADEN                      ADC_CFGR_ADEN
#define ADCFG_ADWEN                     ADC_CFGR_ADWEN

#define ADCFG_RSLTCTL                   ADC_CFGR_RSLTCTL
#define ADCFG_RSLTCTL_12                ADC_CFGR_RSLTCTL_12
#define ADCFG_RSLTCTL_11                ADC_CFGR_RSLTCTL_11
#define ADCFG_RSLTCTL_10                ADC_CFGR_RSLTCTL_10
#define ADCFG_RSLTCTL_9                 ADC_CFGR_RSLTCTL_9
#define ADCFG_RSLTCTL_8                 ADC_CFGR_RSLTCTL_8


#define ADCFG_TSEN                      ADC_CFGR_TEN
#define ADCFG_VSEN                      ADC_CFGR_VEN

#define ADCFG_ADCPRE                    ADC_CFGR_PRE
#define ADCFG_ADCPRE_2                  ADC_CFGR_PRE_2
#define ADCFG_ADCPRE_4                  ADC_CFGR_PRE_4
#define ADCFG_ADCPRE_6                  ADC_CFGR_PRE_6
#define ADCFG_ADCPRE_8                  ADC_CFGR_PRE_8
#define ADCFG_ADCPRE_10                 ADC_CFGR_PRE_10
#define ADCFG_ADCPRE_12                 ADC_CFGR_PRE_12
#define ADCFG_ADCPRE_14                 ADC_CFGR_PRE_14
#define ADCFG_ADCPRE_16                 ADC_CFGR_PRE_16
#define ADCFG_SAMCTL                    ADC_CFGR_SAMCTL
#define ADCFG_SAMCTL_1_5                ADC_CFGR_SAMCTL_1_5
#define ADCFG_SAMCTL_7_5                ADC_CFGR_SAMCTL_7_5
#define ADCFG_SAMCTL_13_5               ADC_CFGR_SAMCTL_13_5
#define ADCFG_SAMCTL_28_5               ADC_CFGR_SAMCTL_28_5
#define ADCFG_SAMCTL_41_5               ADC_CFGR_SAMCTL_41_5
#define ADCFG_SAMCTL_55_5               ADC_CFGR_SAMCTL_55_5
#define ADCFG_SAMCTL_71_5               ADC_CFGR_SAMCTL_71_5
#define ADCFG_SAMCTL_239_5              ADC_CFGR_SAMCTL_239_5


#define ADCFG_ADCPRE_3                  ADC_CFGR_PRE_3
#define ADCFG_ADCPRE_5                  ADC_CFGR_PRE_5
#define ADCFG_ADCPRE_7                  ADC_CFGR_PRE_7
#define ADCFG_ADCPRE_9                  ADC_CFGR_PRE_9
#define ADCFG_ADCPRE_11                 ADC_CFGR_PRE_11
#define ADCFG_ADCPRE_13                 ADC_CFGR_PRE_13
#define ADCFG_ADCPRE_15                 ADC_CFGR_PRE_15
#define ADCFG_ADCPRE_17                 ADC_CFGR_PRE_17
#define ADCFG_SAMCTL_2_5                ADC_CFGR_SAMCTL_2_5
#define ADCFG_SAMCTL_3_5                ADC_CFGR_SAMCTL_3_5
#define ADCFG_SAMCTL_4_5                ADC_CFGR_SAMCTL_4_5
#define ADCFG_SAMCTL_5_5                ADC_CFGR_SAMCTL_5_5
#define ADCFG_SAMCTL_6_5                ADC_CFGR_SAMCTL_6_5

#define ADCR_ADIE                       ADC_CR_ADIE
#define ADCR_ADWIE                      ADC_CR_ADWIE
#define ADCR_TRGEN                      ADC_CR_TRGEN
#define ADCR_DMAEN                      ADC_CR_DMAEN
#define ADCR_ADST                       ADC_CR_ADST
#define ADCR_ADMD                       ADC_CR_MODE
#define ADCR_ADMD_SINGLE                ADC_CR_IMM
#define ADCR_ADMD_PERIOD                ADC_CR_SCAN
#define ADCR_ADMD_CONTINUE              ADC_CR_CONTINUE
#define ADC_Mode_Single                 ADC_CR_IMM
#define ADC_Mode_Single_Period          ADC_CR_SCAN
#define ADC_Mode_Continuous_Scan        ADC_CR_CONTINUE


#define ADCR_ALIGN                      ADC_CR_ALIGN
#define ADCR_ALIGN_LEFT                 ADC_CR_LEFT
#define ADCR_ALIGN_RIGHT                ADC_CR_RIGHT
#define ADCR_CMPCH_Pos                  ADC_CR_CMPCH_Pos
#define ADCR_CMPCH                      ADC_CR_CMPCH
#define ADCR_CMPCH_0                    ADC_CR_CMPCH_0
#define ADCR_CMPCH_1                    ADC_CR_CMPCH_1
#define ADCR_CMPCH_2                    ADC_CR_CMPCH_2
#define ADCR_CMPCH_4                    ADC_CR_CMPCH_4
#define ADCR_CMPCH_5                    ADC_CR_CMPCH_5
#define ADCR_CMPCH_6                    ADC_CR_CMPCH_6
#define ADCR_CMPCH_7                    ADC_CR_CMPCH_7
#define ADCR_CMPCH_8                    ADC_CR_CMPCH_8
#define ADCR_CMPCH_9                    ADC_CR_CMPCH_9
#define ADCR_CMPCH_10                   ADC_CR_CMPCH_10
#define ADCR_CMPCH_11                   ADC_CR_CMPCH_11
#define ADCR_CMPCH_13                   ADC_CR_CMPCH_13
#define ADCR_CMPCH_14                   ADC_CR_CMPCH_14
#define ADCR_CMPCH_ALL                  ADC_CR_CMPCH_ALL


#define ADCR_TRGSEL                     ADC_CR_TRGSEL
#define ADCR_TRGSEL_T1_CC1              ADC_CR_T1_CC1
#define ADCR_TRGSEL_T1_CC2              ADC_CR_T1_CC2
#define ADCR_TRGSEL_T1_CC3              ADC_CR_T1_CC3
#define ADCR_TRGSEL_T2_CC2              ADC_CR_T2_CC2
#define ADCR_TRGSEL_T3_TRGO             ADC_CR_T3_TRIG
#define ADCR_TRGSEL_EXTI_11             ADC_CR_EXTI_11



#define ADCR_TRGSEL_T1_CC4_CC5          ADC_CR_T1_CC4_CC5
#define ADCR_TRGSEL_T3_CC1              ADC_CR_T3_CC1
#define ADCR_TRGSEL_T1_TRGO             ADC_CR_T1_TRIG
#define ADCR_TRGSEL_T8_CC4              ADC_CR_T8_CC4
#define ADCR_TRGSEL_T8_CC4_CC5          ADC_CR_T8_CC4_CC5
#define ADCR_TRGSEL_T2_CC1              ADC_CR_T2_CC1
#define ADCR_TRGSEL_T3_CC4              ADC_CR_T3_CC4
#define ADCR_TRGSEL_T2_TRGO             ADC_CR_T2_TRIG
#define ADCR_TRGSEL_T8_CC5              ADC_CR_T8_CC5
#define ADCR_TRGSEL_EXTI_15             ADC_CR_EXTI_15
#define ADCR_TRGSEL_TIM1_CC4            ADC_CR_TIM1_CC4
#define ADCR_TRGSEL_TIM1_CC5            ADC_CR_TIM1_CC5
#define ADCR_SCANDIR                    ADC_CR_SCANDIR
#define ADCR_TRGSHIFT                   ADC_CR_TRGSHIFT
#define ADCR_TRGSHIFT_0                 ADC_CR_TRGSHIFT_0
#define ADCR_TRGSHIFT_4                 ADC_CR_TRGSHIFT_4
#define ADCR_TRGSHIFT_16                ADC_CR_TRGSHIFT_16
#define ADCR_TRGSHIFT_32                ADC_CR_TRGSHIFT_32
#define ADCR_TRGSHIFT_64                ADC_CR_TRGSHIFT_64
#define ADCR_TRGSHIFT_128               ADC_CR_TRGSHIFT_128
#define ADCR_TRGSHIFT_256               ADC_CR_TRGSHIFT_256
#define ADCR_TRGSHIFT_512               ADC_CR_TRGSHIFT_512
#define ADCR_CALIBEN                    ADC_CR_CALIBEN
#define ADCR_CALIBSEL                   ADC_CR_CALIBSEL

#define ADCHS_CHEN0                     ADC_CHSR_CH0
#define ADCHS_CHEN1                     ADC_CHSR_CH1
#define ADCHS_CHEN2                     ADC_CHSR_CH2
#define ADCHS_CHEN3                     ADC_CHSR_CH3
#define ADCHS_CHEN4                     ADC_CHSR_CH4
#define ADCHS_CHEN5                     ADC_CHSR_CH5
#define ADCHS_CHEN6                     ADC_CHSR_CH6
#define ADCHS_CHEN7                     ADC_CHSR_CH7
#define ADCHS_ALL                       ADC_CHSR_CHALL


#define ADCHS_CHEN8                     ADC_CHSR_CH8
#define ADCHS_CHEN9                     ADC_CHSR_CH9
#define ADCHS_CHENTS                    ADC_CHSR_CHT
#define ADCHS_CHENVS                    ADC_CHSR_CHV
#define ADCHS_CHEN8                     ADC_CHSR_CH8
#define ADCHS_CHEN9                     ADC_CHSR_CH9
#define ADCHS_CHEN10                    ADC_CHSR_CH10
#define ADCHS_CHEN11                    ADC_CHSR_CH11
#define ADCHS_CHEN12                    ADC_CHSR_CH12
#define ADCHS_CHEN13                    ADC_CHSR_CH13
#define ADCHS_CHEN14                    ADC_CHSR_CH14
#define ADCHS_CHEN15                    ADC_CHSR_CH15
#define ADCHS_CHENTS                    ADC_CHSR_CHT
#define ADCHS_CHENVS                    ADC_CHSR_CHV


#define ADCMPR_CMPLDATA                 ADC_CMPR_CMPLDATA
#define ADCMPR_CMPHDATA                 ADC_CMPR_CMPHDATA

#define ADSTA_ADIF                      ADC_SR_ADIF
#define ADSTA_ADWIF                     ADC_SR_ADWIF
#define ADSTA_BUSY                      ADC_SR_BUSY
#define ADSTA_CHANNEL                   ADC_SR_CH
#define ADSTA_CHANNEL_CH0               ADC_SR_CH0
#define ADSTA_CHANNEL_CH1               ADC_SR_CH1
#define ADSTA_CHANNEL_CH2               ADC_SR_CH2
#define ADSTA_CHANNEL_CH3               ADC_SR_CH3
#define ADSTA_CHANNEL_CH4               ADC_SR_CH4
#define ADSTA_CHANNEL_CH5               ADC_SR_CH5
#define ADSTA_CHANNEL_CH6               ADC_SR_CH6
#define ADSTA_CHANNEL_CH7               ADC_SR_CH7
#define ADSTA_CHANNEL_CH8               ADC_SR_CH8
#define ADSTA_CHANNEL_CH9               ADC_SR_CH9
#define ADSTA_CHANNEL_CH10              ADC_SR_CH10
#define ADSTA_CHANNEL_CH11              ADC_SR_CH11
#define ADSTA_CHANNEL_CH13              ADC_SR_CH13
#define ADSTA_CHANNEL_CH14              ADC_SR_CH14
#define ADSTA_CHANNEL_CH15              ADC_SR_CH15
#define ADSTA_VALID                     ADC_SR_VALID
#define ADSTA_OVERRUN                   ADC_SR_OVERRUN

#define ADDR_OVERRUN                    ADC_CHDR_OVERRUN
#define ADDR_VALID                      ADC_CHDR_VALID
#define ADDR_DATA                       ADC_CHDR_DATA




////////////////////////////////////////////////////////////////////////////////
/// @brief redefine for HAL library
////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @brief redefine for ADC of HAL library
////////////////////////////////////////////////////////////////////////////////


#define ADC_ExternalTrigConv_T1_CC1     ADC1_ExternalTrigConv_T1_CC1
#define ADC_ExternalTrigConv_T1_CC2     ADC1_ExternalTrigConv_T1_CC2
#define ADC_ExternalTrigConv_T1_CC3     ADC1_ExternalTrigConv_T1_CC3
#define ADC_ExternalTrigConv_T2_CC2     ADC1_ExternalTrigConv_T2_CC2
#define ADC_ExternalTrigConv_T3_TRIG    ADC1_ExternalTrigConv_T3_TRIG
#define ADC_ExternalTrigConv_T3_CC1     ADC1_ExternalTrigConv_T3_CC1
#define ADC_ExternalTrigConv_EXTI_11    ADC1_ExternalTrigConv_EXTI_11
#define ADC_ExternalTrigConv_T1_CC4_CC5  ADC1_ExternalTrigConv_T1_CC4_CC5
#define ADC_ExternalTrigConv_T1_TRIG     ADC1_ExternalTrigConv_T1_TRIG
#define ADC_ExternalTrigConv_T8_CC4      ADC1_ExternalTrigConv_T8_CC4
#define ADC_ExternalTrigConv_T8_CC4_CC5  ADC1_ExternalTrigConv_T8_CC4_CC5
#define ADC_ExternalTrigConv_T2_CC1      ADC1_ExternalTrigConv_T2_CC1
#define ADC_ExternalTrigConv_T3_CC4      ADC1_ExternalTrigConv_T3_CC4
#define ADC_ExternalTrigConv_T2_TRIG     ADC1_ExternalTrigConv_T2_TRIG
#define ADC_ExternalTrigConv_T8_CC5      ADC1_ExternalTrigConv_T8_CC5
#define ADC_ExternalTrigConv_EXTI_15     ADC1_ExternalTrigConv_EXTI_15
#define ADC_ExternalTrigConv_T1_CC4      ADC1_ExternalTrigConv_T1_CC4
#define ADC_ExternalTrigConv_T1_CC5      ADC1_ExternalTrigConv_T1_CC5



#define ADC_SampleTime_1_5Cycles         ADC_Samctl_1_5
#define ADC_SampleTime_7_5Cycles         ADC_Samctl_7_5
#define ADC_SampleTime_13_5Cycles        ADC_Samctl_13_5
#define ADC_SampleTime_28_5Cycles        ADC_Samctl_28_5
#define ADC_SampleTime_41_5Cycles        ADC_Samctl_41_5
#define ADC_SampleTime_55_5Cycles        ADC_Samctl_55_5
#define ADC_SampleTime_71_5Cycles        ADC_Samctl_71_5
#define ADC_SampleTime_239_5Cycles       ADC_Samctl_239_5















////////////////////////////////////////////////////////////////////////////////
/// @brief Version compatibility definition
////////////////////////////////////////////////////////////////////////////////
#define AES_KEYR0                       AES_KEYRn                               ///< AES Key Register 0
#define AES_KEYR1                       AES_KEYRn                               ///< AES Key Register 1
#define AES_KEYR2                       AES_KEYRn                               ///< AES Key Register 2
#define AES_KEYR3                       AES_KEYRn                               ///< AES Key Register 3
#define AES_KEYR4                       AES_KEYRn                               ///< AES Key Register 4
#define AES_KEYR5                       AES_KEYRn                               ///< AES Key Register 5
#define AES_KEYR6                       AES_KEYRn                               ///< AES Key Register 6
#define AES_KEYR7                       AES_KEYRn                               ///< AES Key Register 7

#define AES_IVR0                        AES_IVRn                                ///< AES Initialization Vector Register 0
#define AES_IVR1                        AES_IVRn                                ///< AES Initialization Vector Register 1
#define AES_IVR2                        AES_IVRn                                ///< AES Initialization Vector Register 2
#define AES_IVR3                        AES_IVRn                                ///< AES Initialization Vector Register 3


#define CRC_DR_DR                       CRC_DR_DATA
#define CRC_IDR_IDR                     CRC_IDR_DATA
////////////////////////////////////////////////////////////////////////////////
/// @brief Version compatibility definition
////////////////////////////////////////////////////////////////////////////////
#define CRS_CR_SYNCOKIE                 CRS_CR_OKIE
#define CRS_CR_SYNCWARNIE               CRS_CR_WARNIE
#define CRS_CR_ESYNCIE                  CRS_CR_EXPTIE
#define CRS_CR_CEN                      CRS_CR_CNTEN
#define CRS_CFGR_SYNCDIV                CRS_CFGR_DIV
#define CRS_CFGR_SYNCSRC                CRS_CFGR_SRC
#define CRS_CFGR_SYNCPOL                CRS_CFGR_POL
#define CRS_ISR_SYNCOKF                 CRS_ISR_OKIF
#define CRS_ISR_SYNCWARNF               CRS_ISR_WARNIF
#define CRS_ISR_ERRF                    CRS_ISR_ERRIF
#define CRS_ISR_ESYNCF                  CRS_ISR_EXPTIF
#define CRS_ISR_SYNCERR                 CRS_ISR_ERR
#define CRS_ISR_SYNCMISS                CRS_ISR_MISS
#define CRS_ISR_TRIMOVF                 CRS_ISR_OVERFLOW
#define CRS_ICR_SYNCOKC                 CRS_ICR_OK
#define CRS_ICR_SYNCWARNC               CRS_ICR_WARN
#define CRS_ICR_ERRC                    CRS_ICR_ERR
#define CRS_ICR_ESYNCC                  CRS_ICR_EXPT

#define CRS_IT_SYNCOK                   CRS_ISR_SYNCOKF                         ///< SYNC event OK
#define CRS_IT_SYNCWARN                 CRS_ISR_SYNCWARNF                       ///< SYNC warning
#define CRS_IT_ERR                      CRS_CR_ERRIE                            ///< error
#define CRS_IT_ESYNC                    CRS_ISR_ESYNCF                          ///< Expected SYNC
#define CRS_IT_TRIMOVF                  CRS_ISR_TRIMOVF                         ///< Trimming overflow or underflow
#define CRS_IT_SYNCERR                  CRS_ISR_SYNCERR                         ///< SYNC error
#define CRS_IT_SYNCMISS                 CRS_ISR_SYNCMISS                        ///< SYNC missed

#define CRS_FLAG_SYNCOK                 CRS_ISR_SYNCOKF                         ///< SYNC event OK
#define CRS_FLAG_SYNCWARN               CRS_ISR_SYNCWARNF                       ///< SYNC warning
#define CRS_FLAG_ERR                    CRS_ISR_ERRF                            ///< error
#define CRS_FLAG_ESYNC                  CRS_ISR_ESYNCF                          ///< Expected SYNC
#define CRS_FLAG_TRIMOVF                CRS_ISR_TRIMOVF                         ///< Trimming overflow or underflow
#define CRS_FLAG_SYNCERR                CRS_ISR_SYNCERR                         ///< SYNC error
#define CRS_FLAG_SYNCMISS               CRS_ISR_SYNCMISS                        ///< SYNC missed
////////////////////////////////////////////////////////////////////////////////
/// @brief Version compatibility definition
////////////////////////////////////////////////////////////////////////////////
#define  DIV_UNSIGN                     DIV_CR_USIGN                            ///< Unsigned enable
////////////////////////////////////////////////////////////////////////////////
/// @brief DMA type pointer Definition
////////////////////////////////////////////////////////////////////////////////


#define DMA_CCR_MEM2MEM                 DMA_CCR_M2M

#define DMA_CCR1_EN                     DMA_CCR_EN
#define DMA_CCR1_DIR                    DMA_CCR_DIR
#define DMA_CCR1_CIRC                   DMA_CCR_CIRC
#define DMA_CCR1_PINC                   DMA_CCR_PINC
#define DMA_CCR1_MINC                   DMA_CCR_MINC
#define DMA_CCR1_PSIZE_0                DMA_CCR_PSIZE_0
#define DMA_CCR1_MSIZE_0                DMA_CCR_MSIZE_0
#define DMA_CCR1_PL_0                   DMA_CCR_PL_0
#define DMA_CCR1_PSIZE_1                DMA_CCR_PSIZE_1
#define DMA_CCR1_MSIZE_1                DMA_CCR_MSIZE_1
#define DMA_CCR1_PL_1                   DMA_CCR_PL_1
#define DMA_CCR1_MEM2MEM                DMA_CCR_M2M
#define DMA_CCR1_TCIE                   DMA_CCR_TCIE




////////////////////////////////////////////////////////////////////////////////
#define EXTI_IMR_MR0                    EXTI_IMR_0
#define EXTI_IMR_MR1                    EXTI_IMR_1
#define EXTI_IMR_MR2                    EXTI_IMR_2
#define EXTI_IMR_MR3                    EXTI_IMR_3
#define EXTI_IMR_MR4                    EXTI_IMR_4
#define EXTI_IMR_MR5                    EXTI_IMR_5
#define EXTI_IMR_MR6                    EXTI_IMR_6
#define EXTI_IMR_MR7                    EXTI_IMR_7
#define EXTI_IMR_MR8                    EXTI_IMR_8
#define EXTI_IMR_MR9                    EXTI_IMR_9
#define EXTI_IMR_MR10                   EXTI_IMR_10
#define EXTI_IMR_MR11                   EXTI_IMR_11
#define EXTI_IMR_MR12                   EXTI_IMR_12
#define EXTI_IMR_MR13                   EXTI_IMR_13
#define EXTI_IMR_MR14                   EXTI_IMR_14
#define EXTI_IMR_MR15                   EXTI_IMR_15
#define EXTI_IMR_MR16                   EXTI_IMR_16

#define EXTI_EMR_MR0                    EXTI_EMR_0
#define EXTI_EMR_MR1                    EXTI_EMR_1
#define EXTI_EMR_MR2                    EXTI_EMR_2
#define EXTI_EMR_MR3                    EXTI_EMR_3
#define EXTI_EMR_MR4                    EXTI_EMR_4
#define EXTI_EMR_MR5                    EXTI_EMR_5
#define EXTI_EMR_MR6                    EXTI_EMR_6
#define EXTI_EMR_MR7                    EXTI_EMR_7
#define EXTI_EMR_MR8                    EXTI_EMR_8
#define EXTI_EMR_MR9                    EXTI_EMR_9
#define EXTI_EMR_MR10                   EXTI_EMR_10
#define EXTI_EMR_MR11                   EXTI_EMR_11
#define EXTI_EMR_MR12                   EXTI_EMR_12
#define EXTI_EMR_MR13                   EXTI_EMR_13
#define EXTI_EMR_MR14                   EXTI_EMR_14
#define EXTI_EMR_MR15                   EXTI_EMR_15
#define EXTI_EMR_MR16                   EXTI_EMR_16

#define EXTI_RTSR_TR0                   EXTI_RTSR_0
#define EXTI_RTSR_TR1                   EXTI_RTSR_1
#define EXTI_RTSR_TR2                   EXTI_RTSR_2
#define EXTI_RTSR_TR3                   EXTI_RTSR_3
#define EXTI_RTSR_TR4                   EXTI_RTSR_4
#define EXTI_RTSR_TR5                   EXTI_RTSR_5
#define EXTI_RTSR_TR6                   EXTI_RTSR_6
#define EXTI_RTSR_TR7                   EXTI_RTSR_7
#define EXTI_RTSR_TR8                   EXTI_RTSR_8
#define EXTI_RTSR_TR9                   EXTI_RTSR_9
#define EXTI_RTSR_TR10                  EXTI_RTSR_10
#define EXTI_RTSR_TR11                  EXTI_RTSR_11
#define EXTI_RTSR_TR12                  EXTI_RTSR_12
#define EXTI_RTSR_TR13                  EXTI_RTSR_13
#define EXTI_RTSR_TR14                  EXTI_RTSR_14
#define EXTI_RTSR_TR15                  EXTI_RTSR_15
#define EXTI_RTSR_TR16                  EXTI_RTSR_16

#define EXTI_FTSR_TR0                   EXTI_FTSR_0
#define EXTI_FTSR_TR1                   EXTI_FTSR_1
#define EXTI_FTSR_TR2                   EXTI_FTSR_2
#define EXTI_FTSR_TR3                   EXTI_FTSR_3
#define EXTI_FTSR_TR4                   EXTI_FTSR_4
#define EXTI_FTSR_TR5                   EXTI_FTSR_5
#define EXTI_FTSR_TR6                   EXTI_FTSR_6
#define EXTI_FTSR_TR7                   EXTI_FTSR_7
#define EXTI_FTSR_TR8                   EXTI_FTSR_8
#define EXTI_FTSR_TR9                   EXTI_FTSR_9
#define EXTI_FTSR_TR10                  EXTI_FTSR_10
#define EXTI_FTSR_TR11                  EXTI_FTSR_11
#define EXTI_FTSR_TR12                  EXTI_FTSR_12
#define EXTI_FTSR_TR13                  EXTI_FTSR_13
#define EXTI_FTSR_TR14                  EXTI_FTSR_14
#define EXTI_FTSR_TR15                  EXTI_FTSR_15
#define EXTI_FTSR_TR16                  EXTI_FTSR_16

#define EXTI_SWIER_SWIER0               EXTI_SWIER_0
#define EXTI_SWIER_SWIER1               EXTI_SWIER_1
#define EXTI_SWIER_SWIER2               EXTI_SWIER_2
#define EXTI_SWIER_SWIER3               EXTI_SWIER_3
#define EXTI_SWIER_SWIER4               EXTI_SWIER_4
#define EXTI_SWIER_SWIER5               EXTI_SWIER_5
#define EXTI_SWIER_SWIER6               EXTI_SWIER_6
#define EXTI_SWIER_SWIER7               EXTI_SWIER_7
#define EXTI_SWIER_SWIER8               EXTI_SWIER_8
#define EXTI_SWIER_SWIER9               EXTI_SWIER_9
#define EXTI_SWIER_SWIER10              EXTI_SWIER_10
#define EXTI_SWIER_SWIER11              EXTI_SWIER_11
#define EXTI_SWIER_SWIER12              EXTI_SWIER_12
#define EXTI_SWIER_SWIER13              EXTI_SWIER_13
#define EXTI_SWIER_SWIER14              EXTI_SWIER_14
#define EXTI_SWIER_SWIER15              EXTI_SWIER_15
#define EXTI_SWIER_SWIER16              EXTI_SWIER_16

#define EXTI_PR_PR0                     EXTI_PR_0
#define EXTI_PR_PR1                     EXTI_PR_1
#define EXTI_PR_PR2                     EXTI_PR_2
#define EXTI_PR_PR3                     EXTI_PR_3
#define EXTI_PR_PR4                     EXTI_PR_4
#define EXTI_PR_PR5                     EXTI_PR_5
#define EXTI_PR_PR6                     EXTI_PR_6
#define EXTI_PR_PR7                     EXTI_PR_7
#define EXTI_PR_PR8                     EXTI_PR_8
#define EXTI_PR_PR9                     EXTI_PR_9
#define EXTI_PR_PR10                    EXTI_PR_10
#define EXTI_PR_PR11                    EXTI_PR_11
#define EXTI_PR_PR12                    EXTI_PR_12
#define EXTI_PR_PR13                    EXTI_PR_13
#define EXTI_PR_PR14                    EXTI_PR_14
#define EXTI_PR_PR15                    EXTI_PR_15
#define EXTI_PR_PR16                    EXTI_PR_16

#define EXTI_IMR_MR17                   EXTI_IMR_17

#define EXTI_IMR_MR18                   EXTI_IMR_18

#define EXTI_IMR_MR19                   EXTI_IMR_19

#define EXTI_IMR_MR20                   EXTI_IMR_20

#define EXTI_IMR_MR21                   EXTI_IMR_21


#define EXTI_IMR_MR24                   EXTI_IMR_24

#define EXTI_EMR_MR17                   EXTI_EMR_17

#define EXTI_EMR_MR18                   EXTI_EMR_18

#define EXTI_EMR_MR19                   EXTI_EMR_19

#define EXTI_EMR_MR20                   EXTI_EMR_20

#define EXTI_EMR_MR21                   EXTI_EMR_21


#define EXTI_EMR_MR24                   EXTI_EMR_24

#define EXTI_RTSR_MR17                  EXTI_RTSR_17

#define EXTI_RTSR_MR18                  EXTI_RTSR_18

#define EXTI_RTSR_MR19                  EXTI_RTSR_19

#define EXTI_RTSR_MR20                  EXTI_RTSR_20

#define EXTI_RTSR_MR21                  EXTI_RTSR_21


#define EXTI_RTSR_MR24                  EXTI_RTSR_24

#define EXTI_FTSR_MR17                  EXTI_FTSR_18

#define EXTI_FTSR_MR18                  EXTI_FTSR_18

#define EXTI_FTSR_MR19                  EXTI_FTSR_19

#define EXTI_FTSR_MR20                  EXTI_FTSR_20

#define EXTI_FTSR_MR21                  EXTI_FTSR_21


#define EXTI_FTSR_MR24                  EXTI_FTSR_24

#define EXTI_SWIER_MR17                 EXTI_SWIER_17

#define EXTI_SWIER_MR18                 EXTI_SWIER_18

#define EXTI_SWIER_MR19                 EXTI_SWIER_19

#define EXTI_SWIER_MR20                 EXTI_SWIER_20

#define EXTI_SWIER_MR21                 EXTI_SWIER_21


#define EXTI_SWIER_MR24                 EXTI_SWIER_24

#define EXTI_PR_MR17                    EXTI_PR_17

#define EXTI_PR_MR18                    EXTI_PR_18

#define EXTI_PR_MR19                    EXTI_PR_19

#define EXTI_PR_MR20                    EXTI_PR_20

#define EXTI_PR_MR21                    EXTI_PR_21


#define EXTI_PR_MR24                    EXTI_PR_24


////////////////////////////////////////////////////////////////////////////////
/// @brief Version compatibility definition
////////////////////////////////////////////////////////////////////////////////

#define GPIO_Mode_IN_FLOATING           GPIO_Mode_FLOATING


////////////////////////////////////////////////////////////////////////////////
/// @brief Version compatibility definition
////////////////////////////////////////////////////////////////////////////////
//Bit
#define I2C_CON_MASTER_MODE             I2C_CR_MASTER
#define I2C_CON_SPEED                   I2C_CR_SPEED
#define I2C_CON_SPEED_STANDARD          I2C_CR_STD
#define I2C_CON_SPEED_FAST              I2C_CR_FAST
#define I2C_CON_10BITADDR_SLAVE         I2C_CR_SLAVE10
#define I2C_CON_10BITADDR_MASTER        I2C_CR_MASTER10
#define I2C_CON_RESTART_EN              I2C_CR_REPEN
#define I2C_CON_SLAVE_DISABLE           I2C_CR_SLAVEDIS
#define I2C_CON_STOP_DET_IFADDRESSED    I2C_CR_STOPINT
#define I2C_CON_EMPTY_CTRL              I2C_CR_EMPINT
#define I2C_CON_STOP                    I2C_CR_STOP
#define I2C_CON_RESTART                 I2C_CR_RESTART

#define I2C_TAR_TAR                     I2C_TAR_ADDR
#define I2C_TAR_GC_OR_START             I2C_TAR_GC
#define I2C_SAR_SAR                     I2C_SAR_ADDR
#define I2C_DATA_CMD_DAT                I2C_DR_DAT
#define I2C_DATA_CMD_CMD                I2C_DR_CMD
#define I2C_DATA_CMD_STOP               I2C_DR_STOP
#define I2C_DATA_CMD_RESTART            I2C_DR_RESTART

#define I2C_SS_SCL_HCNT                 I2C_SSHR_CNT
#define I2C_SS_SCL_LCNT                 I2C_SSLR_CNT
#define I2C_FS_SCL_HCNT                 I2C_FSHR_CNT
#define I2C_FS_SCL_LCNT                 I2C_FSLR_CNT

#define I2C_INTR_STAT_RX_UNDER          I2C_ISR_RX_UNDER
#define I2C_INTR_STAT_RX_OVER           I2C_ISR_RX_OVER
#define I2C_INTR_STAT_RX_FULL           I2C_ISR_RX_FULL
#define I2C_INTR_STAT_TX_OVER           I2C_ISR_TX_OVER
#define I2C_INTR_STAT_TX_EMPTY          I2C_ISR_TX_EMPTY
#define I2C_INTR_STAT_RX_REQ            I2C_ISR_RX_REQ
#define I2C_INTR_STAT_TX_ABRT           I2C_ISR_TX_ABRT
#define I2C_INTR_STAT_RX_DONE           I2C_ISR_RX_DONE
#define I2C_INTR_STAT_ACTIVITY          I2C_ISR_ACTIV
#define I2C_INTR_STAT_STOP_DET          I2C_ISR_STOP
#define I2C_INTR_STAT_START_DET         I2C_ISR_START
#define I2C_INTR_STAT_GEN_CALL          I2C_ISR_GC
#define I2C_INTR_STAT_RESTART_DET       I2C_ISR_RESTART
#define I2C_INTR_STAT_MST_ON_HOLD       I2C_ISR_HOLD

#define I2C_INTR_MASK_RX_UNDER          I2C_IMR_RX_UNDER
#define I2C_INTR_MASK_RX_OVER           I2C_IMR_RX_OVER
#define I2C_INTR_MASK_RX_FULL           I2C_IMR_RX_FULL
#define I2C_INTR_MASK_TX_OVER           I2C_IMR_TX_OVER
#define I2C_INTR_MASK_TX_EMPTY          I2C_IMR_TX_EMPTY
#define I2C_INTR_MASK_RX_REQ            I2C_IMR_RX_REQ
#define I2C_INTR_MASK_TX_ABRT           I2C_IMR_TX_ABRT
#define I2C_INTR_MASK_RX_DONE           I2C_IMR_RX_DONE
#define I2C_INTR_MASK_ACTIVITY          I2C_IMR_ACTIV
#define I2C_INTR_MASK_STOP_DET          I2C_IMR_STOP
#define I2C_INTR_MASK_START_DET         I2C_IMR_START
#define I2C_INTR_MASK_GEN_CALL          I2C_IMR_GC
#define I2C_INTR_MASK_RESTART_DET       I2C_IMR_RESTART
#define I2C_INTR_MASK_MST_ON_HOLD       I2C_IMR_HOLD

#define I2C_RAW_INTR_MASK_RX_UNDER      I2C_RAWISR_RX_UNDER
#define I2C_RAW_INTR_MASK_RX_OVER       I2C_RAWISR_RX_OVER
#define I2C_RAW_INTR_MASK_RX_FULL       I2C_RAWISR_RX_FULL
#define I2C_RAW_INTR_MASK_TX_OVER       I2C_RAWISR_TX_OVER
#define I2C_RAW_INTR_MASK_TX_EMPTY      I2C_RAWISR_TX_EMPTY
#define I2C_RAW_INTR_MASK_RX_REQ        I2C_RAWISR_RX_REQ
#define I2C_RAW_INTR_MASK_TX_ABRT       I2C_RAWISR_TX_ABRT
#define I2C_RAW_INTR_MASK_RX_DONE       I2C_RAWISR_RX_DONE
#define I2C_RAW_INTR_MASK_ACTIVITY      I2C_RAWISR_ACTIV
#define I2C_RAW_INTR_MASK_STOP_DET      I2C_RAWISR_STOP
#define I2C_RAW_INTR_MASK_START_DET     I2C_RAWISR_START
#define I2C_RAW_INTR_MASK_GEN_CALL      I2C_RAWISR_GC
#define I2C_RAW_INTR_MASK_RESTART_DET   I2C_RAWISR_RESTART
#define I2C_RAW_INTR_MASK_MST_ON_HOLD   I2C_RAWISR_HOLD

#define I2C_RX_TL                       I2C_RXTLR_TL
#define I2C_TX_TL                       I2C_TXTLR_TL

#define I2C_CLR_INTR                    I2C_ICR
#define I2C_CLR_RX_UNDER                I2C_RX_UNDER
#define I2C_CLR_RX_OVER                 I2C_RX_OVER
#define I2C_CLR_TX_OVER                 I2C_TX_OVER
#define I2C_RX_REQ                      I2C_RD_REQ
#define I2C_CLR_RX_REQ                  I2C_RD_REQ
#define I2C_CLR_TX_ABRT                 I2C_TX_ABRT
#define I2C_CLR_RX_DONE                 I2C_RX_DONE
#define I2C_CLR_ACTIVITY                I2C_ACTIV
#define I2C_CLR_STOP_DET                I2C_STOP
#define I2C_CLR_START_DET               I2C_START
#define I2C_CLR_GEN_CALL                I2C_GC

#define I2C_ENABLE_ENABLE               I2C_ENR_ENABLE
#define I2C_ENABLE_ABORT                I2C_ENR_ABORT

#define I2C_STATUS_ACTIVITY             I2C_SR_ACTIV
#define I2C_STATUS_TFNF                 I2C_SR_TFNF
#define I2C_STATUS_TFE                  I2C_SR_TFE
#define I2C_STATUS_RFNE                 I2C_SR_RFNE
#define I2C_STATUS_RFF                  I2C_SR_RFF
#define I2C_STATUS_MST_ACTIVITY         I2C_SR_MST_ACTIV
#define I2C_STATUS_SLV_ACTIVITY         I2C_SR_SLV_ACTIV

#define I2C_TXFLR                       I2C_TXFLR_CNT
#define I2C_RXFLR                       I2C_RXFLR_CNT

#define I2C_SDA_TX_HOLD                 I2C_HOLD_TXCNT
#define I2C_SDA_RX_HOLD                 I2C_HOLD_RXCNT
#define I2C_DMA_CR_RDMAE                I2C_DMA_RXEN
#define I2C_DMA_CR_TDMAE                I2C_DMA_TXEN
#define I2C_SDA_SET_UP                  I2C_SETUP_CNT
#define I2C_ACK_GENERAL_CALL            I2C_GCR_GC


#define IWDG_PR_PR                      IWDG_PR_PRE
#define IWDG_PR_PR_DIV4                 IWDG_PR_PRE_DIV4
#define IWDG_PR_PR_DIV8                 IWDG_PR_PRE_DIV8
#define IWDG_PR_PR_DIV16                IWDG_PR_PRE_DIV16
#define IWDG_PR_PR_DIV32                IWDG_PR_PRE_DIV32
#define IWDG_PR_PR_DIV64                IWDG_PR_PRE_DIV64
#define IWDG_PR_PR_DIV128               IWDG_PR_PRE_DIV128
#define IWDG_PR_PR_DIV256               IWDG_PR_PRE_DIV256
////////////////////////////////////////////////////////////////////////////////
/// @brief Version compatibility definition
////////////////////////////////////////////////////////////////////////////////
#define RCC_AHBENR_DMAEN                RCC_AHBENR_DMA1
#define RCC_AHBENR_DMA1EN               RCC_AHBENR_DMA1


////////////////////////////////////////////////////////////////////////////////
/// @defgroup AHB_peripheral
/// @{
#define RCC_AHBPeriph_DMA1              RCC_AHBENR_DMA1
#define RCC_AHBPeriph_SRAM              RCC_AHBENR_SRAM
#define RCC_AHBPeriph_FLITF             RCC_AHBENR_FLITF
#define RCC_AHBPeriph_CRC               RCC_AHBENR_CRC
#define RCC_AHBPeriph_AES               RCC_AHBENR_AES
#define RCC_AHBPeriph_GPIOA             RCC_AHBENR_GPIOA
#define RCC_AHBPeriph_GPIOB             RCC_AHBENR_GPIOB
#define RCC_AHBPeriph_GPIOC             RCC_AHBENR_GPIOC
#define RCC_AHBPeriph_GPIOD             RCC_AHBENR_GPIOD


#define RCC_AHBPeriph_GPIOE             RCC_AHBENR_GPIOE
#define RCC_AHBPeriph_HIV               RCC_AHBENR_HWDIV
#define RCC_AHBPeriph_HWDIV             RCC_AHBENR_HWDIV




/// @}

////////////////////////////////////////////////////////////////////////////////
/// @defgroup APB2_peripheral
/// @{
#define RCC_APB2Periph_ADC1             RCC_APB2ENR_ADC1
#define RCC_APB2Periph_TIM1             RCC_APB2ENR_TIM1
#define RCC_APB2Periph_SPI1             RCC_APB2ENR_SPI1
#define RCC_APB2Periph_UART1            RCC_APB2ENR_UART1
#define RCC_APB2Periph_COMP             RCC_APB2ENR_COMP
#define RCC_APB2Periph_DBGMCU           RCC_APB2ENR_DBGMCU

#define RCC_APB2ENR_ADC1EN              RCC_APB2ENR_ADC1
#define RCC_APB2ENR_TIM1EN              RCC_APB2ENR_TIM1
#define RCC_APB2RSTR_ADC1RST            RCC_APB2RSTR_ADC1

#define RCC_APB2Periph_ADC2             RCC_APB2ENR_ADC2
#define RCC_APB2Periph_ADC3             RCC_APB2ENR_ADC3
#define RCC_APB2Periph_SYSCFG           RCC_APB2ENR_SYSCFG
#define RCC_APB2Periph_EXTI             RCC_APB2ENR_EXTI

/// @}

////////////////////////////////////////////////////////////////////////////////
/// @defgroup APB1_peripheral
/// @{
#define RCC_APB1Periph_TIM2             RCC_APB1ENR_TIM2
#define RCC_APB1Periph_TIM3             RCC_APB1ENR_TIM3
#define RCC_APB1Periph_TIM4             RCC_APB1ENR_TIM4
#define RCC_APB1Periph_UART3            RCC_APB1ENR_UART3
#define RCC_APB1Periph_BKP              RCC_APB1ENR_BKP
#define RCC_APB1Periph_DAC              RCC_APB1ENR_DAC
#define RCC_APB1Periph_I2C2             RCC_APB1ENR_I2C2
#define RCC_APB1Periph_ALL              0x3AE64807
#define RCC_APB1Periph_CAN1             RCC_APB1ENR_CAN
#define RCC_APB1Periph_CRS              RCC_APB1ENR_CRS
#define RCC_APB1Periph_UART2            RCC_APB1ENR_UART2
#define RCC_APB1Periph_I2C1             RCC_APB1ENR_I2C1
#define RCC_APB1Periph_SPI2             RCC_APB1ENR_SPI2
#define RCC_APB1Periph_WWDG             RCC_APB1ENR_WWDG
#define RCC_APB1Periph_PWR              RCC_APB1ENR_PWR

#define RCC_APB1ENR_PWREN               RCC_APB1ENR_PWR
#define RCC_APB1ENR_TIM2EN              RCC_APB1ENR_TIM2
#define RCC_APB1ENR_TIM3EN              RCC_APB1ENR_TIM3
#define RCC_APB1ENR_SYSCFG              RCC_APB1ENR_EXTI


////////////////////////////////////////////////////////////////////////////////
/// @brief RTC_CR Register Bit Definition
////////////////////////////////////////////////////////////////////////////////
#define RTC_CRH_SECIE_Pos               RTC_CR_SECIE_Pos
#define RTC_CRH_SECIE                   RTC_CR_SECIE                  ///< Second Interrupt Enable
#define RTC_CRH_ALRIE_Pos               RTC_CR_ALRIE_Pos
#define RTC_CRH_ALRIE                   RTC_CR_ALRIE                  ///< Alarm Interrupt Enable
#define RTC_CRH_OWIE_Pos                RTC_CR_OWIE_Pos
#define RTC_CRH_OWIE                    RTC_CR_OWIE                   ///< OverfloW Interrupt Enable

////////////////////////////////////////////////////////////////////////////////
/// @brief RTC_CSR Register Bit Definition
////////////////////////////////////////////////////////////////////////////////
#define RTC_CRL_SECF_Pos                RTC_CSR_SECF_Pos
#define RTC_CRL_SECF                    RTC_CSR_SECF                   ///< Second Flag
#define RTC_CRL_ALRF_Pos                RTC_CSR_ALRF_Pos
#define RTC_CRL_ALRF                    RTC_CSR_ALRF                   ///< Alarm Flag
#define RTC_CRL_OWF_Pos                 RTC_CSR_OWF_Pos
#define RTC_CRL_OWF                     RTC_CSR_OWF                    ///< OverfloW Flag
#define RTC_CRL_RSF_Pos                 RTC_CSR_RSF_Pos
#define RTC_CRL_RSF                     RTC_CSR_RSF                    ///< Registers Synchronized Flag
#define RTC_CRL_CNF_Pos                 RTC_CSR_CNF_Pos
#define RTC_CRL_CNF                     RTC_CSR_CNF                    ///< Configuration Flag
#define RTC_CRL_RTOFF_Pos               RTC_CSR_RTOFF_Pos
#define RTC_CRL_RTOFF                   RTC_CSR_RTOFF                  ///< RTC operation OFF
#define RTC_CRL_ALPEN_Pos               RTC_CSR_ALPEN_Pos
#define RTC_CRL_ALPEN                   RTC_CSR_ALPEN                  ///< RTC Alarm Loop Enable



////////////////////////////////////////////////////////////////////////////////
/// @brief Version compatibility definition
////////////////////////////////////////////////////////////////////////////////
#define SPI_TXREG_TXREG                 SPI_TDR_TXREG
#define SPI_RXREG_RXREG                 SPI_RDR_RXREG

#define SPI_CSTAT_TXEPT                 SPI_SR_TXEPT
#define SPI_CSTAT_RXAVL                 SPI_SR_RXAVL
#define SPI_CSTAT_TXFULL                SPI_SR_TXFULL
#define SPI_CSTAT_RXAVL_4BYTE           SPI_SR_RXAVL_4BYTE
#define SPI_CSTAT_TXFADDR               SPI_SR_TXFADDR
#define SPI_CSTAT_RXFADDR               SPI_SR_RXFADDR

#define SPI_INTSTAT_TX_INTF             SPI_ISR_TX_INTF
#define SPI_INTSTAT_RX_INTF             SPI_ISR_RX_INTF
#define SPI_INTSTAT_UNDERRUN_INTF       SPI_ISR_UNDERRUN_INTF
#define SPI_INTSTAT_RXOERR_INTF         SPI_ISR_RXOERR_INTF
#define SPI_INTSTAT_RXMATCH_INTF        SPI_ISR_RXMATCH_INTF
#define SPI_INTSTAT_RXFULL_INTF         SPI_ISR_RXFULL_INTF
#define SPI_INTSTAT_TXEPT_INTF          SPI_ISR_TXEPT_INTF

#define SPI_INTEN_TX_IEN                SPI_IER_TX_IEN
#define SPI_INTEN_RX_IEN                SPI_IER_RX_IEN
#define SPI_INTEN_UNDERRUN_IEN          SPI_IER_UNDERRUN_IEN
#define SPI_INTEN_RXOERR_IEN            SPI_IER_RXOERR_IEN
#define SPI_INTEN_RXMATCH_IEN           SPI_IER_RXMATCH_IEN
#define SPI_INTEN_RXFULL_IEN            SPI_IER_RXFULL_IEN
#define SPI_INTEN_TXEPT_IEN             SPI_IER_TXEPT_IEN

#define SPI_INTCLR_TX_ICLR              SPI_ICR_TX_ICLR
#define SPI_INTCLR_RX_ICLR              SPI_ICR_RX_ICLR
#define SPI_INTCLR_UNDERRUN_ICLR        SPI_ICR_UNDERRUN_ICLR
#define SPI_INTCLR_RXOERR_ICLR          SPI_ICR_RXOERR_ICLR
#define SPI_INTCLR_RXMATCH_ICLR         SPI_ICR_RXMATCH_ICLR
#define SPI_INTCLR_RXFULL_ICLR          SPI_ICR_RXFULL_ICLR
#define SPI_INTCLR_TXEPT_ICLR           SPI_ICR_TXEPT_ICLR

#define SPI_GCTL_SPIEN                  SPI_GCR_SPIEN
#define SPI_GCTL_INT_EN                 SPI_GCR_IEN
#define SPI_GCTL_MM                     SPI_GCR_MODE
#define SPI_GCTL_TXEN                   SPI_GCR_TXEN
#define SPI_GCTL_RXEN                   SPI_GCR_RXEN

#define SPI_GCTL_RXTLF                  SPI_GCR_RXTLF
#define SPI_GCTL_RXTLF_One              SPI_GCR_RXTLF_One
#define SPI_GCTL_RXTLF_Half             SPI_GCR_RXTLF_Half

#define SPI_GCTL_TXTLF_Pos              SPI_GCR_TXTLF_Pos
#define SPI_GCTL_TXTLF                  SPI_GCR_TXTLF
#define SPI_GCTL_TXTLF_One              SPI_GCR_TXTLF_One
#define SPI_GCTL_TXTLF_Half             SPI_GCR_TXTLF_Half
#define SPI_GCTL_DMAEN                  SPI_GCR_DMAEN
#define SPI_GCTL_NSS_SEL                SPI_GCR_NSS
#define SPI_GCTL_DATA_SEL               SPI_GCR_DWSEL

#define SPI_GCTL_NSSTOG                 SPI_GCR_NSSTOG

#define SPI_CCTL_CPHA                   SPI_CCR_CPHA
#define SPI_CCTL_CPOL                   SPI_CCR_CPOL
#define SPI_CCTL_LSBFE                  SPI_CCR_LSBFE
#define SPI_CCTL_SPILEN                 SPI_CCR_SPILEN
#define SPI_CCTL_RXEDGE                 SPI_CCR_RXEDGE
#define SPI_CCTL_TXEDGE                 SPI_CCR_TXEDGE

#define SPI_CCTL_CPHASEL                SPI_CCR_CPHASEL

#define SPI_CCTL_HISPD                  SPI_CCR_HISPD

#define SPI_SPBRG_SPBRG                 SPI_BRR_DIVF

#define SPI_RXDNR_RXDNR                 SPI_RDNR_RDN

#define SPI_EXTCTL_EXTLEN               SPI_ECR_EXTLEN
#define TIM_CR1_ARPE                    TIM_CR1_ARPEN

#define TIM_SMCR_ECE                    TIM_SMCR_ECEN

#define TIM_DIER_UIE                    TIM_DIER_UI
#define TIM_DIER_CC1IE                  TIM_DIER_CC1I
#define TIM_DIER_CC2IE                  TIM_DIER_CC2I
#define TIM_DIER_CC3IE                  TIM_DIER_CC3I
#define TIM_DIER_CC4IE                  TIM_DIER_CC4I
#define TIM_DIER_COMIE                  TIM_DIER_COMI
#define TIM_DIER_TIE                    TIM_DIER_TI
#define TIM_DIER_BIE                    TIM_DIER_BI
#define TIM_DIER_UDE                    TIM_DIER_UD
#define TIM_DIER_CC1DE                  TIM_DIER_CC1D
#define TIM_DIER_CC2DE                  TIM_DIER_CC2D
#define TIM_DIER_CC3DE                  TIM_DIER_CC3D
#define TIM_DIER_CC4DE                  TIM_DIER_CC4D
#define TIM_DIER_COMDE                  TIM_DIER_COMD
#define TIM_DIER_TDE                    TIM_DIER_TD

#define TIM_DIER_UIEN                   TIM_DIER_UI
#define TIM_DIER_CC1IEN                 TIM_DIER_CC1I
#define TIM_DIER_CC2IEN                 TIM_DIER_CC2I
#define TIM_DIER_CC3IEN                 TIM_DIER_CC3I
#define TIM_DIER_CC4IEN                 TIM_DIER_CC4I
#define TIM_DIER_COMIEN                 TIM_DIER_COMI
#define TIM_DIER_TIEN                   TIM_DIER_TI
#define TIM_DIER_BIEN                   TIM_DIER_BI
#define TIM_DIER_UDEN                   TIM_DIER_UD
#define TIM_DIER_CC1DEN                 TIM_DIER_CC1D
#define TIM_DIER_CC2DEN                 TIM_DIER_CC2D
#define TIM_DIER_CC3DEN                 TIM_DIER_CC3D
#define TIM_DIER_CC4DEN                 TIM_DIER_CC4D
#define TIM_DIER_COMDEN                 TIM_DIER_COMD
#define TIM_DIER_TDEN                   TIM_DIER_TD

#define TIM_DIER_CC5IE                  TIM_DIER_CC5I
#define TIM_DIER_CC5DE                  TIM_DIER_CC5D

#define TIM_SR_UIF                      TIM_SR_UI
#define TIM_SR_CC1IF                    TIM_SR_CC1I
#define TIM_SR_CC2IF                    TIM_SR_CC2I
#define TIM_SR_CC3IF                    TIM_SR_CC3I
#define TIM_SR_CC4IF                    TIM_SR_CC4I
#define TIM_SR_COMIF                    TIM_SR_COMI
#define TIM_SR_TIF                      TIM_SR_TI
#define TIM_SR_BIF                      TIM_SR_BI
#define TIM_SR_CC1OF                    TIM_SR_CC1O
#define TIM_SR_CC2OF                    TIM_SR_CC2O
#define TIM_SR_CC3OF                    TIM_SR_CC3O
#define TIM_SR_CC4OF                    TIM_SR_CC4O

#define TIM_SR_CC5IF                    TIM_SR_CC5I

#define TIM_CCMR1_OC1FE                 TIM_CCMR1_OC1FEN
#define TIM_CCMR1_OC1PE                 TIM_CCMR1_OC1PEN
#define TIM_CCMR1_OC1CE                 TIM_CCMR1_OC1CEN
#define TIM_CCMR1_OC2FE                 TIM_CCMR1_OC2FEN
#define TIM_CCMR1_OC2PE                 TIM_CCMR1_OC2PEN
#define TIM_CCMR1_OC2CE                 TIM_CCMR1_OC2CEN

#define TIM_CCMR2_OC3FE                 TIM_CCMR2_OC3FEN
#define TIM_CCMR2_OC3PE                 TIM_CCMR2_OC3PEN
#define TIM_CCMR2_OC3CE                 TIM_CCMR2_OC3CEN
#define TIM_CCMR2_OC4FE                 TIM_CCMR2_OC4FEN
#define TIM_CCMR2_OC4PE                 TIM_CCMR2_OC4PEN
#define TIM_CCMR2_OC4CE                 TIM_CCMR2_OC4CEN

#define TIM_CCER_CC1E                   TIM_CCER_CC1EN
#define TIM_CCER_CC1NE                  TIM_CCER_CC1NEN
#define TIM_CCER_CC2E                   TIM_CCER_CC2EN
#define TIM_CCER_CC2NE                  TIM_CCER_CC2NEN
#define TIM_CCER_CC3E                   TIM_CCER_CC3EN
#define TIM_CCER_CC3NE                  TIM_CCER_CC3NEN
#define TIM_CCER_CC4E                   TIM_CCER_CC4EN

#define TIM_CCER_CC5E                   TIM_CCER_CC5EN

#define TIM_BDTR_BKE                    TIM_BDTR_BKEN
#define TIM_BDTR_AOE                    TIM_BDTR_AOEN
#define TIM_BDTR_MOE                    TIM_BDTR_MOEN

#define TIM_BDTR_DOE                    TIM_BDTR_DOEN

#define TIM_CCMR3_OC5FE                 TIM_CCMR3_OC5FEN
#define TIM_CCMR3_OC5PE                 TIM_CCMR3_OC5PEN
#define TIM_CCMR3_OC5CE                 TIM_CCMR3_OC5CEN
#define UART_TDR_TXREG                  UART_TDR_DATA
#define UART_RDR_RXREG                  UART_RDR_DATA

#define UART_ISR_TX_INTF                UART_ISR_TX
#define UART_ISR_RX_INTF                UART_ISR_RX
#define UART_ISR_RXOERR_INTF            UART_ISR_RXOERR
#define UART_ISR_RXPERR_INTF            UART_ISR_RXPERR
#define UART_ISR_RXFERR_INTF            UART_ISR_RXFERR
#define UART_ISR_RXBRK_INTF             UART_ISR_RXBRK

#define UART_IER_TXIEN                  UART_IER_TX
#define UART_IER_RXIEN                  UART_IER_RXI
#define UART_IER_RXOERREN               UART_IER_RXOERR
#define UART_IER_RXPERREN               UART_IER_RXPERR
#define UART_IER_RXFERREN               UART_IER_RXFERR
#define UART_IER_RXBRKEN                UART_IER_RXBRK

#define UART_ICR_TXICLR                 UART_ICR_TX
#define UART_ICR_RXICLR                 UART_ICR_RX
#define UART_ICR_RXOERRCLR              UART_ICR_RXOERR
#define UART_ICR_RXPERRCLR              UART_ICR_RXPERR
#define UART_ICR_RXFERRCLR              UART_ICR_RXFERR
#define UART_ICR_RXBRKCLR               UART_ICR_RXBRK

#define UART_Mode_Rx                    UART_GCR_RX
#define UART_Mode_Tx                    UART_GCR_TX
#define UART_EN                         UART_GCR_UART
#define UART_IT_RXBRK                   UART_IER_RXBRK
#define UART_IT_ERR                     UART_IER_RXFERR
#define UART_IT_PE                      UART_IER_RXPERR
#define UART_OVER_ERR                   UART_IER_RXOERR
#define UART_IT_RXIEN                   UART_IER_RX
#define UART_IT_TXIEN                   UART_IER_TX

#define UART_HardwareFlowControl_None   UART_HWFlowControl_None

#define UART_BRR_DIV_MANTISSA           UART_BRR_MANTISSA
#define UART_BRR_DIV_FRACTION           UART_BRR_FRACTION

#define UART_ISR_TXC_INTF               UART_ISR_TXC
#define UART_ISR_TXBRK_INTF             UART_ISR_TXBRK
#define UART_ISR_RXB8_INTF              UART_ISR_RXB8

#define UART_IT_RXB8                    UART_IER_RXB8
#define UART_IT_TXBRK                   UART_IER_TXBRK
#define UART_IT_TXCIEN                  UART_IER_TXC
#define UART_ICR_TXCCLR                 UART_ICR_TXC
#define UART_ICR_TXBRKCLR               UART_ICR_TXBRK
#define UART_ICR_RXB8CLR                UART_ICR_RXB8
#define UART_SCR_SCAEN                  UART_SCR_SCARB
#define UART_DMAReq_EN                  UART_GCR_DMA
#define UART_FLAG_TXEMPTY               UART_CSR_TXEPT
#define UART_FLAG_TXFULL                UART_CSR_TXFULL
#define UART_FLAG_RXAVL                 UART_CSR_RXAVL
#define UART_FLAG_TXEPT                 UART_CSR_TXC
#define WWDG_CR_T                       WWDG_CR_CNT


#if defined(ENABLEIP_USB_OTG)
//USB

///-------------------  Bit definition for SETUP0 register  --------------------

//#define SETUP0 ((u16)0x00FF)

///-------------------  Bit definition for SETUP1 register  --------------------
//#define SETUP1 ((u16)0x00FF)

///-------------------  Bit definition for SETUP2 register  --------------------
//#define SETUP2 ((u16)0x00FF)

///-------------------  Bit definition for SETUP3 register  --------------------
//#define SETUP3 ((u16)0x00FF)

///-------------------  Bit definition for SETUP4 register  --------------------
//#define SETUP4 ((u16)0x00FF)

///-------------------  Bit definition for SETUP5 register  --------------------
//#define SETUP5 ((u16)0x00FF)

///-------------------  Bit definition for SETUP6 register  --------------------
//#define SETUP6 ((u16)0x00FF)

///-------------------  Bit definition for SETUP7 register  --------------------
//#define SETUP7 ((u16)0x00FF)



#define USB_TOP_STATE_0                             ((u16)0x0020)
#define USB_TOP_STATE_1                             ((u16)0x0040)

///-------------------  Bit definition for EP1_INT_STATE register  --------------------
#define  EP1_INT_STATE_END                          ((u16)0x0002)
#define  EP1_INT_STATE_INNACK                       ((u16)0x0004)
#define  EP1_INT_STATE_INACK                        ((u16)0x0008)
#define  EP1_INT_STATE_INSTALL                      ((u16)0x0010)
#define  EP1_INT_STATE_OUTNACK                      ((u16)0x0020)
#define  EP1_INT_STATE_OUTACK                       ((u16)0x0040)
#define  EP1_INT_STATE_OUTSTALL                     ((u16)0x0080)

///-------------------  Bit definition for EP2_INT_STATE register  --------------------
#define  EP2_INT_STATE_END                          ((u16)0x0002)
#define  EP2_INT_STATE_INNACK                       ((u16)0x0004)
#define  EP2_INT_STATE_INACK                        ((u16)0x0008)
#define  EP2_INT_STATE_INSTALL                      ((u16)0x0010)
#define  EP2_INT_STATE_OUTNACK                      ((u16)0x0020)
#define  EP2_INT_STATE_OUTACK                       ((u16)0x0040)
#define  EP2_INT_STATE_OUTSTALL                     ((u16)0x0080)

///-------------------  Bit definition for EP3_INT_STATE register  --------------------
#define  EP3_INT_STATE_END                          ((u16)0x0002)
#define  EP3_INT_STATE_INNACK                       ((u16)0x0004)
#define  EP3_INT_STATE_INACK                        ((u16)0x0008)
#define  EP3_INT_STATE_INSTALL                      ((u16)0x0010)
#define  EP3_INT_STATE_OUTNACK                      ((u16)0x0020)
#define  EP3_INT_STATE_OUTACK                       ((u16)0x0040)
#define  EP3_INT_STATE_OUTSTALL                     ((u16)0x0080)

///-------------------  Bit definition for EP4_INT_STATE register  --------------------
#define  EP4_INT_STATE_END                          ((u16)0x0002)
#define  EP4_INT_STATE_INNACK                       ((u16)0x0004)
#define  EP4_INT_STATE_INACK                        ((u16)0x0008)
#define  EP4_INT_STATE_INSTALL                      ((u16)0x0010)
#define  EP4_INT_STATE_OUTNACK                      ((u16)0x0020)
#define  EP4_INT_STATE_OUTACK                       ((u16)0x0040)
#define  EP4_INT_STATE_OUTSTALL                     ((u16)0x0080)


///-------------------  Bit definition for EP0_AVIL register  --------------------
#define EP0_AVIL_EPXAVIL                            ((u16)0x00FF)

///-------------------  Bit definition for EP1_AVIL register  --------------------
#define EP1_AVIL_EPXAVIL                            ((u16)0x00FF)

///-------------------  Bit definition for EP2_AVIL register  --------------------
#define EP2_AVIL_EPXAVIL                            ((u16)0x00FF)

///-------------------  Bit definition for EP3_AVIL register  --------------------
#define EP3_AVIL_EPXAVIL                            ((u16)0x00FF)

///-------------------  Bit definition for EP4_AVIL register  --------------------
#define EP4_AVIL_EPXAVIL                            ((u16)0x00FF)

///-------------------  Bit definition for EP0_CTRL register  --------------------
#define EP0_CTRL_TRANEN                             ((u16)0x0080)

#define EP0_CTRL_TRANCOUNT                          ((u16)0x007F)
#define EP0_CTRL_TRANCOUNT_0                        ((u16)0x0001)
#define EP0_CTRL_TRANCOUNT_1                        ((u16)0x0002)
#define EP0_CTRL_TRANCOUNT_2                        ((u16)0x0004)
#define EP0_CTRL_TRANCOUNT_3                        ((u16)0x0008)
#define EP0_CTRL_TRANCOUNT_4                        ((u16)0x0010)
#define EP0_CTRL_TRANCOUNT_5                        ((u16)0x0020)
#define EP0_CTRL_TRANCOUNT_6                        ((u16)0x0040)

///-------------------  Bit definition for EP1_CTRL register  --------------------
#define EP1_CTRL_TRANEN                             ((u16)0x0080)

#define EP1_CTRL_TRANCOUNT                         ((u16)0x007F)
#define EP1_CTRL_TRANCOUNT_0                       ((u16)0x0001)
#define EP1_CTRL_TRANCOUNT_1                       ((u16)0x0002)
#define EP1_CTRL_TRANCOUNT_2                       ((u16)0x0004)
#define EP1_CTRL_TRANCOUNT_3                       ((u16)0x0008)
#define EP1_CTRL_TRANCOUNT_4                       ((u16)0x0010)
#define EP1_CTRL_TRANCOUNT_5                       ((u16)0x0020)
#define EP1_CTRL_TRANCOUNT_6                       ((u16)0x0040)

///-------------------  Bit definition for EP2_CTRL register  --------------------
#define EP2_CTRL_TRANEN                             ((u16)0x0080)

#define EP2_CTRL_TRANCOUNT                          ((u16)0x007F)
#define EP2_CTRL_TRANCOUNT_0                        ((u16)0x0001)
#define EP2_CTRL_TRANCOUNT_1                        ((u16)0x0002)
#define EP2_CTRL_TRANCOUNT_2                        ((u16)0x0004)
#define EP2_CTRL_TRANCOUNT_3                        ((u16)0x0008)
#define EP2_CTRL_TRANCOUNT_4                        ((u16)0x0010)
#define EP2_CTRL_TRANCOUNT_5                        ((u16)0x0020)
#define EP2_CTRL_TRANCOUNT_6                        ((u16)0x0040)

///-------------------  Bit definition for EP3_CTRL register  --------------------
#define EP3_CTRL_TRANEN                             ((u16)0x0080)

#define EP3_CTRL_TRANCOUNT                          ((u16)0x007F)
#define EP3_CTRL_TRANCOUNT_0                        ((u16)0x0001)
#define EP3_CTRL_TRANCOUNT_1                        ((u16)0x0002)
#define EP3_CTRL_TRANCOUNT_2                        ((u16)0x0004)
#define EP3_CTRL_TRANCOUNT_3                        ((u16)0x0008)
#define EP3_CTRL_TRANCOUNT_4                        ((u16)0x0010)
#define EP3_CTRL_TRANCOUNT_5                        ((u16)0x0020)
#define EP3_CTRL_TRANCOUNT_6                        ((u16)0x0040)

///-------------------  Bit definition for EP4_CTRL register  --------------------
#define EP4_CTRL_TRANEN                             ((u16)0x0080)

#define EP4_CTRL_TRANCOUNT                          ((u16)0x007F)
#define EP4_CTRL_TRANCOUNT_0                        ((u16)0x0001)
#define EP4_CTRL_TRANCOUNT_1                        ((u16)0x0002)
#define EP4_CTRL_TRANCOUNT_2                        ((u16)0x0004)
#define EP4_CTRL_TRANCOUNT_3                        ((u16)0x0008)
#define EP4_CTRL_TRANCOUNT_4                        ((u16)0x0010)
#define EP4_CTRL_TRANCOUNT_5                        ((u16)0x0020)
#define EP4_CTRL_TRANCOUNT_6                        ((u16)0x0040)


#endif
#endif //__MM32_REG_DEFINE_V1_H