-
Notifications
You must be signed in to change notification settings - Fork 2
/
stm32g051.mmap
4620 lines (4620 loc) · 619 KB
/
stm32g051.mmap
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
0x40000000 A PERIPHERAL TIM2
0x40000000 B REGISTER CR1 (rw): control register 1
0x40000000 C FIELD 00w01 CEN (rw): Counter enable Note: External clock, gated mode and encoder mode can work only if the CEN bit has been previously set by software. However trigger mode can set the CEN bit automatically by hardware. CEN is cleared automatically in one-pulse mode, when an update event occurs.
0x40000000 C FIELD 01w01 UDIS (rw): Update disable This bit is set and cleared by software to enable/disable UEV event generation. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller Buffered registers are then loaded with their preload values.
0x40000000 C FIELD 02w01 URS (rw): Update request source This bit is set and cleared by software to select the UEV event sources. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller
0x40000000 C FIELD 03w01 OPM (rw): One-pulse mode
0x40000000 C FIELD 04w01 DIR (rw): Direction Note: This bit is read only when the timer is configured in Center-aligned mode or Encoder mode.
0x40000000 C FIELD 05w02 CMS (rw): Center-aligned mode selection Note: It is not allowed to switch from edge-aligned mode to center-aligned mode as long as the counter is enabled (CEN=1)
0x40000000 C FIELD 07w01 ARPE (rw): Auto-reload preload enable
0x40000000 C FIELD 08w02 CKD (rw): Clock division This bit-field indicates the division ratio between the timer clock (CK_INT) frequency and sampling clock used by the digital filters (ETR, TIx),
0x40000000 C FIELD 11w01 UIFREMAP (rw): UIF status bit remapping
0x40000004 B REGISTER CR2 (rw): control register 2
0x40000004 C FIELD 03w01 CCDS (rw): Capture/compare DMA selection
0x40000004 C FIELD 04w03 MMS (rw): Master mode selection These bits permit to select the information to be sent in master mode to slave timers for synchronization (TRGO). The combination is as follows: When the Counter Enable signal is controlled by the trigger input, there is a delay on TRGO, except if the master/slave mode is selected (see the MSM bit description in TIMx_SMCR register). Note: The clock of the slave timer or ADC must be enabled prior to receive events from the master timer, and must not be changed on-the-fly while triggers are received from the master timer.
0x40000004 C FIELD 07w01 TI1S (rw): TI1 selection
0x40000008 B REGISTER SMCR (rw): slave mode control register
0x40000008 C FIELD 00w03 SMS1 (rw): Slave mode selection When external signals are selected the active edge of the trigger signal (TRGI) is linked to the polarity selected on the external input (see Input Control register and Control Register description. reinitializes the counter, generates an update of the registers and starts the counter. Note: The gated mode must not be used if TI1F_ED is selected as the trigger input (TS=00100). Indeed, TI1F_ED outputs 1 pulse for each transition on TI1F, whereas the gated mode checks the level of the trigger signal. Note: The clock of the slave peripherals (timer, ADC, ...) receiving the TRGO or the TRGO2 signals must be enabled prior to receive events from the master timer, and the clock frequency (prescaler) must not be changed on-the-fly while triggers are received from the master timer.
0x40000008 C FIELD 03w01 OCCS (rw): OCREF clear selection This bit is used to select the OCREF clear source
0x40000008 C FIELD 04w03 TS1 (rw): Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See for more details on ITRx meaning for each Timer. Note: These bits must be changed only when they are not used (e.g. when SMS=000) to avoid wrong edge detections at the transition.
0x40000008 C FIELD 07w01 MSM (rw): Master/Slave mode
0x40000008 C FIELD 08w04 ETF (rw): External trigger filter This bit-field then defines the frequency used to sample ETRP signal and the length of the digital filter applied to ETRP. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output:
0x40000008 C FIELD 12w02 ETPS (rw): External trigger prescaler External trigger signal ETRP frequency must be at most 1/4 of CK_INT frequency. A prescaler can be enabled to reduce ETRP frequency. It is useful when inputting fast external clocks.
0x40000008 C FIELD 14w01 ECE (rw): External clock enable This bit enables External clock mode 2. Note: Setting the ECE bit has the same effect as selecting external clock mode 1 with TRGI connected to ETRF (SMS=111 and TS=00111). It is possible to simultaneously use external clock mode 2 with the following slave modes: reset mode, gated mode and trigger mode. Nevertheless, TRGI must not be connected to ETRF in this case (TS bits must not be 00111). If external clock mode 1 and external clock mode 2 are enabled at the same time, the external clock input is ETRF.
0x40000008 C FIELD 15w01 ETP (rw): External trigger polarity This bit selects whether ETR or ETR is used for trigger operations
0x40000008 C FIELD 16w01 SMS2 (rw): Slave mode selection When external signals are selected the active edge of the trigger signal (TRGI) is linked to the polarity selected on the external input (see Input Control register and Control Register description. reinitializes the counter, generates an update of the registers and starts the counter. Note: The gated mode must not be used if TI1F_ED is selected as the trigger input (TS=00100). Indeed, TI1F_ED outputs 1 pulse for each transition on TI1F, whereas the gated mode checks the level of the trigger signal. Note: The clock of the slave peripherals (timer, ADC, ...) receiving the TRGO or the TRGO2 signals must be enabled prior to receive events from the master timer, and the clock frequency (prescaler) must not be changed on-the-fly while triggers are received from the master timer.
0x40000008 C FIELD 20w02 TS2 (rw): Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See for more details on ITRx meaning for each Timer. Note: These bits must be changed only when they are not used (e.g. when SMS=000) to avoid wrong edge detections at the transition.
0x4000000C B REGISTER DIER (rw): DMA/Interrupt enable register
0x4000000C C FIELD 00w01 UIE (rw): Update interrupt enable
0x4000000C C FIELD 01w01 CC1IE (rw): Capture/Compare 1 interrupt enable
0x4000000C C FIELD 02w01 CC2IE (rw): Capture/Compare 2 interrupt enable
0x4000000C C FIELD 03w01 CC3IE (rw): Capture/Compare 3 interrupt enable
0x4000000C C FIELD 04w01 CC4IE (rw): Capture/Compare 4 interrupt enable
0x4000000C C FIELD 06w01 TIE (rw): Trigger interrupt enable
0x4000000C C FIELD 08w01 UDE (rw): Update DMA request enable
0x4000000C C FIELD 09w01 CC1DE (rw): Capture/Compare 1 DMA request enable
0x4000000C C FIELD 10w01 CC2DE (rw): Capture/Compare 2 DMA request enable
0x4000000C C FIELD 11w01 CC3DE (rw): Capture/Compare 3 DMA request enable
0x4000000C C FIELD 12w01 CC4DE (rw): Capture/Compare 4 DMA request enable
0x4000000C C FIELD 14w01 TDE (rw): Trigger DMA request enable
0x40000010 B REGISTER SR (rw): status register
0x40000010 C FIELD 00w01 UIF (rw): Update interrupt flag This bit is set by hardware on an update event. It is cleared by software. At overflow or underflow and if UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by software using the UG bit in TIMx_EGR register, if URS=0 and UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by a trigger event (refer to the synchro control register description), if URS=0 and UDIS=0 in the TIMx_CR1 register.
0x40000010 C FIELD 01w01 CC1IF (rw): Capture/compare 1 interrupt flag
0x40000010 C FIELD 02w01 CC2IF (rw): Capture/compare 2 interrupt flag
0x40000010 C FIELD 03w01 CC3IF (rw): Capture/compare 3 interrupt flag
0x40000010 C FIELD 04w01 CC4IF (rw): Capture/compare 4 interrupt flag
0x40000010 C FIELD 06w01 TIF (rw): Trigger interrupt flag This flag is set by hardware on the TRG trigger event (active edge detected on TRGI input when the slave mode controller is enabled in all modes but gated mode. It is set when the counter starts or stops when gated mode is selected. It is cleared by software.
0x40000010 C FIELD 09w01 CC1OF (rw): Capture/Compare 1 overcapture flag
0x40000010 C FIELD 10w01 CC2OF (rw): Capture/Compare 2 overcapture flag
0x40000010 C FIELD 11w01 CC3OF (rw): Capture/Compare 3 overcapture flag
0x40000010 C FIELD 12w01 CC4OF (rw): Capture/Compare 4 overcapture flag
0x40000014 B REGISTER EGR (wo): event generation register
0x40000014 C FIELD 00w01 UG (wo): Update generation This bit can be set by software, it is automatically cleared by hardware.
0x40000014 C FIELD 01w01 CC1G (wo): Capture/compare 1 generation
0x40000014 C FIELD 02w01 CC2G (wo): Capture/compare 2 generation
0x40000014 C FIELD 03w01 CC3G (wo): Capture/compare 3 generation
0x40000014 C FIELD 04w01 CC4G (wo): Capture/compare 4 generation
0x40000014 C FIELD 06w01 TG (wo): Trigger generation This bit is set by software in order to generate an event, it is automatically cleared by hardware.
0x40000018 B REGISTER CCMR1_Input (rw): capture/compare mode register 1 (input mode)
0x40000018 B REGISTER CCMR1_Output (rw): capture/compare mode register 1 (output mode)
0x40000018 C FIELD 00w02 CC1S (rw): Capture/Compare 1 selection
0x40000018 C FIELD 00w02 CC1S: Capture/Compare 1 selection
0x40000018 C FIELD 02w01 OC1FE: Output compare 1 fast enable
0x40000018 C FIELD 02w02 IC1PSC: Input capture 1 prescaler
0x40000018 C FIELD 03w01 OC1PE (rw): Output compare 1 preload enable
0x40000018 C FIELD 04w03 OC1M (rw): Output compare 1 mode
0x40000018 C FIELD 04w04 IC1F: Input capture 1 filter
0x40000018 C FIELD 07w01 OC1CE (rw): Output compare 1 clear enable
0x40000018 C FIELD 08w02 CC2S (rw): Capture/Compare 2 selection
0x40000018 C FIELD 08w02 CC2S: Capture/Compare 2 selection
0x40000018 C FIELD 10w01 OC2FE: Output compare 2 fast enable
0x40000018 C FIELD 10w02 IC2PSC: Input capture 2 prescaler
0x40000018 C FIELD 11w01 OC2PE (rw): Output compare 2 preload enable
0x40000018 C FIELD 12w03 OC2M (rw): Output compare 2 mode
0x40000018 C FIELD 12w04 IC2F: Input capture 2 filter
0x40000018 C FIELD 15w01 OC2CE (rw): Output compare 2 clear enable
0x40000018 C FIELD 16w01 OC1M_3: Output compare 1 mode, bit 3
0x40000018 C FIELD 24w01 OC2M_3: Output compare 2 mode, bit 3
0x4000001C B REGISTER CCMR2_Input (rw): capture/compare mode register 2 (input mode)
0x4000001C B REGISTER CCMR2_Output (rw): capture/compare mode register 2 (output mode)
0x4000001C C FIELD 00w02 CC3S (rw): Capture/Compare 3 selection
0x4000001C C FIELD 00w02 CC3S: Capture/Compare 3 selection
0x4000001C C FIELD 02w01 OC3FE: Output compare 3 fast enable
0x4000001C C FIELD 02w02 IC3PSC: Input capture 3 prescaler
0x4000001C C FIELD 03w01 OC3PE: Output compare 3 preload enable
0x4000001C C FIELD 04w03 OC3M: Output compare 3 mode
0x4000001C C FIELD 04w04 IC3F: Input capture 3 filter
0x4000001C C FIELD 07w01 OC3CE: Output compare 3 clear enable
0x4000001C C FIELD 08w02 CC4S (rw): Capture/Compare 4 selection
0x4000001C C FIELD 08w02 CC4S: Capture/Compare 4 selection
0x4000001C C FIELD 10w01 OC4FE: Output compare 4 fast enable
0x4000001C C FIELD 10w02 IC4PSC: Input capture 4 prescaler
0x4000001C C FIELD 11w01 OC4PE: Output compare 4 preload enable
0x4000001C C FIELD 12w03 OC4M: Output compare 4 mode
0x4000001C C FIELD 12w04 IC4F: Input capture 4 filter
0x4000001C C FIELD 15w01 OC4CE: Output compare 4 clear enable
0x4000001C C FIELD 16w01 OC3M_3: Output compare 3 mode, bit 3
0x4000001C C FIELD 24w01 OC4M_3: Output compare 4 mode, bit 3
0x40000020 B REGISTER CCER (rw): capture/compare enable register
0x40000020 C FIELD 00w01 CC1E (rw): Capture/Compare 1 output enable
0x40000020 C FIELD 01w01 CC1P (rw): Capture/Compare 1 output Polarity
0x40000020 C FIELD 03w01 CC1NP (rw): Capture/Compare 1 output Polarity
0x40000020 C FIELD 04w01 CC2E (rw): Capture/Compare 2 output enable
0x40000020 C FIELD 05w01 CC2P (rw): Capture/Compare 2 output Polarity
0x40000020 C FIELD 07w01 CC2NP (rw): Capture/Compare 2 output Polarity
0x40000020 C FIELD 08w01 CC3E (rw): Capture/Compare 3 output enable
0x40000020 C FIELD 09w01 CC3P (rw): Capture/Compare 3 output Polarity
0x40000020 C FIELD 11w01 CC3NP (rw): Capture/Compare 3 output Polarity
0x40000020 C FIELD 12w01 CC4E (rw): Capture/Compare 4 output enable
0x40000020 C FIELD 13w01 CC4P (rw): Capture/Compare 4 output Polarity
0x40000020 C FIELD 15w01 CC4NP (rw): Capture/Compare 4 output Polarity
0x40000024 B REGISTER CNT (rw): counter
0x40000024 B REGISTER CNT_ALTERNATE5 (rw): counter
0x40000024 C FIELD 00w31 CNT (rw): Most significant part counter value (TIM2) nullLeast significant part of counter value
0x40000024 C FIELD 00w32 CNT: Counter value
0x40000024 C FIELD 31w01 UIFCPY (rw): UIF Copy This bit is a read-only copy of the UIF bit of the TIMx_ISR register
0x40000028 B REGISTER PSC (rw): prescaler
0x40000028 C FIELD 00w16 PSC: Prescaler value
0x4000002C B REGISTER ARR (rw): auto-reload register
0x4000002C C FIELD 00w32 ARR: High auto-reload value (TIM2) nullLow Auto-reload value ARR is the value to be loaded in the actual auto-reload register. Refer to the for more details about ARR update and behavior. The counter is blocked while the auto-reload value is null.
0x40000034 B REGISTER CCR1 (rw): capture/compare register
0x40000034 C FIELD 00w32 CCR: Capture/Compare value
0x40000038 B REGISTER CCR2 (rw): capture/compare register
0x40000038 C FIELD 00w32 CCR: Capture/Compare value
0x4000003C B REGISTER CCR3 (rw): capture/compare register
0x4000003C C FIELD 00w32 CCR: Capture/Compare value
0x40000040 B REGISTER CCR4 (rw): capture/compare register
0x40000040 C FIELD 00w32 CCR: Capture/Compare value
0x40000048 B REGISTER DCR (rw): DMA control register
0x40000048 C FIELD 00w05 DBA (rw): DMA base address This 5-bit vector defines the base-address for DMA transfers (when read/write access are done through the TIMx_DMAR address). DBA is defined as an offset starting from the address of the TIMx_CR1 register. Example: ... Example: Let us consider the following transfer: DBL = 7 transfers & DBA = TIMx_CR1. In this case the transfer is done to/from 7 registers starting from the TIMx_CR1 address.
0x40000048 C FIELD 08w05 DBL (rw): DMA burst length This 5-bit vector defines the number of DMA transfers (the timer recognizes a burst transfer when a read or a write access is done to the TIMx_DMAR address). ...
0x4000004C B REGISTER DMAR (rw): DMA address for full transfer
0x4000004C C FIELD 00w16 DMAB: DMA register for burst accesses
0x40000050 B REGISTER OR1 (rw): TIM option register
0x40000050 C FIELD 00w01 OCREF_CLR (rw): Ocref_clr source selection This bit selects the ocref_clr input source.
0x40000060 B REGISTER AF1 (rw): TIM alternate function option register 1
0x40000060 C FIELD 14w04 ETRSEL (rw): ETR source selection These bits select the ETR input source. Others: Reserved
0x40000068 B REGISTER TISEL (rw): TIM alternate function option register 1
0x40000068 C FIELD 00w04 TI1SEL (rw): TI1[0] to TI1[15] input selection These bits select the TI1[0] to TI1[15] input source. Others: Reserved
0x40000068 C FIELD 08w04 TI2SEL (rw): TI2[0] to TI2[15] input selection These bits select the TI2[0] to TI2[15] input source. Others: Reserved
0x40000400 A PERIPHERAL TIM3
0x40000400 B REGISTER CR1 (rw): control register 1
0x40000400 C FIELD 00w01 CEN (rw): Counter enable Note: External clock, gated mode and encoder mode can work only if the CEN bit has been previously set by software. However trigger mode can set the CEN bit automatically by hardware. CEN is cleared automatically in one-pulse mode, when an update event occurs.
0x40000400 C FIELD 01w01 UDIS (rw): Update disable This bit is set and cleared by software to enable/disable UEV event generation. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller Buffered registers are then loaded with their preload values.
0x40000400 C FIELD 02w01 URS (rw): Update request source This bit is set and cleared by software to select the UEV event sources. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller
0x40000400 C FIELD 03w01 OPM (rw): One-pulse mode
0x40000400 C FIELD 04w01 DIR (rw): Direction Note: This bit is read only when the timer is configured in Center-aligned mode or Encoder mode.
0x40000400 C FIELD 05w02 CMS (rw): Center-aligned mode selection Note: It is not allowed to switch from edge-aligned mode to center-aligned mode as long as the counter is enabled (CEN=1)
0x40000400 C FIELD 07w01 ARPE (rw): Auto-reload preload enable
0x40000400 C FIELD 08w02 CKD (rw): Clock division This bit-field indicates the division ratio between the timer clock (CK_INT) frequency and sampling clock used by the digital filters (ETR, TIx),
0x40000400 C FIELD 11w01 UIFREMAP (rw): UIF status bit remapping
0x40000404 B REGISTER CR2 (rw): control register 2
0x40000404 C FIELD 03w01 CCDS (rw): Capture/compare DMA selection
0x40000404 C FIELD 04w03 MMS (rw): Master mode selection These bits permit to select the information to be sent in master mode to slave timers for synchronization (TRGO). The combination is as follows: When the Counter Enable signal is controlled by the trigger input, there is a delay on TRGO, except if the master/slave mode is selected (see the MSM bit description in TIMx_SMCR register). Note: The clock of the slave timer or ADC must be enabled prior to receive events from the master timer, and must not be changed on-the-fly while triggers are received from the master timer.
0x40000404 C FIELD 07w01 TI1S (rw): TI1 selection
0x40000408 B REGISTER SMCR (rw): slave mode control register
0x40000408 C FIELD 00w03 SMS1 (rw): Slave mode selection When external signals are selected the active edge of the trigger signal (TRGI) is linked to the polarity selected on the external input (see Input Control register and Control Register description. reinitializes the counter, generates an update of the registers and starts the counter. Note: The gated mode must not be used if TI1F_ED is selected as the trigger input (TS=00100). Indeed, TI1F_ED outputs 1 pulse for each transition on TI1F, whereas the gated mode checks the level of the trigger signal. Note: The clock of the slave peripherals (timer, ADC, ...) receiving the TRGO or the TRGO2 signals must be enabled prior to receive events from the master timer, and the clock frequency (prescaler) must not be changed on-the-fly while triggers are received from the master timer.
0x40000408 C FIELD 03w01 OCCS (rw): OCREF clear selection This bit is used to select the OCREF clear source
0x40000408 C FIELD 04w03 TS1 (rw): Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See for more details on ITRx meaning for each Timer. Note: These bits must be changed only when they are not used (e.g. when SMS=000) to avoid wrong edge detections at the transition.
0x40000408 C FIELD 07w01 MSM (rw): Master/Slave mode
0x40000408 C FIELD 08w04 ETF (rw): External trigger filter This bit-field then defines the frequency used to sample ETRP signal and the length of the digital filter applied to ETRP. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output:
0x40000408 C FIELD 12w02 ETPS (rw): External trigger prescaler External trigger signal ETRP frequency must be at most 1/4 of CK_INT frequency. A prescaler can be enabled to reduce ETRP frequency. It is useful when inputting fast external clocks.
0x40000408 C FIELD 14w01 ECE (rw): External clock enable This bit enables External clock mode 2. Note: Setting the ECE bit has the same effect as selecting external clock mode 1 with TRGI connected to ETRF (SMS=111 and TS=00111). It is possible to simultaneously use external clock mode 2 with the following slave modes: reset mode, gated mode and trigger mode. Nevertheless, TRGI must not be connected to ETRF in this case (TS bits must not be 00111). If external clock mode 1 and external clock mode 2 are enabled at the same time, the external clock input is ETRF.
0x40000408 C FIELD 15w01 ETP (rw): External trigger polarity This bit selects whether ETR or ETR is used for trigger operations
0x40000408 C FIELD 16w01 SMS2 (rw): Slave mode selection When external signals are selected the active edge of the trigger signal (TRGI) is linked to the polarity selected on the external input (see Input Control register and Control Register description. reinitializes the counter, generates an update of the registers and starts the counter. Note: The gated mode must not be used if TI1F_ED is selected as the trigger input (TS=00100). Indeed, TI1F_ED outputs 1 pulse for each transition on TI1F, whereas the gated mode checks the level of the trigger signal. Note: The clock of the slave peripherals (timer, ADC, ...) receiving the TRGO or the TRGO2 signals must be enabled prior to receive events from the master timer, and the clock frequency (prescaler) must not be changed on-the-fly while triggers are received from the master timer.
0x40000408 C FIELD 20w02 TS2 (rw): Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See for more details on ITRx meaning for each Timer. Note: These bits must be changed only when they are not used (e.g. when SMS=000) to avoid wrong edge detections at the transition.
0x4000040C B REGISTER DIER (rw): DMA/Interrupt enable register
0x4000040C C FIELD 00w01 UIE (rw): Update interrupt enable
0x4000040C C FIELD 01w01 CC1IE (rw): Capture/Compare 1 interrupt enable
0x4000040C C FIELD 02w01 CC2IE (rw): Capture/Compare 2 interrupt enable
0x4000040C C FIELD 03w01 CC3IE (rw): Capture/Compare 3 interrupt enable
0x4000040C C FIELD 04w01 CC4IE (rw): Capture/Compare 4 interrupt enable
0x4000040C C FIELD 06w01 TIE (rw): Trigger interrupt enable
0x4000040C C FIELD 08w01 UDE (rw): Update DMA request enable
0x4000040C C FIELD 09w01 CC1DE (rw): Capture/Compare 1 DMA request enable
0x4000040C C FIELD 10w01 CC2DE (rw): Capture/Compare 2 DMA request enable
0x4000040C C FIELD 11w01 CC3DE (rw): Capture/Compare 3 DMA request enable
0x4000040C C FIELD 12w01 CC4DE (rw): Capture/Compare 4 DMA request enable
0x4000040C C FIELD 14w01 TDE (rw): Trigger DMA request enable
0x40000410 B REGISTER SR (rw): status register
0x40000410 C FIELD 00w01 UIF (rw): Update interrupt flag This bit is set by hardware on an update event. It is cleared by software. At overflow or underflow and if UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by software using the UG bit in TIMx_EGR register, if URS=0 and UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by a trigger event (refer to the synchro control register description), if URS=0 and UDIS=0 in the TIMx_CR1 register.
0x40000410 C FIELD 01w01 CC1IF (rw): Capture/compare 1 interrupt flag
0x40000410 C FIELD 02w01 CC2IF (rw): Capture/compare 2 interrupt flag
0x40000410 C FIELD 03w01 CC3IF (rw): Capture/compare 3 interrupt flag
0x40000410 C FIELD 04w01 CC4IF (rw): Capture/compare 4 interrupt flag
0x40000410 C FIELD 06w01 TIF (rw): Trigger interrupt flag This flag is set by hardware on the TRG trigger event (active edge detected on TRGI input when the slave mode controller is enabled in all modes but gated mode. It is set when the counter starts or stops when gated mode is selected. It is cleared by software.
0x40000410 C FIELD 09w01 CC1OF (rw): Capture/Compare 1 overcapture flag
0x40000410 C FIELD 10w01 CC2OF (rw): Capture/Compare 2 overcapture flag
0x40000410 C FIELD 11w01 CC3OF (rw): Capture/Compare 3 overcapture flag
0x40000410 C FIELD 12w01 CC4OF (rw): Capture/Compare 4 overcapture flag
0x40000414 B REGISTER EGR (wo): event generation register
0x40000414 C FIELD 00w01 UG (wo): Update generation This bit can be set by software, it is automatically cleared by hardware.
0x40000414 C FIELD 01w01 CC1G (wo): Capture/compare 1 generation
0x40000414 C FIELD 02w01 CC2G (wo): Capture/compare 2 generation
0x40000414 C FIELD 03w01 CC3G (wo): Capture/compare 3 generation
0x40000414 C FIELD 04w01 CC4G (wo): Capture/compare 4 generation
0x40000414 C FIELD 06w01 TG (wo): Trigger generation This bit is set by software in order to generate an event, it is automatically cleared by hardware.
0x40000418 B REGISTER CCMR1_Input (rw): capture/compare mode register 1 (input mode)
0x40000418 B REGISTER CCMR1_Output (rw): capture/compare mode register 1 (output mode)
0x40000418 C FIELD 00w02 CC1S (rw): Capture/Compare 1 selection
0x40000418 C FIELD 00w02 CC1S: Capture/Compare 1 selection
0x40000418 C FIELD 02w01 OC1FE: Output compare 1 fast enable
0x40000418 C FIELD 02w02 IC1PSC: Input capture 1 prescaler
0x40000418 C FIELD 03w01 OC1PE (rw): Output compare 1 preload enable
0x40000418 C FIELD 04w03 OC1M1 (rw): Output compare 1 mode These bits define the behavior of the output reference signal OC1REF from which OC1 and OC1N are derived. OC1REF is active high whereas OC1 and OC1N active level depends on CC1P and CC1NP bits. Note: In PWM mode, the OCREF level changes only when the result of the comparison changes or when the output compare mode switches from 'frozen' mode to 'PWM' mode. Note: The OC1M[3] bit is not contiguous, located in bit 16.
0x40000418 C FIELD 04w04 IC1F: Input capture 1 filter
0x40000418 C FIELD 07w01 OC1CE (rw): Output compare 1 clear enable
0x40000418 C FIELD 08w02 CC2S (rw): Capture/Compare 2 selection
0x40000418 C FIELD 08w02 CC2S: Capture/Compare 2 selection
0x40000418 C FIELD 10w01 OC2FE: Output compare 2 fast enable
0x40000418 C FIELD 10w02 IC2PSC: Input capture 2 prescaler
0x40000418 C FIELD 11w01 OC2PE (rw): Output compare 2 preload enable
0x40000418 C FIELD 12w03 OC2M: Output compare 2 mode
0x40000418 C FIELD 12w04 IC2F: Input capture 2 filter
0x40000418 C FIELD 15w01 OC2CE (rw): Output compare 2 clear enable
0x40000418 C FIELD 16w01 OC1M_3: Output compare 1 mode, bit 3
0x40000418 C FIELD 24w01 OC2M_3: Output compare 2 mode, bit 3
0x4000041C B REGISTER CCMR2_Input (rw): capture/compare mode register 2 (input mode)
0x4000041C B REGISTER CCMR2_Output (rw): capture/compare mode register 2 (output mode)
0x4000041C C FIELD 00w02 CC3S (rw): Capture/Compare 3 selection
0x4000041C C FIELD 00w02 CC3S: Capture/Compare 3 selection
0x4000041C C FIELD 02w01 OC3FE: Output compare 3 fast enable
0x4000041C C FIELD 02w02 IC3PSC: Input capture 3 prescaler
0x4000041C C FIELD 03w01 OC3PE: Output compare 3 preload enable
0x4000041C C FIELD 04w03 OC3M: Output compare 3 mode
0x4000041C C FIELD 04w04 IC3F: Input capture 3 filter
0x4000041C C FIELD 07w01 OC3CE: Output compare 3 clear enable
0x4000041C C FIELD 08w02 CC4S (rw): Capture/Compare 4 selection
0x4000041C C FIELD 08w02 CC4S: Capture/Compare 4 selection
0x4000041C C FIELD 10w01 OC4FE: Output compare 4 fast enable
0x4000041C C FIELD 10w02 IC4PSC: Input capture 4 prescaler
0x4000041C C FIELD 11w01 OC4PE: Output compare 4 preload enable
0x4000041C C FIELD 12w03 OC4M: Output compare 4 mode
0x4000041C C FIELD 12w04 IC4F: Input capture 4 filter
0x4000041C C FIELD 15w01 OC4CE: Output compare 4 clear enable
0x4000041C C FIELD 16w01 OC3M_3: Output compare 3 mode, bit 3
0x4000041C C FIELD 24w01 OC4M_3: Output compare 4 mode, bit 3
0x40000420 B REGISTER CCER (rw): capture/compare enable register
0x40000420 C FIELD 00w01 CC1E (rw): Capture/Compare 1 output enable
0x40000420 C FIELD 01w01 CC1P (rw): Capture/Compare 1 output Polarity
0x40000420 C FIELD 03w01 CC1NP (rw): Capture/Compare 1 output Polarity
0x40000420 C FIELD 04w01 CC2E (rw): Capture/Compare 2 output enable
0x40000420 C FIELD 05w01 CC2P (rw): Capture/Compare 2 output Polarity
0x40000420 C FIELD 07w01 CC2NP (rw): Capture/Compare 2 output Polarity
0x40000420 C FIELD 08w01 CC3E (rw): Capture/Compare 3 output enable
0x40000420 C FIELD 09w01 CC3P (rw): Capture/Compare 3 output Polarity
0x40000420 C FIELD 11w01 CC3NP (rw): Capture/Compare 3 output Polarity
0x40000420 C FIELD 12w01 CC4E (rw): Capture/Compare 4 output enable
0x40000420 C FIELD 13w01 CC4P (rw): Capture/Compare 4 output Polarity
0x40000420 C FIELD 15w01 CC4NP (rw): Capture/Compare 4 output Polarity
0x40000424 B REGISTER CNT (rw): counter
0x40000424 B REGISTER CNT_ALTERNATE5 (rw): counter
0x40000424 C FIELD 00w16 CNT: Counter value
0x40000424 C FIELD 00w31 CNT (rw): Most significant part counter value (TIM2) nullLeast significant part of counter value
0x40000424 C FIELD 31w01 UIFCPY (rw): UIF Copy This bit is a read-only copy of the UIF bit of the TIMx_ISR register
0x40000428 B REGISTER PSC (rw): prescaler
0x40000428 C FIELD 00w16 PSC: Prescaler value
0x4000042C B REGISTER ARR (rw): auto-reload register
0x4000042C C FIELD 00w32 ARR (rw): High auto-reload value (TIM2) nullLow Auto-reload value ARR is the value to be loaded in the actual auto-reload register. Refer to the for more details about ARR update and behavior. The counter is blocked while the auto-reload value is null.
0x40000434 B REGISTER CCR1 (rw): capture/compare register
0x40000434 C FIELD 00w32 CCR (rw): Capture/Compare 1 value
0x40000438 B REGISTER CCR2 (rw): capture/compare register
0x40000438 C FIELD 00w32 CCR (rw): Capture/Compare 1 value
0x4000043C B REGISTER CCR3 (rw): capture/compare register
0x4000043C C FIELD 00w32 CCR (rw): Capture/Compare 1 value
0x40000440 B REGISTER CCR4 (rw): capture/compare register
0x40000440 C FIELD 00w32 CCR (rw): Capture/Compare 1 value
0x40000448 B REGISTER DCR (rw): DMA control register
0x40000448 C FIELD 00w05 DBA (rw): DMA base address This 5-bit vector defines the base-address for DMA transfers (when read/write access are done through the TIMx_DMAR address). DBA is defined as an offset starting from the address of the TIMx_CR1 register. Example: ... Example: Let us consider the following transfer: DBL = 7 transfers & DBA = TIMx_CR1. In this case the transfer is done to/from 7 registers starting from the TIMx_CR1 address.
0x40000448 C FIELD 08w05 DBL (rw): DMA burst length This 5-bit vector defines the number of DMA transfers (the timer recognizes a burst transfer when a read or a write access is done to the TIMx_DMAR address). ...
0x4000044C B REGISTER DMAR (rw): DMA address for full transfer
0x4000044C C FIELD 00w16 DMAB: DMA register for burst accesses
0x40000450 B REGISTER OR1 (rw): TIM option register
0x40000450 C FIELD 00w01 OCREF_CLR (rw): Ocref_clr source selection This bit selects the ocref_clr input source.
0x40000460 B REGISTER AF1 (rw): TIM alternate function option register 1
0x40000460 C FIELD 14w04 ETRSEL (rw): ETR source selection These bits select the ETR input source. Others: Reserved
0x40000468 B REGISTER TISEL (rw): TIM alternate function option register 1
0x40000468 C FIELD 00w04 TI1SEL (rw): TI1[0] to TI1[15] input selection These bits select the TI1[0] to TI1[15] input source. Others: Reserved
0x40000468 C FIELD 08w04 TI2SEL (rw): TI2[0] to TI2[15] input selection These bits select the TI2[0] to TI2[15] input source. Others: Reserved
0x40001000 A PERIPHERAL TIM6
0x40001000 B REGISTER CR1 (rw): control register 1
0x40001000 C FIELD 00w01 CEN (rw): Counter enable Note: Gated mode can work only if the CEN bit has been previously set by software. However trigger mode can set the CEN bit automatically by hardware. CEN is cleared automatically in one-pulse mode, when an update event occurs.
0x40001000 C FIELD 01w01 UDIS (rw): Update disable This bit is set and cleared by software to enable/disable UEV event generation. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller Buffered registers are then loaded with their preload values.
0x40001000 C FIELD 02w01 URS (rw): Update request source This bit is set and cleared by software to select the UEV event sources. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller
0x40001000 C FIELD 03w01 OPM (rw): One-pulse mode
0x40001000 C FIELD 07w01 ARPE (rw): Auto-reload preload enable
0x40001000 C FIELD 11w01 UIFREMAP (rw): UIF status bit remapping
0x40001004 B REGISTER CR2 (rw): control register 2
0x40001004 C FIELD 04w03 MMS (rw): Master mode selection These bits are used to select the information to be sent in master mode to slave timers for synchronization (TRGO). The combination is as follows: When the Counter Enable signal is controlled by the trigger input, there is a delay on TRGO, except if the master/slave mode is selected (see the MSM bit description in the TIMx_SMCR register). Note: The clock of the slave timer or ADC must be enabled prior to receive events from the master timer, and must not be changed on-the-fly while triggers are received from the master timer.
0x4000100C B REGISTER DIER (rw): DMA/Interrupt enable register
0x4000100C C FIELD 00w01 UIE (rw): Update interrupt enable
0x4000100C C FIELD 08w01 UDE (rw): Update DMA request enable
0x40001010 B REGISTER SR (rw): status register
0x40001010 C FIELD 00w01 UIF (rw): Update interrupt flag
0x40001014 B REGISTER EGR (wo): event generation register
0x40001014 C FIELD 00w01 UG (wo): Update generation This bit can be set by software, it is automatically cleared by hardware.
0x40001024 B REGISTER CNT (rw): counter
0x40001024 C FIELD 00w16 CNT (rw): Counter value
0x40001024 C FIELD 31w01 UIFCPY (ro): UIF Copy This bit is a read-only copy of the UIF bit of the TIMx_ISR register. If the UIFREMAP bit in TIMx_CR1 is reset, bit 31 is reserved and read as 0.
0x40001028 B REGISTER PSC (rw): prescaler
0x40001028 C FIELD 00w16 PSC: Prescaler value
0x4000102C B REGISTER ARR (rw): auto-reload register
0x4000102C C FIELD 00w16 ARR: Prescaler value
0x40001400 A PERIPHERAL TIM7
0x40001400 B REGISTER CR1 (rw): control register 1
0x40001400 C FIELD 00w01 CEN (rw): Counter enable Note: Gated mode can work only if the CEN bit has been previously set by software. However trigger mode can set the CEN bit automatically by hardware. CEN is cleared automatically in one-pulse mode, when an update event occurs.
0x40001400 C FIELD 01w01 UDIS (rw): Update disable This bit is set and cleared by software to enable/disable UEV event generation. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller Buffered registers are then loaded with their preload values.
0x40001400 C FIELD 02w01 URS (rw): Update request source This bit is set and cleared by software to select the UEV event sources. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller
0x40001400 C FIELD 03w01 OPM (rw): One-pulse mode
0x40001400 C FIELD 07w01 ARPE (rw): Auto-reload preload enable
0x40001400 C FIELD 11w01 UIFREMAP (rw): UIF status bit remapping
0x40001404 B REGISTER CR2 (rw): control register 2
0x40001404 C FIELD 04w03 MMS (rw): Master mode selection These bits are used to select the information to be sent in master mode to slave timers for synchronization (TRGO). The combination is as follows: When the Counter Enable signal is controlled by the trigger input, there is a delay on TRGO, except if the master/slave mode is selected (see the MSM bit description in the TIMx_SMCR register). Note: The clock of the slave timer or ADC must be enabled prior to receive events from the master timer, and must not be changed on-the-fly while triggers are received from the master timer.
0x4000140C B REGISTER DIER (rw): DMA/Interrupt enable register
0x4000140C C FIELD 00w01 UIE (rw): Update interrupt enable
0x4000140C C FIELD 08w01 UDE (rw): Update DMA request enable
0x40001410 B REGISTER SR (rw): status register
0x40001410 C FIELD 00w01 UIF (rw): Update interrupt flag
0x40001414 B REGISTER EGR (wo): event generation register
0x40001414 C FIELD 00w01 UG (wo): Update generation This bit can be set by software, it is automatically cleared by hardware.
0x40001424 B REGISTER CNT (rw): counter
0x40001424 C FIELD 00w16 CNT (rw): Counter value
0x40001424 C FIELD 31w01 UIFCPY (ro): UIF Copy This bit is a read-only copy of the UIF bit of the TIMx_ISR register. If the UIFREMAP bit in TIMx_CR1 is reset, bit 31 is reserved and read as 0.
0x40001428 B REGISTER PSC (rw): prescaler
0x40001428 C FIELD 00w16 PSC: Prescaler value
0x4000142C B REGISTER ARR (rw): auto-reload register
0x4000142C C FIELD 00w16 ARR: Prescaler value
0x40002000 A PERIPHERAL TIM14
0x40002000 B REGISTER CR1 (rw): control register 1
0x40002000 C FIELD 00w01 CEN (rw): Counter enable Note: External clock and gated mode can work only if the CEN bit has been previously set by software. However trigger mode can set the CEN bit automatically by hardware.
0x40002000 C FIELD 01w01 UDIS (rw): Update disable This bit is set and cleared by software to enable/disable update interrupt (UEV) event generation. Counter overflow Setting the UG bit. Buffered registers are then loaded with their preload values.
0x40002000 C FIELD 02w01 URS (rw): Update request source This bit is set and cleared by software to select the update interrupt (UEV) sources. Counter overflow Setting the UG bit
0x40002000 C FIELD 03w01 OPM (rw): One-pulse mode
0x40002000 C FIELD 07w01 ARPE (rw): Auto-reload preload enable
0x40002000 C FIELD 08w02 CKD (rw): Clock division This bit-field indicates the division ratio between the timer clock (CK_INT) frequency and sampling clock used by the digital filters (TIx),
0x40002000 C FIELD 11w01 UIFREMAP (rw): UIF status bit remapping
0x4000200C B REGISTER DIER (rw): DMA/Interrupt enable register
0x4000200C C FIELD 00w01 UIE (rw): Update interrupt enable
0x4000200C C FIELD 01w01 CC1IE (rw): Capture/Compare 1 interrupt enable
0x40002010 B REGISTER SR (rw): status register
0x40002010 C FIELD 00w01 UIF (rw): Update interrupt flag This bit is set by hardware on an update event. It is cleared by software. At overflow and if UDIS='0' in the TIMx_CR1 register. When CNT is reinitialized by software using the UG bit in TIMx_EGR register, if URS='0' and UDIS='0' in the TIMx_CR1 register.
0x40002010 C FIELD 01w01 CC1IF (rw): Capture/compare 1 interrupt flag
0x40002010 C FIELD 09w01 CC1OF (rw): Capture/Compare 1 overcapture flag
0x40002014 B REGISTER EGR (wo): event generation register
0x40002014 C FIELD 00w01 UG (wo): Update generation This bit can be set by software, it is automatically cleared by hardware.
0x40002014 C FIELD 01w01 CC1G (wo): Capture/compare 1 generation
0x40002018 B REGISTER CCMR1_Input (rw): capture/compare mode register 1 (input mode)
0x40002018 B REGISTER CCMR1_Output (rw): capture/compare mode register 1 (output mode)
0x40002018 C FIELD 00w02 CC1S (rw): Capture/Compare 1 selection
0x40002018 C FIELD 00w02 CC1S (rw): Capture/Compare 1 selection
0x40002018 C FIELD 02w01 OC1FE (rw): Output compare 1 fast enable
0x40002018 C FIELD 02w02 IC1PSC (rw): Input capture 1 prescaler
0x40002018 C FIELD 03w01 OC1PE (rw): Output compare 1 preload enable
0x40002018 C FIELD 04w03 OC1M (rw): Output compare 1 mode
0x40002018 C FIELD 04w04 IC1F (rw): Input capture 1 filter
0x40002018 C FIELD 16w01 OC1M_3 (rw): Output compare 1 mode, bit 3
0x40002020 B REGISTER CCER (rw): capture/compare enable register
0x40002020 C FIELD 00w01 CC1E (rw): Capture/Compare 1 output enable
0x40002020 C FIELD 01w01 CC1P (rw): Capture/Compare 1 output Polarity
0x40002020 C FIELD 03w01 CC1NP (rw): Capture/Compare 1 output Polarity
0x40002024 B REGISTER CNT (rw): counter
0x40002024 C FIELD 00w16 CNT: low counter value
0x40002024 C FIELD 31w01 UIFCPY: UIF Copy
0x40002028 B REGISTER PSC (rw): prescaler
0x40002028 C FIELD 00w16 PSC: Prescaler value
0x4000202C B REGISTER ARR (rw): auto-reload register
0x4000202C C FIELD 00w16 ARR: Low Auto-reload value
0x40002034 B REGISTER CCR1 (rw): capture/compare register
0x40002034 C FIELD 00w16 CCR: Capture/Compare value
0x40002068 B REGISTER TISEL (rw): TIM timer input selection register
0x40002068 C FIELD 00w04 TI1SEL (rw): selects TI1[0] to TI1[15] input Others: Reserved
0x40002800 A PERIPHERAL RTC
0x40002800 B REGISTER TR: RTC time register
0x40002800 C FIELD 00w04 SU (rw): Second units in BCD format
0x40002800 C FIELD 04w03 ST (rw): Second tens in BCD format
0x40002800 C FIELD 08w04 MNU (rw): Minute units in BCD format
0x40002800 C FIELD 12w03 MNT (rw): Minute tens in BCD format
0x40002800 C FIELD 16w04 HU (rw): Hour units in BCD format
0x40002800 C FIELD 20w02 HT (rw): Hour tens in BCD format
0x40002800 C FIELD 22w01 PM (rw): AM/PM notation
0x40002804 B REGISTER DR: RTC date register
0x40002804 C FIELD 00w04 DU (rw): Date units in BCD format
0x40002804 C FIELD 04w02 DT (rw): Date tens in BCD format
0x40002804 C FIELD 08w04 MU (rw): Month units in BCD format
0x40002804 C FIELD 12w01 MT (rw): Month tens in BCD format
0x40002804 C FIELD 13w03 WDU (rw): Week day units ...
0x40002804 C FIELD 16w04 YU (rw): Year units in BCD format
0x40002804 C FIELD 20w04 YT (rw): Year tens in BCD format
0x40002808 B REGISTER SSR: RTC sub second register
0x40002808 C FIELD 00w16 SS (ro): Sub second value SS[15:0] is the value in the synchronous prescaler counter. The fraction of a second is given by the formula below: Second fraction = (PREDIV_S - SS) / (PREDIV_S + 1) Note: SS can be larger than PREDIV_S only after a shift operation. In that case, the correct time/date is one second less than as indicated by RTC_TR/RTC_DR.
0x4000280C B REGISTER ICSR: RTC initialization control and status register
0x4000280C C FIELD 00w01 ALRAWF (ro): Alarm A write flag This bit is set by hardware when alarm A values can be changed, after the ALRAE bit has been set to 0 in RTC_CR. It is cleared by hardware in initialization mode.
0x4000280C C FIELD 01w01 ALRBWF (ro): Alarm B write flag This bit is set by hardware when alarm B values can be changed, after the ALRBE bit has been set to 0 in RTC_CR. It is cleared by hardware in initialization mode.
0x4000280C C FIELD 02w01 WUTWF (ro): Wakeup timer write flag This bit is set by hardware when WUT value can be changed, after the WUTE bit has been set to 0 in RTC_CR. It is cleared by hardware in initialization mode.
0x4000280C C FIELD 03w01 SHPF (ro): Shift operation pending This flag is set by hardware as soon as a shift operation is initiated by a write to the RTC_SHIFTR register. It is cleared by hardware when the corresponding shift operation has been executed. Writing to the SHPF bit has no effect.
0x4000280C C FIELD 04w01 INITS (ro): Initialization status flag This bit is set by hardware when the calendar year field is different from 0 (RTC domain reset state).
0x4000280C C FIELD 05w01 RSF (rw): Registers synchronization flag This bit is set by hardware each time the calendar registers are copied into the shadow registers (RTC_SSRx, RTC_TRx and RTC_DRx). This bit is cleared by hardware in initialization mode, while a shift operation is pending (SHPF = 1), or when in bypass shadow register mode (BYPSHAD = 1). This bit can also be cleared by software. It is cleared either by software or by hardware in initialization mode.
0x4000280C C FIELD 06w01 INITF (ro): Initialization flag When this bit is set to 1, the RTC is in initialization state, and the time, date and prescaler registers can be updated.
0x4000280C C FIELD 07w01 INIT (rw): Initialization mode
0x4000280C C FIELD 16w01 RECALPF (ro): Recalibration pending Flag The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0. Refer to .
0x40002810 B REGISTER PRER: RTC prescaler register
0x40002810 C FIELD 00w15 PREDIV_S (rw): Synchronous prescaler factor This is the synchronous division factor: ck_spre frequency = ck_apre frequency/(PREDIV_S+1)
0x40002810 C FIELD 16w07 PREDIV_A (rw): Asynchronous prescaler factor This is the asynchronous division factor: ck_apre frequency = RTCCLK frequency/(PREDIV_A+1)
0x40002814 B REGISTER WUTR: RTC wakeup timer register
0x40002814 C FIELD 00w16 WUT (rw): Wakeup auto-reload value bits When the wakeup timer is enabled (WUTE set to 1), the WUTF flag is set every (WUT[15:0]+1) ck_wut cycles. The ck_wut period is selected through WUCKSEL[2:0] bits of the RTC_CR register. When WUCKSEL[2] = 1, the wakeup timer becomes 17-bits and WUCKSEL[1] effectively becomes WUT[16] the most-significant bit to be reloaded into the timer. The first assertion of WUTF occurs between WUT and (WUT + 1) ck_wut cycles after WUTE is set. Setting WUT[15:0] to 0x0000 with WUCKSEL[2:0] = 011 (RTCCLK/2) is forbidden.
0x40002818 B REGISTER CR: RTC control register
0x40002818 C FIELD 00w03 WUCKSEL (rw): ck_wut wakeup clock selection 10x: ck_spre (usually 1Hz) clock is selected 11x: ck_spre (usually 1Hz) clock is selected and 216is added to the WUT counter value
0x40002818 C FIELD 03w01 TSEDGE (rw): Timestamp event active edge TSE must be reset when TSEDGE is changed to avoid unwanted TSF setting.
0x40002818 C FIELD 04w01 REFCKON (rw): RTC_REFIN reference clock detection enable (50 or 60Hz) Note: PREDIV_S must be 0x00FF.
0x40002818 C FIELD 05w01 BYPSHAD (rw): Bypass the shadow registers Note: If the frequency of the APB1 clock is less than seven times the frequency of RTCCLK, BYPSHAD must be set to 1.
0x40002818 C FIELD 06w01 FMT (rw): Hour format
0x40002818 C FIELD 08w01 ALRAE (rw): Alarm A enable
0x40002818 C FIELD 09w01 ALRBE (rw): Alarm B enable
0x40002818 C FIELD 10w01 WUTE (rw): Wakeup timer enable Note: When the wakeup timer is disabled, wait for WUTWF=1 before enabling it again.
0x40002818 C FIELD 11w01 TSE (rw): timestamp enable
0x40002818 C FIELD 12w01 ALRAIE (rw): Alarm A interrupt enable
0x40002818 C FIELD 13w01 ALRBIE (rw): Alarm B interrupt enable
0x40002818 C FIELD 14w01 WUTIE (rw): Wakeup timer interrupt enable
0x40002818 C FIELD 15w01 TSIE (rw): Timestamp interrupt enable
0x40002818 C FIELD 16w01 ADD1H (wo): Add 1 hour (summer time change) When this bit is set outside initialization mode, 1 hour is added to the calendar time. This bit is always read as 0.
0x40002818 C FIELD 17w01 SUB1H (wo): Subtract 1 hour (winter time change) When this bit is set outside initialization mode, 1 hour is subtracted to the calendar time if the current hour is not 0. This bit is always read as 0. Setting this bit has no effect when current hour is 0.
0x40002818 C FIELD 18w01 BKP (rw): Backup This bit can be written by the user to memorize whether the daylight saving time change has been performed or not.
0x40002818 C FIELD 19w01 COSEL (rw): Calibration output selection When COE = 1, this bit selects which signal is output on CALIB. These frequencies are valid for RTCCLK at 32.768kHz and prescalers at their default values (PREDIV_A = 127 and PREDIV_S = 255). Refer to .
0x40002818 C FIELD 20w01 POL (rw): Output polarity This bit is used to configure the polarity of TAMPALRM output.
0x40002818 C FIELD 21w02 OSEL (rw): Output selection These bits are used to select the flag to be routed to TAMPALRM output.
0x40002818 C FIELD 23w01 COE (rw): Calibration output enable This bit enables the CALIB output
0x40002818 C FIELD 24w01 ITSE (rw): timestamp on internal event enable
0x40002818 C FIELD 25w01 TAMPTS (rw): Activate timestamp on tamper detection event TAMPTS is valid even if TSE = 0 in the RTC_CR register. Timestamp flag is set after the tamper flags, therefore if TAMPTS and TSIE are set, it is recommended to disable the tamper interrupts in order to avoid servicing 2 interrupts.
0x40002818 C FIELD 26w01 TAMPOE (rw): Tamper detection output enable on TAMPALRM
0x40002818 C FIELD 29w01 TAMPALRM_PU (rw): TAMPALRM pull-up enable
0x40002818 C FIELD 30w01 TAMPALRM_TYPE (rw): TAMPALRM output type
0x40002818 C FIELD 31w01 OUT2EN (rw): RTC_OUT2 output enable Setting this bit allows to remap the RTC outputs on RTC_OUT2 as follows: OUT2EN = 0: RTC output 2 disable If OSEL different 00 or TAMPOE = 1: TAMPALRM is output on RTC_OUT1 If OSEL = 00 and TAMPOE = 0 and COE = 1: CALIB is output on RTC_OUT1 OUT2EN = 1: RTC output 2 enable If (OSEL different 00 or TAMPOE = 1) and COE = 0: TAMPALRM is output on RTC_OUT2 If OSEL = 00 and TAMPOE = 0 and COE = 1: CALIB is output on RTC_OUT2 If (OSEL different 00 or TAMPOE = 1) and COE = 1: CALIB is output on RTC_OUT2 and TAMPALRM is output on RTC_OUT1.
0x40002824 B REGISTER WPR: RTC write protection register
0x40002824 C FIELD 00w08 KEY (wo): Write protection key This byte is written by software. Reading this byte always returns 0x00. Refer to for a description of how to unlock RTC register write protection.
0x40002828 B REGISTER CALR: RTC calibration register
0x40002828 C FIELD 00w09 CALM (rw): Calibration minus The frequency of the calendar is reduced by masking CALM out of 220 RTCCLK pulses (32 seconds if the input frequency is 32768Hz). This decreases the frequency of the calendar with a resolution of 0.9537ppm. To increase the frequency of the calendar, this feature should be used in conjunction with CALP. See .
0x40002828 C FIELD 13w01 CALW16 (rw): Use a 16-second calibration cycle period When CALW16 is set to 1, the 16-second calibration cycle period is selected. This bit must not be set to 1 if CALW8 = 1. Note: CALM[0] is stuck at 0 when CALW16 = 1. Refer to calibration.
0x40002828 C FIELD 14w01 CALW8 (rw): Use an 8-second calibration cycle period When CALW8 is set to 1, the 8-second calibration cycle period is selected. Note: CALM[1:0] are stuck at 00 when CALW8 = 1. Refer to digital calibration.
0x40002828 C FIELD 15w01 CALP (rw): Increase frequency of RTC by 488
0x4000282C B REGISTER SHIFTR: RTC shift control register
0x4000282C C FIELD 00w15 SUBFS (wo): Subtract a fraction of a second These bits are write only and is always read as zero. Writing to this bit has no effect when a shift operation is pending (when SHPF = 1, in RTC_ICSR). The value which is written to SUBFS is added to the synchronous prescaler counter. Since this counter counts down, this operation effectively subtracts from (delays) the clock by: Delay (seconds) = SUBFS / (PREDIV_S + 1) A fraction of a second can effectively be added to the clock (advancing the clock) when the ADD1S function is used in conjunction with SUBFS, effectively advancing the clock by: Advance (seconds) = (1 - (SUBFS / (PREDIV_S + 1))). Note: Writing to SUBFS causes RSF to be cleared. Software can then wait until RSF = 1 to be sure that the shadow registers have been updated with the shifted time.
0x4000282C C FIELD 31w01 ADD1S (wo): Add one second This bit is write only and is always read as zero. Writing to this bit has no effect when a shift operation is pending (when SHPF = 1, in RTC_ICSR). This function is intended to be used with SUBFS (see description below) in order to effectively add a fraction of a second to the clock in an atomic operation.
0x40002830 B REGISTER TSTR (=TR): RTC timestamp time register
0x40002834 B REGISTER TSDR (=DR): RTC timestamp date register
0x40002838 B REGISTER TSSSR (=SSR): RTC timestamp sub second register
0x40002840 B REGISTER ALRMAR: Alarm A register
0x40002840 C FIELD 00w04 SU (rw): Second units in BCD format
0x40002840 C FIELD 04w03 ST (rw): Second tens in BCD format
0x40002840 C FIELD 07w01 MSK1 (rw): Alarm seconds mask
0x40002840 C FIELD 08w04 MNU (rw): Minute units in BCD format
0x40002840 C FIELD 12w03 MNT (rw): Minute tens in BCD format
0x40002840 C FIELD 15w01 MSK2 (rw): Alarm minutes mask
0x40002840 C FIELD 16w04 HU (rw): Hour units in BCD format
0x40002840 C FIELD 20w02 HT (rw): Hour tens in BCD format
0x40002840 C FIELD 22w01 PM (rw): AM/PM notation
0x40002840 C FIELD 23w01 MSK3 (rw): Alarm hours mask
0x40002840 C FIELD 24w04 DU (rw): Date units or day in BCD format
0x40002840 C FIELD 28w02 DT (rw): Date tens in BCD format
0x40002840 C FIELD 30w01 WDSEL (rw): Week day selection
0x40002840 C FIELD 31w01 MSK4 (rw): Alarm date mask
0x40002844 B REGISTER ALRMASSR: Alarm A sub-second register
0x40002844 C FIELD 00w15 SS (rw): Sub seconds value This value is compared with the contents of the synchronous prescaler counter to determine if alarm A is to be activated. Only bits 0 up MASKSS-1 are compared.
0x40002844 C FIELD 24w04 MASKSS (rw): Mask the most-significant bits starting at this bit 2: SS[14:2] are don't care in alarm A comparison. Only SS[1:0] are compared. 3: SS[14:3] are don't care in alarm A comparison. Only SS[2:0] are compared. ... 12: SS[14:12] are don't care in alarm A comparison. SS[11:0] are compared. 13: SS[14:13] are don't care in alarm A comparison. SS[12:0] are compared. 14: SS[14] is don't care in alarm A comparison. SS[13:0] are compared. 15: All 15 SS bits are compared and must match to activate alarm. The overflow bits of the synchronous counter (bits 15) is never compared. This bit can be different from 0 only after a shift operation. Note: The overflow bits of the synchronous counter (bits 15) is never compared. This bit can be different from 0 only after a shift operation.
0x40002848 B REGISTER ALRMBR: Alarm B register
0x40002848 C FIELD 00w04 SU (rw): Second units in BCD format
0x40002848 C FIELD 04w03 ST (rw): Second tens in BCD format
0x40002848 C FIELD 07w01 MSK1 (rw): Alarm seconds mask
0x40002848 C FIELD 08w04 MNU (rw): Minute units in BCD format
0x40002848 C FIELD 12w03 MNT (rw): Minute tens in BCD format
0x40002848 C FIELD 15w01 MSK2 (rw): Alarm minutes mask
0x40002848 C FIELD 16w04 HU (rw): Hour units in BCD format
0x40002848 C FIELD 20w02 HT (rw): Hour tens in BCD format
0x40002848 C FIELD 22w01 PM (rw): AM/PM notation
0x40002848 C FIELD 23w01 MSK3 (rw): Alarm hours mask
0x40002848 C FIELD 24w04 DU (rw): Date units or day in BCD format
0x40002848 C FIELD 28w02 DT (rw): Date tens in BCD format
0x40002848 C FIELD 30w01 WDSEL (rw): Week day selection
0x40002848 C FIELD 31w01 MSK4 (rw): Alarm date mask
0x4000284C B REGISTER ALRMBSSR: Alarm B sub-second register
0x4000284C C FIELD 00w15 SS (rw): Sub seconds value This value is compared with the contents of the synchronous prescaler counter to determine if alarm A is to be activated. Only bits 0 up MASKSS-1 are compared.
0x4000284C C FIELD 24w04 MASKSS (rw): Mask the most-significant bits starting at this bit 2: SS[14:2] are don't care in alarm A comparison. Only SS[1:0] are compared. 3: SS[14:3] are don't care in alarm A comparison. Only SS[2:0] are compared. ... 12: SS[14:12] are don't care in alarm A comparison. SS[11:0] are compared. 13: SS[14:13] are don't care in alarm A comparison. SS[12:0] are compared. 14: SS[14] is don't care in alarm A comparison. SS[13:0] are compared. 15: All 15 SS bits are compared and must match to activate alarm. The overflow bits of the synchronous counter (bits 15) is never compared. This bit can be different from 0 only after a shift operation. Note: The overflow bits of the synchronous counter (bits 15) is never compared. This bit can be different from 0 only after a shift operation.
0x40002850 B REGISTER SR: RTC status register
0x40002850 C FIELD 00w01 ALRAF (ro): Alarm A flag This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the alarm A register (RTC_ALRMAR).
0x40002850 C FIELD 01w01 ALRBF (ro): Alarm B flag This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the alarm B register (RTC_ALRMBR).
0x40002850 C FIELD 02w01 WUTF (ro): Wakeup timer flag This flag is set by hardware when the wakeup auto-reload counter reaches 0. This flag must be cleared by software at least 1.5 RTCCLK periods before WUTF is set to 1 again.
0x40002850 C FIELD 03w01 TSF (ro): Timestamp flag This flag is set by hardware when a timestamp event occurs. If ITSF flag is set, TSF must be cleared together with ITSF.
0x40002850 C FIELD 04w01 TSOVF (ro): Timestamp overflow flag This flag is set by hardware when a timestamp event occurs while TSF is already set. It is recommended to check and then clear TSOVF only after clearing the TSF bit. Otherwise, an overflow might not be noticed if a timestamp event occurs immediately before the TSF bit is cleared.
0x40002850 C FIELD 05w01 ITSF (ro): Internal timestamp flag This flag is set by hardware when a timestamp on the internal event occurs.
0x40002854 B REGISTER MISR: RTC masked interrupt status register
0x40002854 C FIELD 00w01 ALRAMF (ro): Alarm A masked flag This flag is set by hardware when the alarm A interrupt occurs.
0x40002854 C FIELD 01w01 ALRBMF (ro): Alarm B masked flag This flag is set by hardware when the alarm B interrupt occurs.
0x40002854 C FIELD 02w01 WUTMF (ro): Wakeup timer masked flag This flag is set by hardware when the wakeup timer interrupt occurs. This flag must be cleared by software at least 1.5 RTCCLK periods before WUTF is set to 1 again.
0x40002854 C FIELD 03w01 TSMF (ro): Timestamp masked flag This flag is set by hardware when a timestamp interrupt occurs. If ITSF flag is set, TSF must be cleared together with ITSF.
0x40002854 C FIELD 04w01 TSOVMF (ro): Timestamp overflow masked flag This flag is set by hardware when a timestamp interrupt occurs while TSMF is already set. It is recommended to check and then clear TSOVF only after clearing the TSF bit. Otherwise, an overflow might not be noticed if a timestamp event occurs immediately before the TSF bit is cleared.
0x40002854 C FIELD 05w01 ITSMF (ro): Internal timestamp masked flag This flag is set by hardware when a timestamp on the internal event occurs and timestampinterrupt is raised.
0x4000285C B REGISTER SCR: RTC status clear register
0x4000285C C FIELD 00w01 CALRAF (wo): Clear alarm A flag Writing 1 in this bit clears the ALRBF bit in the RTC_SR register.
0x4000285C C FIELD 01w01 CALRBF (wo): Clear alarm B flag Writing 1 in this bit clears the ALRBF bit in the RTC_SR register.
0x4000285C C FIELD 02w01 CWUTF (wo): Clear wakeup timer flag Writing 1 in this bit clears the WUTF bit in the RTC_SR register.
0x4000285C C FIELD 03w01 CTSF (wo): Clear timestamp flag Writing 1 in this bit clears the TSOVF bit in the RTC_SR register. If ITSF flag is set, TSF must be cleared together with ITSF by setting CRSF and CITSF.
0x4000285C C FIELD 04w01 CTSOVF (wo): Clear timestamp overflow flag Writing 1 in this bit clears the TSOVF bit in the RTC_SR register. It is recommended to check and then clear TSOVF only after clearing the TSF bit. Otherwise, an overflow might not be noticed if a timestamp event occurs immediately before the TSF bit is cleared.
0x4000285C C FIELD 05w01 CITSF (wo): Clear internal timestamp flag Writing 1 in this bit clears the ITSF bit in the RTC_SR register.
0x40002C00 A PERIPHERAL WWDG
0x40002C00 B REGISTER CR (rw): Control register
0x40002C00 C FIELD 00w07 T (rw): 7-bit counter (MSB to LSB) These bits contain the value of the watchdog counter, decremented every (4096 x 2WDGTB[1:0]) PCLK cycles. A reset is produced when it is decremented from 0x40 to 0x3F (T6 becomes cleared).
0x40002C00 C FIELD 07w01 WDGA (rw): Activation bit This bit is set by software and only cleared by hardware after a reset. When WDGA=1, the watchdog can generate a reset.
0x40002C04 B REGISTER CFR (rw): Configuration register
0x40002C04 C FIELD 00w07 W (rw): 7-bit window value These bits contain the window value to be compared with the down-counter.
0x40002C04 C FIELD 09w01 EWI (rw): Early wakeup interrupt When set, an interrupt occurs whenever the counter reaches the value 0x40. This interrupt is only cleared by hardware after a reset.
0x40002C04 C FIELD 11w03 WDGTB: Timer base The timebase of the prescaler can be modified as follows:
0x40002C08 B REGISTER SR (rw): Status register
0x40002C08 C FIELD 00w01 EWIF: Early wakeup interrupt flag
0x40003000 A PERIPHERAL IWDG
0x40003000 B REGISTER KR (wo): Key register
0x40003000 C FIELD 00w16 KEY: Key value (write only, read 0x0000)
0x40003004 B REGISTER PR (rw): Prescaler register
0x40003004 C FIELD 00w03 PR (rw): Prescaler divider These bits are write access protected see . They are written by software to select the prescaler divider feeding the counter clock. PVU bit of the must be reset in order to be able to change the prescaler divider. Note: Reading this register returns the prescaler value from the VDD voltage domain. This value may not be up to date/valid if a write operation to this register is ongoing. For this reason the value read from this register is valid only when the PVU bit in the status register (IWDG_SR) is reset.
0x40003008 B REGISTER RLR (rw): Reload register
0x40003008 C FIELD 00w12 RL: Watchdog counter reload value
0x4000300C B REGISTER SR (ro): Status register
0x4000300C C FIELD 00w01 PVU (ro): Watchdog prescaler value update This bit is set by hardware to indicate that an update of the prescaler value is ongoing. It is reset by hardware when the prescaler update operation is completed in the VDD voltage domain (takes up to five LSI cycles). Prescaler value can be updated only when PVU bit is reset.
0x4000300C C FIELD 01w01 RVU (ro): Watchdog counter reload value update This bit is set by hardware to indicate that an update of the reload value is ongoing. It is reset by hardware when the reload value update operation is completed in the VDD voltage domain (takes up to five LSI cycles). Reload value can be updated only when RVU bit is reset.
0x4000300C C FIELD 02w01 WVU (ro): Watchdog counter window value update This bit is set by hardware to indicate that an update of the window value is ongoing. It is reset by hardware when the reload value update operation is completed in the VDD voltage domain (takes up to five LSI cycles). Window value can be updated only when WVU bit is reset.
0x40003010 B REGISTER WINR (rw): Window register
0x40003010 C FIELD 00w12 WIN: Watchdog counter window value
0x40003800 A PERIPHERAL SPI2
0x40003800 B REGISTER CR1: SPI control register 1
0x40003800 C FIELD 00w01 CPHA (rw): Clock phase Note: This bit should not be changed when communication is ongoing. This bit is not used in I2S mode and SPI TI mode except the case when CRC is applied at TI mode.
0x40003800 C FIELD 01w01 CPOL (rw): Clock polarity Note: This bit should not be changed when communication is ongoing. This bit is not used in I2S mode and SPI TI mode except the case when CRC is applied at TI mode.
0x40003800 C FIELD 02w01 MSTR (rw): Master selection Note: This bit should not be changed when communication is ongoing. This bit is not used in I2S mode.
0x40003800 C FIELD 03w03 BR (rw): Baud rate control Note: These bits should not be changed when communication is ongoing. These bits are not used in I2S mode.
0x40003800 C FIELD 06w01 SPE (rw): SPI enable Note: When disabling the SPI, follow the procedure described in SPI on page1021. This bit is not used in I2S mode.
0x40003800 C FIELD 07w01 LSBFIRST (rw): Frame format Note: 1. This bit should not be changed when communication is ongoing. 2. This bit is not used in I2S mode and SPI TI mode.
0x40003800 C FIELD 08w01 SSI (rw): Internal slave select This bit has an effect only when the SSM bit is set. The value of this bit is forced onto the NSS pin and the I/O value of the NSS pin is ignored. Note: This bit is not used in I2S mode and SPI TI mode.
0x40003800 C FIELD 09w01 SSM (rw): Software slave management When the SSM bit is set, the NSS pin input is replaced with the value from the SSI bit. Note: This bit is not used in I2S mode and SPI TI mode.
0x40003800 C FIELD 10w01 RXONLY (rw): Receive only mode enabled. This bit enables simplex communication using a single unidirectional line to receive data exclusively. Keep BIDIMODE bit clear when receive only mode is active.This bit is also useful in a multislave system in which this particular slave is not accessed, the output from the accessed slave is not corrupted. Note: This bit is not used in I2S mode.
0x40003800 C FIELD 11w01 CRCL (rw): CRC length This bit is set and cleared by software to select the CRC length. Note: This bit should be written only when SPI is disabled (SPE = '0') for correct operation. This bit is not used in I2S mode.
0x40003800 C FIELD 12w01 CRCNEXT (rw): Transmit CRC next Note: This bit has to be written as soon as the last data is written in the SPI_DR register. This bit is not used in I2S mode.
0x40003800 C FIELD 13w01 CRCEN (rw): Hardware CRC calculation enable Note: This bit should be written only when SPI is disabled (SPE = '0') for correct operation. This bit is not used in I2S mode.
0x40003800 C FIELD 14w01 BIDIOE (rw): Output enable in bidirectional mode This bit combined with the BIDIMODE bit selects the direction of transfer in bidirectional mode. Note: In master mode, the MOSI pin is used and in slave mode, the MISO pin is used. This bit is not used in I2S mode.
0x40003800 C FIELD 15w01 BIDIMODE (rw): Bidirectional data mode enable. This bit enables half-duplex communication using common single bidirectional data line. Keep RXONLY bit clear when bidirectional mode is active. Note: This bit is not used in I2S mode.
0x40003804 B REGISTER CR2: SPI control register 2
0x40003804 C FIELD 00w01 RXDMAEN (rw): Rx buffer DMA enable When this bit is set, a DMA request is generated whenever the RXNE flag is set.
0x40003804 C FIELD 01w01 TXDMAEN (rw): Tx buffer DMA enable When this bit is set, a DMA request is generated whenever the TXE flag is set.
0x40003804 C FIELD 02w01 SSOE (rw): SS output enable Note: This bit is not used in I2S mode and SPI TI mode.
0x40003804 C FIELD 03w01 NSSP (rw): NSS pulse management This bit is used in master mode only. it allows the SPI to generate an NSS pulse between two consecutive data when doing continuous transfers. In the case of a single data transfer, it forces the NSS pin high level after the transfer. It has no meaning if CPHA = '1', or FRF = '1'. Note: 1. This bit must be written only when the SPI is disabled (SPE=0). 2. This bit is not used in I2S mode and SPI TI mode.
0x40003804 C FIELD 04w01 FRF (rw): Frame format 1 SPI TI mode Note: This bit must be written only when the SPI is disabled (SPE=0). This bit is not used in I2S mode.
0x40003804 C FIELD 05w01 ERRIE (rw): Error interrupt enable This bit controls the generation of an interrupt when an error condition occurs (CRCERR, OVR, MODF in SPI mode, FRE at TI mode and UDR, OVR, and FRE in I2S mode).
0x40003804 C FIELD 06w01 RXNEIE (rw): RX buffer not empty interrupt enable
0x40003804 C FIELD 07w01 TXEIE (rw): Tx buffer empty interrupt enable
0x40003804 C FIELD 08w04 DS (rw): Data size These bits configure the data length for SPI transfers. If software attempts to write one of the 'Not used' values, they are forced to the value '0111' (8-bit) Note: These bits are not used in I2S mode.
0x40003804 C FIELD 12w01 FRXTH (rw): FIFO reception threshold This bit is used to set the threshold of the RXFIFO that triggers an RXNE event Note: This bit is not used in I2S mode.
0x40003804 C FIELD 13w01 LDMA_RX (rw): Last DMA transfer for reception
0x40003804 C FIELD 14w01 LDMA_TX (rw): Last DMA transfer for transmission
0x40003808 B REGISTER SR: SPI status register
0x40003808 C FIELD 00w01 RXNE (ro): Receive buffer not empty
0x40003808 C FIELD 01w01 TXE (ro): Transmit buffer empty
0x40003808 C FIELD 02w01 CHSIDE (ro): Channel side Note: This bit is not used in SPI mode. It has no significance in PCM mode.
0x40003808 C FIELD 03w01 UDR (ro): Underrun flag This flag is set by hardware and reset by a software sequence. Refer to page1057 for the software sequence. Note: This bit is not used in SPI mode.
0x40003808 C FIELD 04w01 CRCERR (rw): CRC error flag Note: This flag is set by hardware and cleared by software writing 0. This bit is not used in I2S mode.
0x40003808 C FIELD 05w01 MODF (ro): Mode fault This flag is set by hardware and reset by a software sequence. Refer to (MODF) on page1031 for the software sequence. Note: This bit is not used in I2S mode.
0x40003808 C FIELD 06w01 OVR (ro): Overrun flag This flag is set by hardware and reset by a software sequence. Refer to page1057 for the software sequence.
0x40003808 C FIELD 07w01 BSY (ro): Busy flag This flag is set and cleared by hardware. Note: The BSY flag must be used with caution: refer to and .
0x40003808 C FIELD 08w01 FRE (ro): Frame format error This flag is used for SPI in TI slave mode and I2S slave mode. Refer to error flags and . This flag is set by hardware and reset when SPI_SR is read by software.
0x40003808 C FIELD 09w02 FRLVL (ro): FIFO reception level
0x40003808 C FIELD 11w02 FTLVL (ro): FIFO transmission level These bits are set and cleared by hardware. Note: This bit is not used in I2S mode.
0x4000380C B REGISTER DR8 (rw): Direct 8-bit access to data register
0x4000380C B REGISTER DR: SPI data register
0x4000380C C FIELD 00w08 DR: Data register
0x4000380C C FIELD 00w16 DR (rw): Data register Data received or to be transmitted The data register serves as an interface between the Rx and Tx FIFOs. When the data register is read, RxFIFO is accessed while the write to data register accesses TxFIFO (See ). Note: Data is always right-aligned. Unused bits are ignored when writing to the register, and read as zero when the register is read. The Rx threshold setting must always correspond with the read access currently used.
0x40003810 B REGISTER CRCPR: SPI CRC polynomial register
0x40003810 C FIELD 00w16 CRCPOLY (rw): CRC polynomial register This register contains the polynomial for the CRC calculation. The CRC polynomial (0x0007) is the reset value of this register. Another polynomial can be configured as required.
0x40003814 B REGISTER RXCRCR: SPI Rx CRC register
0x40003814 C FIELD 00w16 RXCRC (ro): Rx CRC register When CRC calculation is enabled, the RXCRC[15:0] bits contain the computed CRC value of the subsequently received bytes. This register is reset when the CRCEN bit in SPI_CR1 register is written to 1. The CRC is calculated serially using the polynomial programmed in the SPI_CRCPR register. Only the 8 LSB bits are considered when the CRC frame format is set to be 8-bit length (CRCL bit in the SPI_CR1 is cleared). CRC calculation is done based on any CRC8 standard. The entire 16-bits of this register are considered when a 16-bit CRC frame format is selected (CRCL bit in the SPI_CR1 register is set). CRC calculation is done based on any CRC16 standard. Note: A read to this register when the BSY Flag is set could return an incorrect value. These bits are not used in I2S mode.
0x40003818 B REGISTER TXCRCR: SPI Tx CRC register
0x40003818 C FIELD 00w16 TXCRC (ro): Tx CRC register When CRC calculation is enabled, the TXCRC[7:0] bits contain the computed CRC value of the subsequently transmitted bytes. This register is reset when the CRCEN bit of SPI_CR1 is written to 1. The CRC is calculated serially using the polynomial programmed in the SPI_CRCPR register. Only the 8 LSB bits are considered when the CRC frame format is set to be 8-bit length (CRCL bit in the SPI_CR1 is cleared). CRC calculation is done based on any CRC8 standard. The entire 16-bits of this register are considered when a 16-bit CRC frame format is selected (CRCL bit in the SPI_CR1 register is set). CRC calculation is done based on any CRC16 standard. Note: A read to this register when the BSY flag is set could return an incorrect value. These bits are not used in I2S mode.
0x4000381C B REGISTER I2SCFGR: SPI_I2S configuration register
0x4000381C C FIELD 00w01 CHLEN (rw): Channel length (number of bits per audio channel) The bit write operation has a meaning only if DATLEN = 00 otherwise the channel length is fixed to 32-bit by hardware whatever the value filled in. Note: For correct operation, this bit should be configured when the I2S is disabled. It is not used in SPI mode.
0x4000381C C FIELD 01w02 DATLEN (rw): Data length to be transferred Note: For correct operation, these bits should be configured when the I2S is disabled. They are not used in SPI mode.
0x4000381C C FIELD 03w01 CKPOL (rw): Inactive state clock polarity Note: For correct operation, this bit should be configured when the I2S is disabled. It is not used in SPI mode. The bit CKPOL does not affect the CK edge sensitivity used to receive or transmit the SD and WS signals.
0x4000381C C FIELD 04w02 I2SSTD (rw): I2S standard selection For more details on I2S standards, refer to Note: For correct operation, these bits should be configured when the I2S is disabled. They are not used in SPI mode.
0x4000381C C FIELD 07w01 PCMSYNC (rw): PCM frame synchronization Note: This bit has a meaning only if I2SSTD = 11 (PCM standard is used). It is not used in SPI mode.
0x4000381C C FIELD 08w02 I2SCFG (rw): I2S configuration mode Note: These bits should be configured when the I2S is disabled. They are not used in SPI mode.
0x4000381C C FIELD 10w01 I2SE (rw): I2S enable Note: This bit is not used in SPI mode.
0x4000381C C FIELD 11w01 I2SMOD (rw): I2S mode selection Note: This bit should be configured when the SPI is disabled.
0x4000381C C FIELD 12w01 ASTRTEN (rw): Asynchronous start enable. When the I2S is enabled in slave mode, the hardware starts the transfer when the I2S clock is received and an appropriate transition is detected on the WS signal. When the I2S is enabled in slave mode, the hardware starts the transfer when the I2S clock is received and the appropriate level is detected on the WS signal. Note: The appropriate transition is a falling edge on WS signal when I2S Philips Standard is used, or a rising edge for other standards. The appropriate level is a low level on WS signal when I2S Philips Standard is used, or a high level for other standards. Please refer to for additional information.
0x40003820 B REGISTER I2SPR: SPI_I2S prescaler register
0x40003820 C FIELD 00w08 I2SDIV (rw): I2S linear prescaler I2SDIV [7:0] = 0 or I2SDIV [7:0] = 1 are forbidden values. Refer to . Note: These bits should be configured when the I2S is disabled. They are used only when the I2S is in master mode. They are not used in SPI mode.
0x40003820 C FIELD 08w01 ODD (rw): Odd factor for the prescaler Refer to . Note: This bit should be configured when the I2S is disabled. It is used only when the I2S is in master mode. It is not used in SPI mode.
0x40003820 C FIELD 09w01 MCKOE (rw): Master clock output enable Note: This bit should be configured when the I2S is disabled. It is used only when the I2S is in master mode. It is not used in SPI mode.
0x40004400 A PERIPHERAL USART2
0x40004400 B REGISTER CR1 (rw): Control register 1
0x40004400 C FIELD 00w01 UE (rw): USART enable When this bit is cleared, the USART prescalers and outputs are stopped immediately, and all current operations are discarded. The USART configuration is kept, but all the USART_ISR status flags are reset. This bit is set and cleared by software. Note: To enter low-power mode without generating errors on the line, the TE bit must be previously reset and the software must wait for the TC bit in the USART_ISR to be set before resetting the UE bit. The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. In Smartcard mode, (SCEN = 1), the SCLK is always available when CLKEN = 1, regardless of the UE bit value.
0x40004400 C FIELD 01w01 UESM (rw): USART enable in low-power mode When this bit is cleared, the USART cannot wake up the MCU from low-power mode. When this bit is set, the USART can wake up the MCU from low-power mode. This bit is set and cleared by software. Note: It is recommended to set the UESM bit just before entering low-power mode and clear it when exit from low-power mode. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to .
0x40004400 C FIELD 02w01 RE (rw): Receiver enable This bit enables the receiver. It is set and cleared by software.
0x40004400 C FIELD 03w01 TE (rw): Transmitter enable This bit enables the transmitter. It is set and cleared by software. Note: During transmission, a low pulse on the TE bit ('0' followed by '1') sends a preamble (idle line) after the current word, except in Smartcard mode. In order to generate an idle character, the TE must not be immediately written to '1'. To ensure the required duration, the software can poll the TEACK bit in the USART_ISR register. In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts.
0x40004400 C FIELD 04w01 IDLEIE (rw): IDLE interrupt enable This bit is set and cleared by software.
0x40004400 C FIELD 05w01 RXNEIE (rw): RXFIFO not empty interrupt enable This bit is set and cleared by software.
0x40004400 C FIELD 06w01 TCIE (rw): Transmission complete interrupt enable This bit is set and cleared by software.
0x40004400 C FIELD 07w01 TXEIE (rw): TXFIFO not full interrupt enable This bit is set and cleared by software.
0x40004400 C FIELD 08w01 PEIE (rw): PE interrupt enable This bit is set and cleared by software.
0x40004400 C FIELD 09w01 PS (rw): Parity selection This bit selects the odd or even parity when the parity generation/detection is enabled (PCE bit set). It is set and cleared by software. The parity is selected after the current byte. This bitfield can only be written when the USART is disabled (UE=0).
0x40004400 C FIELD 10w01 PCE (rw): Parity control enable This bit selects the hardware parity control (generation and detection). When the parity control is enabled, the computed parity is inserted at the MSB position (9th bit if M=1; 8th bit if M=0) and the parity is checked on the received data. This bit is set and cleared by software. Once it is set, PCE is active after the current byte (in reception and in transmission). This bitfield can only be written when the USART is disabled (UE=0).
0x40004400 C FIELD 11w01 WAKE (rw): Receiver wakeup method This bit determines the USART wakeup method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE=0).
0x40004400 C FIELD 12w01 M0 (rw): Word length This bit is used in conjunction with bit 28 (M1) to determine the word length. It is set or cleared by software (refer to bit 28 (M1)description). This bit can only be written when the USART is disabled (UE=0).
0x40004400 C FIELD 13w01 MME (rw): Mute mode enable This bit enables the USART Mute mode function. When set, the USART can switch between active and Mute mode, as defined by the WAKE bit. It is set and cleared by software.
0x40004400 C FIELD 14w01 CMIE (rw): Character match interrupt enable This bit is set and cleared by software.
0x40004400 C FIELD 15w01 OVER8 (rw): Oversampling mode This bit can only be written when the USART is disabled (UE=0). Note: In LIN, IrDA and Smartcard modes, this bit must be kept cleared.
0x40004400 C FIELD 16w05 DEDT (rw): Driver Enable deassertion time This 5-bit value defines the time between the end of the last stop bit, in a transmitted message, and the de-activation of the DE (Driver Enable) signal. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). If the USART_TDR register is written during the DEDT time, the new data is transmitted only when the DEDT and DEAT times have both elapsed. This bitfield can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004400 C FIELD 21w05 DEAT (rw): Driver Enable assertion time This 5-bit value defines the time between the activation of the DE (Driver Enable) signal and the beginning of the start bit. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). This bitfield can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004400 C FIELD 26w01 RTOIE (rw): Receiver timeout interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. .
0x40004400 C FIELD 27w01 EOBIE (rw): End of Block interrupt enable This bit is set and cleared by software. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to .
0x40004400 C FIELD 28w01 M1 (rw): Word length This bit must be used in conjunction with bit 12 (M0) to determine the word length. It is set or cleared by software. M[1:0] = '00': 1 start bit, 8 Data bits, n Stop bit M[1:0] = '01': 1 start bit, 9 Data bits, n Stop bit M[1:0] = '10': 1 start bit, 7 Data bits, n Stop bit This bit can only be written when the USART is disabled (UE=0). Note: In 7-bits data length mode, the Smartcard mode, LIN master mode and Auto baud rate (0x7F and 0x55 frames detection) are not supported.
0x40004400 C FIELD 29w01 FIFOEN (rw): FIFO mode enable This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0). Note: FIFO mode can be used on standard UART communication, in SPI master/slave mode and in Smartcard modes only. It must not be enabled in IrDA and LIN modes.
0x40004400 C FIELD 30w01 TXFEIE (rw): TXFIFO empty interrupt enable This bit is set and cleared by software.
0x40004400 C FIELD 31w01 RXFFIE (rw): RXFIFO Full interrupt enable This bit is set and cleared by software.
0x40004404 B REGISTER CR2 (rw): Control register 2
0x40004404 C FIELD 00w01 SLVEN (rw): Synchronous Slave mode enable When the SLVEN bit is set, the synchronous slave mode is enabled. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004404 C FIELD 03w01 DIS_NSS (rw): When the DIS_NSS bit is set, the NSS pin input is ignored. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004404 C FIELD 04w01 ADDM7 (rw): 7-bit Address Detection/4-bit Address Detection This bit is for selection between 4-bit address detection or 7-bit address detection. This bit can only be written when the USART is disabled (UE=0) Note: In 7-bit and 9-bit data modes, the address detection is done on 6-bit and 8-bit address (ADD[5:0] and ADD[7:0]) respectively.
0x40004404 C FIELD 05w01 LBDL (rw): LIN break detection length This bit is for selection between 11 bit or 10 bit break detection. This bit can only be written when the USART is disabled (UE=0). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004404 C FIELD 06w01 LBDIE (rw): LIN break detection interrupt enable Break interrupt mask (break detection using break delimiter). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004404 C FIELD 08w01 LBCL (rw): Last bit clock pulse This bit is used to select whether the clock pulse associated with the last data bit transmitted (MSB) has to be output on the SCLK pin in synchronous mode. The last bit is the 7th or 8th or 9th data bit transmitted depending on the 7 or 8 or 9 bit format selected by the M bit in the USART_CR1 register. This bit can only be written when the USART is disabled (UE=0). Note: If synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004404 C FIELD 09w01 CPHA (rw): Clock phase This bit is used to select the phase of the clock output on the SCLK pin in synchronous mode. It works in conjunction with the CPOL bit to produce the desired clock/data relationship (see and ) This bit can only be written when the USART is disabled (UE=0). Note: If synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004404 C FIELD 10w01 CPOL (rw): Clock polarity This bit enables the user to select the polarity of the clock output on the SCLK pin in synchronous mode. It works in conjunction with the CPHA bit to produce the desired clock/data relationship This bit can only be written when the USART is disabled (UE=0). Note: If synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004404 C FIELD 11w01 CLKEN (rw): Clock enable This bit enables the user to enable the SCLK pin. This bit can only be written when the USART is disabled (UE=0). Note: If neither synchronous mode nor Smartcard mode is supported, this bit is reserved and must be kept at reset value. Refer to . In Smartcard mode, in order to provide correctly the SCLK clock to the smartcard, the steps below must be respected: UE = 0 SCEN = 1 GTPR configuration CLKEN= 1 UE = 1
0x40004404 C FIELD 12w02 STOP (rw): stop bits These bits are used for programming the stop bits. This bitfield can only be written when the USART is disabled (UE=0).
0x40004404 C FIELD 14w01 LINEN (rw): LIN mode enable This bit is set and cleared by software. The LIN mode enables the capability to send LIN synchronous breaks (13 low bits) using the SBKRQ bit in the USART_CR1 register, and to detect LIN Sync breaks. This bitfield can only be written when the USART is disabled (UE=0). Note: If the USART does not support LIN mode, this bit is reserved and must be kept at reset value. Refer to .
0x40004404 C FIELD 15w01 SWAP (rw): Swap TX/RX pins This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0).
0x40004404 C FIELD 16w01 RXINV (rw): RX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the RX line. This bitfield can only be written when the USART is disabled (UE=0).
0x40004404 C FIELD 17w01 TXINV (rw): TX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the TX line. This bitfield can only be written when the USART is disabled (UE=0).
0x40004404 C FIELD 18w01 DATAINV (rw): Binary data inversion This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0).
0x40004404 C FIELD 19w01 MSBFIRST (rw): Most significant bit first This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0).
0x40004404 C FIELD 20w01 ABREN (rw): Auto baud rate enable This bit is set and cleared by software. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to .
0x40004404 C FIELD 21w02 ABRMOD (rw): Auto baud rate mode These bits are set and cleared by software. This bitfield can only be written when ABREN = 0 or the USART is disabled (UE=0). Note: If DATAINV=1 and/or MSBFIRST=1 the patterns must be the same on the line, for example 0xAA for MSBFIRST) If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to .
0x40004404 C FIELD 23w01 RTOEN (rw): Receiver timeout enable This bit is set and cleared by software. When this feature is enabled, the RTOF flag in the USART_ISR register is set if the RX line is idle (no reception) for the duration programmed in the RTOR (receiver timeout register). Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to .
0x40004404 C FIELD 24w08 ADD (rw): Address of the USART node ADD[7:4]: These bits give the address of the USART node or a character code to be recognized. They are used to wake up the MCU with 7-bit address mark detection in multiprocessor communication during Mute mode or low-power mode. The MSB of the character sent by the transmitter should be equal to 1. They can also be used for character detection during normal reception, Mute mode inactive (for example, end of block detection in ModBus protocol). In this case, the whole received character (8-bit) is compared to the ADD[7:0] value and CMF flag is set on match. These bits can only be written when reception is disabled (RE = 0) or the USART is disabled (UE=0). ADD[3:0]: These bits give the address of the USART node or a character code to be recognized. They are used for wakeup with address mark detection, in multiprocessor communication during Mute mode or low-power mode. These bits can only be written when reception is disabled (RE = 0) or the USART is disabled (UE=0).
0x40004408 B REGISTER CR3 (rw): Control register 3
0x40004408 C FIELD 00w01 EIE (rw): Error interrupt enable Error Interrupt Enable Bit is required to enable interrupt generation in case of a framing error, overrun error noise flag or SPI slave underrun error (FE=1 or ORE=1 or NE=1 or UDR = 1 in the USART_ISR register).
0x40004408 C FIELD 01w01 IREN (rw): IrDA mode enable This bit is set and cleared by software. This bit can only be written when the USART is disabled (UE=0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004408 C FIELD 02w01 IRLP (rw): IrDA low-power This bit is used for selecting between normal and low-power IrDA modes This bit can only be written when the USART is disabled (UE=0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004408 C FIELD 03w01 HDSEL (rw): Half-duplex selection Selection of Single-wire Half-duplex mode This bit can only be written when the USART is disabled (UE=0).
0x40004408 C FIELD 04w01 NACK (rw): Smartcard NACK enable This bitfield can only be written when the USART is disabled (UE=0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to .
0x40004408 C FIELD 05w01 SCEN (rw): Smartcard mode enable This bit is used for enabling Smartcard mode. This bitfield can only be written when the USART is disabled (UE=0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to .
0x40004408 C FIELD 06w01 DMAR (rw): DMA enable receiver This bit is set/reset by software
0x40004408 C FIELD 07w01 DMAT (rw): DMA enable transmitter This bit is set/reset by software
0x40004408 C FIELD 08w01 RTSE (rw): RTS enable This bit can only be written when the USART is disabled (UE=0). Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004408 C FIELD 09w01 CTSE (rw): CTS enable This bit can only be written when the USART is disabled (UE=0) Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004408 C FIELD 10w01 CTSIE (rw): CTS interrupt enable Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004408 C FIELD 11w01 ONEBIT (rw): One sample bit method enable This bit enables the user to select the sample method. When the one sample bit method is selected the noise detection flag (NE) is disabled. This bit can only be written when the USART is disabled (UE=0).
0x40004408 C FIELD 12w01 OVRDIS (rw): Overrun Disable This bit is used to disable the receive overrun detection. the ORE flag is not set and the new received data overwrites the previous content of the USART_RDR register. When FIFO mode is enabled, the RXFIFO is bypassed and data is written directly in USART_RDR register. Even when FIFO management is enabled, the RXNE flag is to be used. This bit can only be written when the USART is disabled (UE=0). Note: This control bit enables checking the communication flow w/o reading the data
0x40004408 C FIELD 13w01 DDRE (rw): DMA Disable on Reception Error This bit can only be written when the USART is disabled (UE=0). Note: The reception errors are: parity error, framing error or noise error.
0x40004408 C FIELD 14w01 DEM (rw): Driver enable mode This bit enables the user to activate the external transceiver control, through the DE signal. This bit can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. .
0x40004408 C FIELD 15w01 DEP (rw): Driver enable polarity selection This bit can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004408 C FIELD 17w03 SCARCNT (rw): Smartcard auto-retry count This bitfield specifies the number of retries for transmission and reception in Smartcard mode. In transmission mode, it specifies the number of automatic retransmission retries, before generating a transmission error (FE bit set). In reception mode, it specifies the number or erroneous reception trials, before generating a reception error (RXNE/RXFNE and PE bits set). This bitfield must be programmed only when the USART is disabled (UE=0). When the USART is enabled (UE=1), this bitfield may only be written to 0x0, in order to stop retransmission. Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004408 C FIELD 20w02 WUS (rw): Wakeup from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (Wakeup from low-power mode flag). This bitfield can only be written when the USART is disabled (UE=0). If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835.
0x40004408 C FIELD 22w01 WUFIE (rw): Wakeup from low-power mode interrupt enable This bit is set and cleared by software. Note: WUFIE must be set before entering in low-power mode. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835.
0x40004408 C FIELD 23w01 TXFTIE (rw): TXFIFO threshold interrupt enable This bit is set and cleared by software.
0x40004408 C FIELD 24w01 TCBGTIE (rw): Transmission Complete before guard time, interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Smartcard mode, this bit is reserved and must be kept at reset value. Refer to .
0x40004408 C FIELD 25w03 RXFTCFG (rw): Receive FIFO threshold configuration Remaining combinations: Reserved
0x40004408 C FIELD 28w01 RXFTIE (rw): RXFIFO threshold interrupt enable This bit is set and cleared by software.
0x40004408 C FIELD 29w03 TXFTCFG (rw): TXFIFO threshold configuration Remaining combinations: Reserved
0x4000440C B REGISTER BRR (rw): Baud rate register
0x4000440C C FIELD 00w16 BRR (rw): USART baud rate
0x40004410 B REGISTER GTPR (rw): Guard time and prescaler register
0x40004410 C FIELD 00w08 PSC (rw): Prescaler value In IrDA low-power and normal IrDA mode: PSC[7:0] = IrDA Normal and Low-Power baud rate PSC[7:0] is used to program the prescaler for dividing the USART source clock to achieve the low-power frequency: the source clock is divided by the value given in the register (8 significant bits): In Smartcard mode: PSC[4:0]=Prescaler value PSC[4:0] is used to program the prescaler for dividing the USART source clock to provide the Smartcard clock. The value given in the register (5 significant bits) is multiplied by 2 to give the division factor of the source clock frequency: ... 00100000: Divides the source clock by 32 (IrDA mode) ... 11111111: Divides the source clock by 255 (IrDA mode) This bitfield can only be written when the USART is disabled (UE=0). Note: Bits [7:5] must be kept cleared if Smartcard mode is used. This bitfield is reserved and forced by hardware to '0' when the Smartcard and IrDA modes are not supported. Refer to .
0x40004410 C FIELD 08w08 GT (rw): Guard time value This bitfield is used to program the Guard time value in terms of number of baud clock periods. This is used in Smartcard mode. The Transmission Complete flag is set after this guard time value. This bitfield can only be written when the USART is disabled (UE=0). Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004414 B REGISTER RTOR (rw): Receiver timeout register
0x40004414 C FIELD 00w24 RTO: Receiver timeout value
0x40004414 C FIELD 24w08 BLEN: Block Length
0x40004418 B REGISTER RQR (wo): Request register
0x40004418 C FIELD 00w01 ABRRQ (wo): Auto baud rate request Writing 1 to this bit resets the ABRF flag in the USART_ISR and requests an automatic baud rate measurement on the next received data frame. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to .
0x40004418 C FIELD 01w01 SBKRQ (wo): Send break request Writing 1 to this bit sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available. Note: When the application needs to send the break character following all previously inserted data, including the ones not yet transmitted, the software should wait for the TXE flag assertion before setting the SBKRQ bit.
0x40004418 C FIELD 02w01 MMRQ (wo): Mute mode request Writing 1 to this bit puts the USART in Mute mode and resets the RWU flag.
0x40004418 C FIELD 03w01 RXFRQ (wo): Receive data flush request Writing 1 to this bit empties the entire receive FIFO i.e. clears the bit RXFNE. This enables to discard the received data without reading them, and avoid an overrun condition.
0x40004418 C FIELD 04w01 TXFRQ (wo): Transmit data flush request When FIFO mode is disabled, writing '1' to this bit sets the TXE flag. This enables to discard the transmit data. This bit must be used only in Smartcard mode, when data have not been sent due to errors (NACK) and the FE flag is active in the USART_ISR register. If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. When FIFO is enabled, TXFRQ bit is set to flush the whole FIFO. This sets the TXFE flag (Transmit FIFO empty, bit 23 in the USART_ISR register). Flushing the Transmit FIFO is supported in both UART and Smartcard modes. Note: In FIFO mode, the TXFNF flag is reset during the flush request until TxFIFO is empty in order to ensure that no data are written in the data register.
0x4000441C B REGISTER ISR (ro): Interrupt & status register
0x4000441C C FIELD 00w01 PE (ro): Parity error This bit is set by hardware when a parity error occurs in receiver mode. It is cleared by software, writing 1 to the PECF in the USART_ICR register. An interrupt is generated if PEIE = 1 in the USART_CR1 register. Note: This error is associated with the character in the USART_RDR.
0x4000441C C FIELD 01w01 FE (ro): Framing error This bit is set by hardware when a de-synchronization, excessive noise or a break character is detected. It is cleared by software, writing 1 to the FECF bit in the USART_ICR register. When transmitting data in Smartcard mode, this bit is set when the maximum number of transmit attempts is reached without success (the card NACKs the data frame). An interrupt is generated if EIE=1 in the USART_CR1 register. Note: This error is associated with the character in the USART_RDR.
0x4000441C C FIELD 02w01 NE (ro): Noise detection flag This bit is set by hardware when noise is detected on a received frame. It is cleared by software, writing 1 to the NECF bit in the USART_ICR register. Note: This bit does not generate an interrupt as it appears at the same time as the RXFNE bit which itself generates an interrupt. An interrupt is generated when the NE flag is set during multi buffer communication if the EIE bit is set. When the line is noise-free, the NE flag can be disabled by programming the ONEBIT bit to 1 to increase the USART tolerance to deviations (Refer to Tolerance of the USART receiver to clock deviation on page861). This error is associated with the character in the USART_RDR.
0x4000441C C FIELD 03w01 ORE (ro): Overrun error This bit is set by hardware when the data currently being received in the shift register is ready to be transferred into the USART_RDR register while RXFF = 1. It is cleared by a software, writing 1 to the ORECF, in the USART_ICR register. An interrupt is generated if RXFNEIE=1 or EIE = 1 in the USART_CR1 register. Note: When this bit is set, the USART_RDR register content is not lost but the shift register is overwritten. An interrupt is generated if the ORE flag is set during multi buffer communication if the EIE bit is set. This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register.
0x4000441C C FIELD 04w01 IDLE (ro): Idle line detected This bit is set by hardware when an Idle Line is detected. An interrupt is generated if IDLEIE=1 in the USART_CR1 register. It is cleared by software, writing 1 to the IDLECF in the USART_ICR register. Note: The IDLE bit is not set again until the RXFNE bit has been set (i.e. a new idle line occurs). If Mute mode is enabled (MME=1), IDLE is set if the USART is not mute (RWU=0), whatever the Mute mode selected by the WAKE bit. If RWU=1, IDLE is not set.
0x4000441C C FIELD 05w01 RXFNE (ro): RXFIFO not empty RXFNE bit is set by hardware when the RXFIFO is not empty, meaning that data can be read from the USART_RDR register. Every read operation from the USART_RDR frees a location in the RXFIFO. RXFNE is cleared when the RXFIFO is empty. The RXFNE flag can also be cleared by writing 1 to the RXFRQ in the USART_RQR register. An interrupt is generated if RXFNEIE=1 in the USART_CR1 register.
0x4000441C C FIELD 06w01 TC (ro): Transmission complete This bit indicates that the last data written in the USART_TDR has been transmitted out of the shift register. It is set by hardware when the transmission of a frame containing data is complete and when TXFE is set. An interrupt is generated if TCIE=1 in the USART_CR1 register. TC bit is is cleared by software, by writing 1 to the TCCF in the USART_ICR register or by a write to the USART_TDR register. Note: If TE bit is reset and no transmission is on going, the TC bit is immediately set.
0x4000441C C FIELD 07w01 TXFNF (ro): TXFIFO not full TXFNF is set by hardware when TXFIFO is not full meaning that data can be written in the USART_TDR. Every write operation to the USART_TDR places the data in the TXFIFO. This flag remains set until the TXFIFO is full. When the TXFIFO is full, this flag is cleared indicating that data can not be written into the USART_TDR. An interrupt is generated if the TXFNFIE bit =1 in the USART_CR1 register. Note: The TXFNF is kept reset during the flush request until TXFIFO is empty. After sending the flush request (by setting TXFRQ bit), the flag TXFNF should be checked prior to writing in TXFIFO (TXFNF and TXFE are set at the same time). This bit is used during single buffer transmission.
0x4000441C C FIELD 08w01 LBDF (ro): LIN break detection flag This bit is set by hardware when the LIN break is detected. It is cleared by software, by writing 1 to the LBDCF in the USART_ICR. An interrupt is generated if LBDIE = 1 in the USART_CR2 register. Note: If the USART does not support LIN mode, this bit is reserved and kept at reset value. Refer to .
0x4000441C C FIELD 09w01 CTSIF (ro): CTS interrupt flag This bit is set by hardware when the nCTS input toggles, if the CTSE bit is set. It is cleared by software, by writing 1 to the CTSCF bit in the USART_ICR register. An interrupt is generated if CTSIE=1 in the USART_CR3 register. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value.
0x4000441C C FIELD 10w01 CTS (ro): CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the nCTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value.
0x4000441C C FIELD 11w01 RTOF (ro): Receiver timeout This bit is set by hardware when the timeout value, programmed in the RTOR register has lapsed, without any communication. It is cleared by software, writing 1 to the RTOCF bit in the USART_ICR register. An interrupt is generated if RTOIE=1 in the USART_CR2 register. In Smartcard mode, the timeout corresponds to the CWT or BWT timings. Note: If a time equal to the value programmed in RTOR register separates 2 characters, RTOF is not set. If this time exceeds this value + 2 sample times (2/16 or 2/8, depending on the oversampling method), RTOF flag is set. The counter counts even if RE = 0 but RTOF is set only when RE = 1. If the timeout has already elapsed when RE is set, then RTOF is set. If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value.
0x4000441C C FIELD 12w01 EOBF (ro): End of block flag This bit is set by hardware when a complete block has been received (for example T=1 Smartcard mode). The detection is done when the number of received bytes (from the start of the block, including the prologue) is equal or greater than BLEN + 4. An interrupt is generated if the EOBIE=1 in the USART_CR2 register. It is cleared by software, writing 1 to the EOBCF in the USART_ICR register. Note: If Smartcard mode is not supported, this bit is reserved and kept at reset value. Refer to .
0x4000441C C FIELD 13w01 UDR (ro): SPI slave underrun error flag In slave transmission mode, this flag is set when the first clock pulse for data transmission appears while the software has not yet loaded any value into USART_TDR. This flag is reset by setting UDRCF bit in the USART_ICR register. Note: If the USART does not support the SPI slave mode, this bit is reserved and kept at reset value. Refer to .
0x4000441C C FIELD 14w01 ABRE (ro): Auto baud rate error This bit is set by hardware if the baud rate measurement failed (baud rate out of range or character comparison failed) It is cleared by software, by writing 1 to the ABRRQ bit in the USART_CR3 register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value.
0x4000441C C FIELD 15w01 ABRF (ro): Auto baud rate flag This bit is set by hardware when the automatic baud rate has been set (RXFNE is also set, generating an interrupt if RXFNEIE = 1) or when the auto baud rate operation was completed without success (ABRE=1) (ABRE, RXFNE and FE are also set in this case) It is cleared by software, in order to request a new auto baud rate detection, by writing 1 to the ABRRQ in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value.
0x4000441C C FIELD 16w01 BUSY (ro): Busy flag This bit is set and reset by hardware. It is active when a communication is ongoing on the RX line (successful start bit detected). It is reset at the end of the reception (successful or not).
0x4000441C C FIELD 17w01 CMF (ro): Character match flag This bit is set by hardware, when a the character defined by ADD[7:0] is received. It is cleared by software, writing 1 to the CMCF in the USART_ICR register. An interrupt is generated if CMIE=1in the USART_CR1 register.
0x4000441C C FIELD 18w01 SBKF (ro): Send break flag This bit indicates that a send break character was requested. It is set by software, by writing 1 to the SBKRQ bit in the USART_CR3 register. It is automatically reset by hardware during the stop bit of break transmission.
0x4000441C C FIELD 19w01 RWU (ro): Receiver wakeup from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wakeup/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wakeup on IDLE mode is selected, this bit can only be set by software, writing 1 to the MMRQ bit in the USART_RQR register. Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to .
0x4000441C C FIELD 20w01 WUF (ro): Wakeup from low-power mode flag This bit is set by hardware, when a wakeup event is detected. The event is defined by the WUS bitfield. It is cleared by software, writing a 1 to the WUCF in the USART_ICR register. An interrupt is generated if WUFIE=1 in the USART_CR3 register. Note: When UESM is cleared, WUF flag is also cleared. If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to .
0x4000441C C FIELD 21w01 TEACK (ro): Transmit enable acknowledge flag This bit is set/reset by hardware, when the Transmit Enable value is taken into account by the USART. It can be used when an idle frame request is generated by writing TE=0, followed by TE=1 in the USART_CR1 register, in order to respect the TE=0 minimum period.
0x4000441C C FIELD 22w01 REACK (ro): Receive enable acknowledge flag This bit is set/reset by hardware, when the Receive Enable value is taken into account by the USART. It can be used to verify that the USART is ready for reception before entering low-power mode. Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to .
0x4000441C C FIELD 23w01 TXFE (ro): TXFIFO empty This bit is set by hardware when TXFIFO is empty. When the TXFIFO contains at least one data, this flag is cleared. The TXFE flag can also be set by writing 1 to the bit TXFRQ (bit 4) in the USART_RQR register. An interrupt is generated if the TXFEIE bit =1 (bit 30) in the USART_CR1 register.
0x4000441C C FIELD 24w01 RXFF (ro): RXFIFO full This bit is set by hardware when the number of received data corresponds to RXFIFOsize+1 (RXFIFO full + 1 data in the USART_RDR register. An interrupt is generated if the RXFFIE bit =1 in the USART_CR1 register.
0x4000441C C FIELD 25w01 TCBGT (ro): Transmission complete before guard time flag This bit is set when the last data written in the USART_TDR has been transmitted correctly out of the shift register. It is set by hardware in Smartcard mode, if the transmission of a frame containing data is complete and if the smartcard did not send back any NACK. An interrupt is generated if TCBGTIE=1 in the USART_CR3 register. This bit is cleared by software, by writing 1 to the TCBGTCF in the USART_ICR register or by a write to the USART_TDR register. Note: If the USART does not support the Smartcard mode, this bit is reserved and kept at reset value. If the USART supports the Smartcard mode and the Smartcard mode is enabled, the TCBGT reset value is '1'. Refer to on page835.
0x4000441C C FIELD 26w01 RXFT (ro): RXFIFO threshold flag This bit is set by hardware when the threshold programmed in RXFTCFG in USART_CR3 register is reached. This means that there are (RXFTCFG - 1) data in the Receive FIFO and one data in the USART_RDR register. An interrupt is generated if the RXFTIE bit =1 (bit 27) in the USART_CR3 register. Note: When the RXFTCFG threshold is configured to '101', RXFT flag is set if 16 data are available i.e. 15 data in the RXFIFO and 1 data in the USART_RDR. Consequently, the 17th received data does not cause an overrun error. The overrun error occurs after receiving the 18th data.
0x4000441C C FIELD 27w01 TXFT (ro): TXFIFO threshold flag This bit is set by hardware when the TXFIFO reaches the threshold programmed in TXFTCFG of USART_CR3 register i.e. the TXFIFO contains TXFTCFG empty locations. An interrupt is generated if the TXFTIE bit =1 (bit 31) in the USART_CR3 register.
0x40004420 B REGISTER ICR (wo): Interrupt flag clear register
0x40004420 C FIELD 00w01 PECF (wo): Parity error clear flag Writing 1 to this bit clears the PE flag in the USART_ISR register.
0x40004420 C FIELD 01w01 FECF (wo): Framing error clear flag Writing 1 to this bit clears the FE flag in the USART_ISR register.
0x40004420 C FIELD 02w01 NECF (wo): Noise detected clear flag Writing 1 to this bit clears the NE flag in the USART_ISR register.
0x40004420 C FIELD 03w01 ORECF (wo): Overrun error clear flag Writing 1 to this bit clears the ORE flag in the USART_ISR register.
0x40004420 C FIELD 04w01 IDLECF (wo): Idle line detected clear flag Writing 1 to this bit clears the IDLE flag in the USART_ISR register.
0x40004420 C FIELD 05w01 TXFECF (wo): TXFIFO empty clear flag Writing 1 to this bit clears the TXFE flag in the USART_ISR register.
0x40004420 C FIELD 06w01 TCCF (wo): Transmission complete clear flag Writing 1 to this bit clears the TC flag in the USART_ISR register.
0x40004420 C FIELD 07w01 TCBGTCF (wo): Transmission complete before Guard time clear flag Writing 1 to this bit clears the TCBGT flag in the USART_ISR register.
0x40004420 C FIELD 08w01 LBDCF (wo): LIN break detection clear flag Writing 1 to this bit clears the LBDF flag in the USART_ISR register. Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004420 C FIELD 09w01 CTSCF (wo): CTS clear flag Writing 1 to this bit clears the CTSIF flag in the USART_ISR register. Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to .
0x40004420 C FIELD 11w01 RTOCF (wo): Receiver timeout clear flag Writing 1 to this bit clears the RTOF flag in the USART_ISR register. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to page835.
0x40004420 C FIELD 12w01 EOBCF (wo): End of block clear flag Writing 1 to this bit clears the EOBF flag in the USART_ISR register. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to .
0x40004420 C FIELD 13w01 UDRCF (wo): SPI slave underrun clear flag Writing 1 to this bit clears the UDRF flag in the USART_ISR register. Note: If the USART does not support SPI slave mode, this bit is reserved and must be kept at reset value. Refer to
0x40004420 C FIELD 17w01 CMCF (wo): Character match clear flag Writing 1 to this bit clears the CMF flag in the USART_ISR register.
0x40004420 C FIELD 20w01 WUCF (wo): Wakeup from low-power mode clear flag Writing 1 to this bit clears the WUF flag in the USART_ISR register. Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835.
0x40004424 B REGISTER RDR (ro): Receive data register
0x40004424 C FIELD 00w09 RDR: Receive data value
0x40004428 B REGISTER TDR (rw): Transmit data register
0x40004428 C FIELD 00w09 TDR: Transmit data value
0x4000442C B REGISTER PRESC (rw): Prescaler register
0x4000442C C FIELD 00w04 PRESCALER (rw): Clock prescaler The USART input clock can be divided by a prescaler factor: Remaining combinations: Reserved Note: When PRESCALER is programmed with a value different of the allowed ones, programmed prescaler value is 1011 i.e. input clock divided by 256.
0x40005400 A PERIPHERAL I2C1
0x40005400 B REGISTER CR1 (rw): Control register 1
0x40005400 C FIELD 00w01 PE (rw): Peripheral enable Note: When PE=0, the I2C SCL and SDA lines are released. Internal state machines and status bits are put back to their reset value. When cleared, PE must be kept low for at least 3 APB clock cycles.
0x40005400 C FIELD 01w01 TXIE (rw): TX Interrupt enable
0x40005400 C FIELD 02w01 RXIE (rw): RX Interrupt enable
0x40005400 C FIELD 03w01 ADDRIE (rw): Address match Interrupt enable (slave only)
0x40005400 C FIELD 04w01 NACKIE (rw): Not acknowledge received Interrupt enable
0x40005400 C FIELD 05w01 STOPIE (rw): Stop detection Interrupt enable
0x40005400 C FIELD 06w01 TCIE (rw): Transfer Complete interrupt enable Note: Any of these events generate an interrupt: Transfer Complete (TC) Transfer Complete Reload (TCR)
0x40005400 C FIELD 07w01 ERRIE (rw): Error interrupts enable Note: Any of these errors generate an interrupt: Arbitration Loss (ARLO) Bus Error detection (BERR) Overrun/Underrun (OVR) Timeout detection (TIMEOUT) PEC error detection (PECERR) Alert pin event detection (ALERT)
0x40005400 C FIELD 08w04 DNF (rw): Digital noise filter These bits are used to configure the digital noise filter on SDA and SCL input. The digital filter, filters spikes with a length of up to DNF[3:0] * tI2CCLK ... Note: If the analog filter is also enabled, the digital filter is added to the analog filter. This filter can only be programmed when the I2C is disabled (PE = 0).
0x40005400 C FIELD 12w01 ANFOFF (rw): Analog noise filter OFF Note: This bit can only be programmed when the I2C is disabled (PE = 0).
0x40005400 C FIELD 14w01 TXDMAEN (rw): DMA transmission requests enable
0x40005400 C FIELD 15w01 RXDMAEN (rw): DMA reception requests enable
0x40005400 C FIELD 16w01 SBC (rw): Slave byte control This bit is used to enable hardware byte control in slave mode.
0x40005400 C FIELD 17w01 NOSTRETCH (rw): Clock stretching disable This bit is used to disable clock stretching in slave mode. It must be kept cleared in master mode. Note: This bit can only be programmed when the I2C is disabled (PE = 0).
0x40005400 C FIELD 18w01 WUPEN (rw): Wakeup from Stop mode enable Note: If the Wakeup from Stop mode feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to . Note: WUPEN can be set only when DNF = '0000'
0x40005400 C FIELD 19w01 GCEN (rw): General call enable
0x40005400 C FIELD 20w01 SMBHEN (rw): SMBus Host Address enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to .
0x40005400 C FIELD 21w01 SMBDEN (rw): SMBus Device Default Address enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to .
0x40005400 C FIELD 22w01 ALERTEN (rw): SMBus alert enable Note: When ALERTEN=0, the SMBA pin can be used as a standard GPIO. If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to .
0x40005400 C FIELD 23w01 PECEN (rw): PEC enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to .
0x40005404 B REGISTER CR2 (rw): Control register 2
0x40005404 C FIELD 00w10 SADD (rw): Slave address (master mode) In 7-bit addressing mode (ADD10 = 0): SADD[7:1] should be written with the 7-bit slave address to be sent. The bits SADD[9], SADD[8] and SADD[0] are don't care. In 10-bit addressing mode (ADD10 = 1): SADD[9:0] should be written with the 10-bit slave address to be sent. Note: Changing these bits when the START bit is set is not allowed.
0x40005404 C FIELD 10w01 RD_WRN (rw): Transfer direction (master mode) Note: Changing this bit when the START bit is set is not allowed.
0x40005404 C FIELD 11w01 ADD10 (rw): 10-bit addressing mode (master mode) Note: Changing this bit when the START bit is set is not allowed.
0x40005404 C FIELD 12w01 HEAD10R (rw): 10-bit address header only read direction (master receiver mode) Note: Changing this bit when the START bit is set is not allowed.
0x40005404 C FIELD 13w01 START (rw): Start generation This bit is set by software, and cleared by hardware after the Start followed by the address sequence is sent, by an arbitration loss, by a timeout error detection, or when PE = 0. It can also be cleared by software by writing '1' to the ADDRCF bit in the I2C_ICR register. If the I2C is already in master mode with AUTOEND = 0, setting this bit generates a Repeated Start condition when RELOAD=0, after the end of the NBYTES transfer. Otherwise setting this bit generates a START condition once the bus is free. Note: Writing '0' to this bit has no effect. The START bit can be set even if the bus is BUSY or I2C is in slave mode. This bit has no effect when RELOAD is set.
0x40005404 C FIELD 14w01 STOP (rw): Stop generation (master mode) The bit is set by software, cleared by hardware when a STOP condition is detected, or when PE = 0. In Master Mode: Note: Writing '0' to this bit has no effect.
0x40005404 C FIELD 15w01 NACK (rw): NACK generation (slave mode) The bit is set by software, cleared by hardware when the NACK is sent, or when a STOP condition or an Address matched is received, or when PE=0. Note: Writing '0' to this bit has no effect. This bit is used in slave mode only: in master receiver mode, NACK is automatically generated after last byte preceding STOP or RESTART condition, whatever the NACK bit value. When an overrun occurs in slave receiver NOSTRETCH mode, a NACK is automatically generated whatever the NACK bit value. When hardware PEC checking is enabled (PECBYTE=1), the PEC acknowledge value does not depend on the NACK value.
0x40005404 C FIELD 16w08 NBYTES (rw): Number of bytes The number of bytes to be transmitted/received is programmed there. This field is don't care in slave mode with SBC=0. Note: Changing these bits when the START bit is set is not allowed.
0x40005404 C FIELD 24w01 RELOAD (rw): NBYTES reload mode This bit is set and cleared by software.
0x40005404 C FIELD 25w01 AUTOEND (rw): Automatic end mode (master mode) This bit is set and cleared by software. Note: This bit has no effect in slave mode or when the RELOAD bit is set.
0x40005404 C FIELD 26w01 PECBYTE (rw): Packet error checking byte This bit is set by software, and cleared by hardware when the PEC is transferred, or when a STOP condition or an Address matched is received, also when PE=0. Note: Writing '0' to this bit has no effect. This bit has no effect when RELOAD is set. This bit has no effect is slave mode when SBC=0. If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to .
0x40005408 B REGISTER OAR1 (rw): Own address register 1
0x40005408 C FIELD 00w10 OA1 (rw): Interface own slave address 7-bit addressing mode: OA1[7:1] contains the 7-bit own slave address. The bits OA1[9], OA1[8] and OA1[0] are don't care. 10-bit addressing mode: OA1[9:0] contains the 10-bit own slave address. Note: These bits can be written only when OA1EN=0.
0x40005408 C FIELD 10w01 OA1MODE (rw): Own Address 1 10-bit mode Note: This bit can be written only when OA1EN=0.
0x40005408 C FIELD 15w01 OA1EN (rw): Own Address 1 enable
0x4000540C B REGISTER OAR2 (rw): Own address register 2
0x4000540C C FIELD 01w07 OA2 (rw): Interface address 7-bit addressing mode: 7-bit address Note: These bits can be written only when OA2EN=0.
0x4000540C C FIELD 08w03 OA2MSK (rw): Own Address 2 masks Note: These bits can be written only when OA2EN=0. As soon as OA2MSK is not equal to 0, the reserved I2C addresses (0b0000xxx and 0b1111xxx) are not acknowledged even if the comparison matches.
0x4000540C C FIELD 15w01 OA2EN (rw): Own Address 2 enable
0x40005410 B REGISTER TIMINGR (rw): Timing register
0x40005410 C FIELD 00w08 SCLL: SCL low period (master mode)
0x40005410 C FIELD 08w08 SCLH: SCL high period (master mode)
0x40005410 C FIELD 16w04 SDADEL: Data hold time
0x40005410 C FIELD 20w04 SCLDEL: Data setup time
0x40005410 C FIELD 28w04 PRESC: Timing prescaler
0x40005414 B REGISTER TIMEOUTR (rw): Status register 1
0x40005414 C FIELD 00w12 TIMEOUTA (rw): Bus Timeout A This field is used to configure: The SCL low timeout condition tTIMEOUT when TIDLE=0 tTIMEOUT= (TIMEOUTA+1) x 2048 x tI2CCLK The bus idle condition (both SCL and SDA high) when TIDLE=1 tIDLE= (TIMEOUTA+1) x 4 x tI2CCLK Note: These bits can be written only when TIMOUTEN=0.
0x40005414 C FIELD 12w01 TIDLE (rw): Idle clock timeout detection Note: This bit can be written only when TIMOUTEN=0.
0x40005414 C FIELD 15w01 TIMOUTEN (rw): Clock timeout enable
0x40005414 C FIELD 16w12 TIMEOUTB (rw): Bus timeout B This field is used to configure the cumulative clock extension timeout: In master mode, the master cumulative clock low extend time (tLOW:MEXT) is detected In slave mode, the slave cumulative clock low extend time (tLOW:SEXT) is detected tLOW:EXT= (TIMEOUTB+1) x 2048 x tI2CCLK Note: These bits can be written only when TEXTEN=0.
0x40005414 C FIELD 31w01 TEXTEN (rw): Extended clock timeout enable
0x40005418 B REGISTER ISR: Interrupt and Status register
0x40005418 C FIELD 00w01 TXE (rw): Transmit data register empty (transmitters)
0x40005418 C FIELD 01w01 TXIS (rw): Transmit interrupt status (transmitters)
0x40005418 C FIELD 02w01 RXNE (ro): Receive data register not empty (receivers)
0x40005418 C FIELD 03w01 ADDR (ro): Address matched (slave mode)
0x40005418 C FIELD 04w01 NACKF (ro): Not acknowledge received flag
0x40005418 C FIELD 05w01 STOPF (ro): Stop detection flag
0x40005418 C FIELD 06w01 TC (ro): Transfer Complete (master mode)
0x40005418 C FIELD 07w01 TCR (ro): Transfer Complete Reload
0x40005418 C FIELD 08w01 BERR (ro): Bus error
0x40005418 C FIELD 09w01 ARLO (ro): Arbitration lost
0x40005418 C FIELD 10w01 OVR (ro): Overrun/Underrun (slave mode)
0x40005418 C FIELD 11w01 PECERR (ro): PEC Error in reception
0x40005418 C FIELD 12w01 TIMEOUT (ro): Timeout or t_low detection flag
0x40005418 C FIELD 13w01 ALERT (ro): SMBus alert
0x40005418 C FIELD 15w01 BUSY (ro): Bus busy
0x40005418 C FIELD 16w01 DIR (ro): Transfer direction (Slave mode) This flag is updated when an address match event occurs (ADDR=1).
0x40005418 C FIELD 17w07 ADDCODE (ro): Address match code (Slave mode)
0x4000541C B REGISTER ICR (wo): Interrupt clear register
0x4000541C C FIELD 03w01 ADDRCF: Address Matched flag clear
0x4000541C C FIELD 04w01 NACKCF: Not Acknowledge flag clear
0x4000541C C FIELD 05w01 STOPCF: Stop detection flag clear
0x4000541C C FIELD 08w01 BERRCF: Bus error flag clear
0x4000541C C FIELD 09w01 ARLOCF: Arbitration lost flag clear
0x4000541C C FIELD 10w01 OVRCF: Overrun/Underrun flag clear
0x4000541C C FIELD 11w01 PECCF: PEC Error flag clear
0x4000541C C FIELD 12w01 TIMOUTCF: Timeout detection flag clear
0x4000541C C FIELD 13w01 ALERTCF: Alert flag clear
0x40005420 B REGISTER PECR (ro): PEC register
0x40005420 C FIELD 00w08 PEC: Packet error checking register
0x40005424 B REGISTER RXDR (ro): Receive data register
0x40005424 C FIELD 00w08 RXDATA: 8-bit receive data
0x40005428 B REGISTER TXDR (rw): Transmit data register
0x40005428 C FIELD 00w08 TXDATA: 8-bit transmit data
0x40005800 A PERIPHERAL I2C2
0x40005800 B REGISTER CR1 (rw): Control register 1
0x40005800 C FIELD 00w01 PE (rw): Peripheral enable Note: When PE=0, the I2C SCL and SDA lines are released. Internal state machines and status bits are put back to their reset value. When cleared, PE must be kept low for at least 3 APB clock cycles.
0x40005800 C FIELD 01w01 TXIE (rw): TX Interrupt enable
0x40005800 C FIELD 02w01 RXIE (rw): RX Interrupt enable
0x40005800 C FIELD 03w01 ADDRIE (rw): Address match Interrupt enable (slave only)
0x40005800 C FIELD 04w01 NACKIE (rw): Not acknowledge received Interrupt enable
0x40005800 C FIELD 05w01 STOPIE (rw): Stop detection Interrupt enable
0x40005800 C FIELD 06w01 TCIE (rw): Transfer Complete interrupt enable Note: Any of these events generate an interrupt: Transfer Complete (TC) Transfer Complete Reload (TCR)
0x40005800 C FIELD 07w01 ERRIE (rw): Error interrupts enable Note: Any of these errors generate an interrupt: Arbitration Loss (ARLO) Bus Error detection (BERR) Overrun/Underrun (OVR) Timeout detection (TIMEOUT) PEC error detection (PECERR) Alert pin event detection (ALERT)
0x40005800 C FIELD 08w04 DNF (rw): Digital noise filter These bits are used to configure the digital noise filter on SDA and SCL input. The digital filter, filters spikes with a length of up to DNF[3:0] * tI2CCLK ... Note: If the analog filter is also enabled, the digital filter is added to the analog filter. This filter can only be programmed when the I2C is disabled (PE = 0).
0x40005800 C FIELD 12w01 ANFOFF (rw): Analog noise filter OFF Note: This bit can only be programmed when the I2C is disabled (PE = 0).
0x40005800 C FIELD 14w01 TXDMAEN (rw): DMA transmission requests enable
0x40005800 C FIELD 15w01 RXDMAEN (rw): DMA reception requests enable
0x40005800 C FIELD 16w01 SBC (rw): Slave byte control This bit is used to enable hardware byte control in slave mode.
0x40005800 C FIELD 17w01 NOSTRETCH (rw): Clock stretching disable This bit is used to disable clock stretching in slave mode. It must be kept cleared in master mode. Note: This bit can only be programmed when the I2C is disabled (PE = 0).
0x40005800 C FIELD 18w01 WUPEN (rw): Wakeup from Stop mode enable Note: If the Wakeup from Stop mode feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to . Note: WUPEN can be set only when DNF = '0000'
0x40005800 C FIELD 19w01 GCEN (rw): General call enable
0x40005800 C FIELD 20w01 SMBHEN (rw): SMBus Host Address enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to .
0x40005800 C FIELD 21w01 SMBDEN (rw): SMBus Device Default Address enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to .
0x40005800 C FIELD 22w01 ALERTEN (rw): SMBus alert enable Note: When ALERTEN=0, the SMBA pin can be used as a standard GPIO. If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to .
0x40005800 C FIELD 23w01 PECEN (rw): PEC enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to .
0x40005804 B REGISTER CR2 (rw): Control register 2
0x40005804 C FIELD 00w10 SADD (rw): Slave address (master mode) In 7-bit addressing mode (ADD10 = 0): SADD[7:1] should be written with the 7-bit slave address to be sent. The bits SADD[9], SADD[8] and SADD[0] are don't care. In 10-bit addressing mode (ADD10 = 1): SADD[9:0] should be written with the 10-bit slave address to be sent. Note: Changing these bits when the START bit is set is not allowed.
0x40005804 C FIELD 10w01 RD_WRN (rw): Transfer direction (master mode) Note: Changing this bit when the START bit is set is not allowed.
0x40005804 C FIELD 11w01 ADD10 (rw): 10-bit addressing mode (master mode) Note: Changing this bit when the START bit is set is not allowed.
0x40005804 C FIELD 12w01 HEAD10R (rw): 10-bit address header only read direction (master receiver mode) Note: Changing this bit when the START bit is set is not allowed.
0x40005804 C FIELD 13w01 START (rw): Start generation This bit is set by software, and cleared by hardware after the Start followed by the address sequence is sent, by an arbitration loss, by a timeout error detection, or when PE = 0. It can also be cleared by software by writing '1' to the ADDRCF bit in the I2C_ICR register. If the I2C is already in master mode with AUTOEND = 0, setting this bit generates a Repeated Start condition when RELOAD=0, after the end of the NBYTES transfer. Otherwise setting this bit generates a START condition once the bus is free. Note: Writing '0' to this bit has no effect. The START bit can be set even if the bus is BUSY or I2C is in slave mode. This bit has no effect when RELOAD is set.
0x40005804 C FIELD 14w01 STOP (rw): Stop generation (master mode) The bit is set by software, cleared by hardware when a STOP condition is detected, or when PE = 0. In Master Mode: Note: Writing '0' to this bit has no effect.
0x40005804 C FIELD 15w01 NACK (rw): NACK generation (slave mode) The bit is set by software, cleared by hardware when the NACK is sent, or when a STOP condition or an Address matched is received, or when PE=0. Note: Writing '0' to this bit has no effect. This bit is used in slave mode only: in master receiver mode, NACK is automatically generated after last byte preceding STOP or RESTART condition, whatever the NACK bit value. When an overrun occurs in slave receiver NOSTRETCH mode, a NACK is automatically generated whatever the NACK bit value. When hardware PEC checking is enabled (PECBYTE=1), the PEC acknowledge value does not depend on the NACK value.
0x40005804 C FIELD 16w08 NBYTES (rw): Number of bytes The number of bytes to be transmitted/received is programmed there. This field is don't care in slave mode with SBC=0. Note: Changing these bits when the START bit is set is not allowed.
0x40005804 C FIELD 24w01 RELOAD (rw): NBYTES reload mode This bit is set and cleared by software.
0x40005804 C FIELD 25w01 AUTOEND (rw): Automatic end mode (master mode) This bit is set and cleared by software. Note: This bit has no effect in slave mode or when the RELOAD bit is set.
0x40005804 C FIELD 26w01 PECBYTE (rw): Packet error checking byte This bit is set by software, and cleared by hardware when the PEC is transferred, or when a STOP condition or an Address matched is received, also when PE=0. Note: Writing '0' to this bit has no effect. This bit has no effect when RELOAD is set. This bit has no effect is slave mode when SBC=0. If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to .
0x40005808 B REGISTER OAR1 (rw): Own address register 1
0x40005808 C FIELD 00w10 OA1 (rw): Interface own slave address 7-bit addressing mode: OA1[7:1] contains the 7-bit own slave address. The bits OA1[9], OA1[8] and OA1[0] are don't care. 10-bit addressing mode: OA1[9:0] contains the 10-bit own slave address. Note: These bits can be written only when OA1EN=0.
0x40005808 C FIELD 10w01 OA1MODE (rw): Own Address 1 10-bit mode Note: This bit can be written only when OA1EN=0.
0x40005808 C FIELD 15w01 OA1EN (rw): Own Address 1 enable
0x4000580C B REGISTER OAR2 (rw): Own address register 2
0x4000580C C FIELD 01w07 OA2 (rw): Interface address 7-bit addressing mode: 7-bit address Note: These bits can be written only when OA2EN=0.
0x4000580C C FIELD 08w03 OA2MSK (rw): Own Address 2 masks Note: These bits can be written only when OA2EN=0. As soon as OA2MSK is not equal to 0, the reserved I2C addresses (0b0000xxx and 0b1111xxx) are not acknowledged even if the comparison matches.
0x4000580C C FIELD 15w01 OA2EN (rw): Own Address 2 enable
0x40005810 B REGISTER TIMINGR (rw): Timing register
0x40005810 C FIELD 00w08 SCLL: SCL low period (master mode)
0x40005810 C FIELD 08w08 SCLH: SCL high period (master mode)
0x40005810 C FIELD 16w04 SDADEL: Data hold time
0x40005810 C FIELD 20w04 SCLDEL: Data setup time
0x40005810 C FIELD 28w04 PRESC: Timing prescaler
0x40005814 B REGISTER TIMEOUTR (rw): Status register 1
0x40005814 C FIELD 00w12 TIMEOUTA (rw): Bus Timeout A This field is used to configure: The SCL low timeout condition tTIMEOUT when TIDLE=0 tTIMEOUT= (TIMEOUTA+1) x 2048 x tI2CCLK The bus idle condition (both SCL and SDA high) when TIDLE=1 tIDLE= (TIMEOUTA+1) x 4 x tI2CCLK Note: These bits can be written only when TIMOUTEN=0.
0x40005814 C FIELD 12w01 TIDLE (rw): Idle clock timeout detection Note: This bit can be written only when TIMOUTEN=0.
0x40005814 C FIELD 15w01 TIMOUTEN (rw): Clock timeout enable
0x40005814 C FIELD 16w12 TIMEOUTB (rw): Bus timeout B This field is used to configure the cumulative clock extension timeout: In master mode, the master cumulative clock low extend time (tLOW:MEXT) is detected In slave mode, the slave cumulative clock low extend time (tLOW:SEXT) is detected tLOW:EXT= (TIMEOUTB+1) x 2048 x tI2CCLK Note: These bits can be written only when TEXTEN=0.
0x40005814 C FIELD 31w01 TEXTEN (rw): Extended clock timeout enable
0x40005818 B REGISTER ISR: Interrupt and Status register
0x40005818 C FIELD 00w01 TXE (rw): Transmit data register empty (transmitters)
0x40005818 C FIELD 01w01 TXIS (rw): Transmit interrupt status (transmitters)
0x40005818 C FIELD 02w01 RXNE (ro): Receive data register not empty (receivers)
0x40005818 C FIELD 03w01 ADDR (ro): Address matched (slave mode)
0x40005818 C FIELD 04w01 NACKF (ro): Not acknowledge received flag
0x40005818 C FIELD 05w01 STOPF (ro): Stop detection flag
0x40005818 C FIELD 06w01 TC (ro): Transfer Complete (master mode)
0x40005818 C FIELD 07w01 TCR (ro): Transfer Complete Reload
0x40005818 C FIELD 08w01 BERR (ro): Bus error
0x40005818 C FIELD 09w01 ARLO (ro): Arbitration lost
0x40005818 C FIELD 10w01 OVR (ro): Overrun/Underrun (slave mode)
0x40005818 C FIELD 11w01 PECERR (ro): PEC Error in reception
0x40005818 C FIELD 12w01 TIMEOUT (ro): Timeout or t_low detection flag
0x40005818 C FIELD 13w01 ALERT (ro): SMBus alert
0x40005818 C FIELD 15w01 BUSY (ro): Bus busy
0x40005818 C FIELD 16w01 DIR (ro): Transfer direction (Slave mode) This flag is updated when an address match event occurs (ADDR=1).
0x40005818 C FIELD 17w07 ADDCODE (ro): Address match code (Slave mode)
0x4000581C B REGISTER ICR (wo): Interrupt clear register
0x4000581C C FIELD 03w01 ADDRCF: Address Matched flag clear
0x4000581C C FIELD 04w01 NACKCF: Not Acknowledge flag clear
0x4000581C C FIELD 05w01 STOPCF: Stop detection flag clear
0x4000581C C FIELD 08w01 BERRCF: Bus error flag clear
0x4000581C C FIELD 09w01 ARLOCF: Arbitration lost flag clear
0x4000581C C FIELD 10w01 OVRCF: Overrun/Underrun flag clear
0x4000581C C FIELD 11w01 PECCF: PEC Error flag clear
0x4000581C C FIELD 12w01 TIMOUTCF: Timeout detection flag clear
0x4000581C C FIELD 13w01 ALERTCF: Alert flag clear
0x40005820 B REGISTER PECR (ro): PEC register
0x40005820 C FIELD 00w08 PEC: Packet error checking register
0x40005824 B REGISTER RXDR (ro): Receive data register
0x40005824 C FIELD 00w08 RXDATA: 8-bit receive data
0x40005828 B REGISTER TXDR (rw): Transmit data register
0x40005828 C FIELD 00w08 TXDATA: 8-bit transmit data
0x40007000 A PERIPHERAL PWR
0x40007000 B REGISTER CR1 (rw): Power control register 1
0x40007000 C FIELD 00w03 LPMS: Low-power mode selection
0x40007000 C FIELD 03w01 FPD_STOP: Flash memory powered down during Stop mode
0x40007000 C FIELD 04w01 FPD_LPRUN: Flash memory powered down during Low-power run mode
0x40007000 C FIELD 05w01 FPD_LPSLP: Flash memory powered down during Low-power sleep mode
0x40007000 C FIELD 08w01 DBP: Disable backup domain write protection
0x40007000 C FIELD 09w02 VOS: Voltage scaling range selection
0x40007000 C FIELD 14w01 LPR: Low-power run
0x40007004 B REGISTER CR2 (rw): Power control register 2
0x40007004 C FIELD 00w01 PVDE: Power voltage detector enable
0x40007004 C FIELD 01w03 PVDFT: Power voltage detector falling threshold selection
0x40007004 C FIELD 04w03 PVDRT: Power voltage detector rising threshold selection
0x40007004 C FIELD 07w01 PVMENDAC: PVMENDAC
0x40007004 C FIELD 08w01 PVMENUSB: PVMENUSB
0x40007004 C FIELD 09w01 IOSV: IOSV
0x40007004 C FIELD 10w01 USV: USV
0x40007008 B REGISTER CR3 (rw): Power control register 3
0x40007008 C FIELD 00w01 EWUP1: Enable Wakeup pin WKUP1
0x40007008 C FIELD 01w01 EWUP2: Enable Wakeup pin WKUP2
0x40007008 C FIELD 02w01 EWUP3: Enable Wakeup pin WKUP3
0x40007008 C FIELD 03w01 EWUP4: Enable Wakeup pin WKUP4
0x40007008 C FIELD 04w01 EWUP5: Enable WKUP5 wakeup pin
0x40007008 C FIELD 05w01 EWUP6: Enable WKUP6 wakeup pin
0x40007008 C FIELD 08w01 RRS: SRAM retention in Standby mode
0x40007008 C FIELD 09w01 ENB_ULP: Ultra-low-power enable
0x40007008 C FIELD 10w01 APC: Apply pull-up and pull-down configuration
0x40007008 C FIELD 15w01 EIWUL: Enable internal wakeup line
0x4000700C B REGISTER CR4 (rw): Power control register 4
0x4000700C C FIELD 00w01 WP1: Wakeup pin WKUP1 polarity
0x4000700C C FIELD 01w01 WP2: Wakeup pin WKUP2 polarity
0x4000700C C FIELD 02w01 WP3: Wakeup pin WKUP3 polarity
0x4000700C C FIELD 03w01 WP4: Wakeup pin WKUP4 polarity
0x4000700C C FIELD 04w01 WP5: Wakeup pin WKUP5 polarity
0x4000700C C FIELD 05w01 WP6: WKUP6 wakeup pin polarity
0x4000700C C FIELD 08w01 VBE: VBAT battery charging enable
0x4000700C C FIELD 09w01 VBRS: VBAT battery charging resistor selection
0x40007010 B REGISTER SR1 (ro): Power status register 1
0x40007010 C FIELD 00w01 WUF1: Wakeup flag 1
0x40007010 C FIELD 01w01 WUF2: Wakeup flag 2
0x40007010 C FIELD 02w01 WUF3: Wakeup flag 3
0x40007010 C FIELD 03w01 WUF4: Wakeup flag 4
0x40007010 C FIELD 04w01 WUF5: Wakeup flag 5
0x40007010 C FIELD 05w01 WUF6: Wakeup flag 6
0x40007010 C FIELD 08w01 SBF: Standby flag
0x40007010 C FIELD 15w01 WUFI: Wakeup flag internal
0x40007014 B REGISTER SR2 (ro): Power status register 2
0x40007014 C FIELD 07w01 FLASH_RDY: Flash ready flag
0x40007014 C FIELD 08w01 REGLPS: Low-power regulator started
0x40007014 C FIELD 09w01 REGLPF: Low-power regulator flag
0x40007014 C FIELD 10w01 VOSF: Voltage scaling flag
0x40007014 C FIELD 11w01 PVDO: Power voltage detector output
0x40007014 C FIELD 12w01 PVMOUSB: USB supply voltage monitoring output flag
0x40007014 C FIELD 15w01 PVMODAC: VDDA monitoring output flag
0x40007018 B REGISTER SCR (wo): Power status clear register
0x40007018 C FIELD 00w01 CWUF1: Clear wakeup flag 1
0x40007018 C FIELD 01w01 CWUF2: Clear wakeup flag 2
0x40007018 C FIELD 02w01 CWUF3: Clear wakeup flag 3
0x40007018 C FIELD 03w01 CWUF4: Clear wakeup flag 4
0x40007018 C FIELD 04w01 CWUF5: Clear wakeup flag 5
0x40007018 C FIELD 05w01 CWUF6: Clear wakeup flag 6
0x40007018 C FIELD 08w01 CSBF: Clear standby flag
0x40007020 B REGISTER PUCRA (rw): Power Port A pull-up control register
0x40007020 C FIELD 00w01 PU0: Port A pull-up bit y (y=0..15)
0x40007020 C FIELD 01w01 PU1: Port A pull-up bit y (y=0..15)
0x40007020 C FIELD 02w01 PU2: Port A pull-up bit y (y=0..15)
0x40007020 C FIELD 03w01 PU3: Port A pull-up bit y (y=0..15)
0x40007020 C FIELD 04w01 PU4: Port A pull-up bit y (y=0..15)
0x40007020 C FIELD 05w01 PU5: Port A pull-up bit y (y=0..15)
0x40007020 C FIELD 06w01 PU6: Port A pull-up bit y (y=0..15)
0x40007020 C FIELD 07w01 PU7: Port A pull-up bit y (y=0..15)
0x40007020 C FIELD 08w01 PU8: Port A pull-up bit y (y=0..15)
0x40007020 C FIELD 09w01 PU9: Port A pull-up bit y (y=0..15)
0x40007020 C FIELD 10w01 PU10: Port A pull-up bit y (y=0..15)
0x40007020 C FIELD 11w01 PU11: Port A pull-up bit y (y=0..15)
0x40007020 C FIELD 12w01 PU12: Port A pull-up bit y (y=0..15)
0x40007020 C FIELD 13w01 PU13: Port A pull-up bit y (y=0..15)
0x40007020 C FIELD 14w01 PU14: Port A pull-up bit y (y=0..15)
0x40007020 C FIELD 15w01 PU15: Port A pull-up bit y (y=0..15)
0x40007024 B REGISTER PDCRA (rw): Power Port A pull-down control register
0x40007024 C FIELD 00w01 PD0: Port A pull-down bit y (y=0..15)
0x40007024 C FIELD 01w01 PD1: Port A pull-down bit y (y=0..15)
0x40007024 C FIELD 02w01 PD2: Port A pull-down bit y (y=0..15)
0x40007024 C FIELD 03w01 PD3: Port A pull-down bit y (y=0..15)
0x40007024 C FIELD 04w01 PD4: Port A pull-down bit y (y=0..15)
0x40007024 C FIELD 05w01 PD5: Port A pull-down bit y (y=0..15)
0x40007024 C FIELD 06w01 PD6: Port A pull-down bit y (y=0..15)
0x40007024 C FIELD 07w01 PD7: Port A pull-down bit y (y=0..15)
0x40007024 C FIELD 08w01 PD8: Port A pull-down bit y (y=0..15)
0x40007024 C FIELD 09w01 PD9: Port A pull-down bit y (y=0..15)
0x40007024 C FIELD 10w01 PD10: Port A pull-down bit y (y=0..15)
0x40007024 C FIELD 11w01 PD11: Port A pull-down bit y (y=0..15)
0x40007024 C FIELD 12w01 PD12: Port A pull-down bit y (y=0..15)
0x40007024 C FIELD 13w01 PD13: Port A pull-down bit y (y=0..15)
0x40007024 C FIELD 14w01 PD14: Port A pull-down bit y (y=0..15)
0x40007024 C FIELD 15w01 PD15: Port A pull-down bit y (y=0..15)
0x40007028 B REGISTER PUCRB (rw): Power Port B pull-up control register
0x40007028 C FIELD 00w01 PU0: Port B pull-up bit y (y=0..15)