Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование встроенных приложений STM23F10xxx_Keil_uVision-4

.pdf
Скачиваний:
32
Добавлен:
06.01.2021
Размер:
2.41 Mб
Скачать

СПБГУАП группа 4736 / https://new.guap.ru

6 # $ $# $>% > + >, ] F =$ =$

$+$ ] / $ $ ) 7 )$ F + $= OCxRF (“$ ”).

 

‰ >

7

 

 

OCxCE

Q 3 ">" " "> " & ETR

 

0: ( &4 & ETR " ) 3 "! & &! " OCxREF

 

1: ! ETRF ' & ! &4 & & OCxREF

OCxM[2:0]

% 4 "2 ( & "

 

000: Frozen (3 ( 2"). T " " " ' 3 !&.

 

001: & " (TIMx_CNT==TIMx_CCR ) OCxREF &! "!& "1".

 

010: & " (TIMx_CNT==TIMx_CCR ) OCxREF &! "!& "0".

 

011: & " (TIMx_CNT==TIMx_CCR ) OCxREF " ! "!&.

 

100: !" &! ) " )! OCxREF="0".

 

101: !" &! ) )! OCxREF="1".

 

110: PWM-1 (n\--1) - TIMx_CNT<TIMx_CCRx - " )! " & &! "

 

(OCxREF= 0), ' TIMx_CNT>TIMx_CCRx - )! " & &! " (OCxREF= 1).

 

111: PWM-2 (n\--2) - TIMx_CNT>TIMx_CCRx - " )! " & &! "

 

(OCxREF= 0), ' TIMx_CNT<TIMx_CCRx - )! " & &! " (OCxREF= 1).

 

: 1: C! 4 ! 2 4 ! &) &! ) "2 (

 

& " (CC1S= 00) ) 1" 4 ) ) (LOCK " &! "

 

TIMx_BDTR).

 

2: % "2 ( PWM-1 PWM-2 3(" "e OC1xEF ' & !

 

! ) ( (" ! & " ' '" ") 1" 3 & &!

 

Frozen "2 ( PWM-1 (PWM-2).

OCxPE

Q 3 ">" " & ! 3(" " " &! & ".

 

0: 9 ' " " 3(" !

& " 2 ( " " &! & " TIMx->CCR1 (2,3,4).

 

1: * ' &! ( 3(" !

& " 2 ( " " &! & " TIMx->CCR1 (2,3,4).

 

: C! 4 ! 2 4 ! &) &! ) "2 (

 

& " (CC1S= 00) ) 1" 4 ) ) (LOCK " &! "TIMx_BDTR).

27

СПБГУАП группа 4736 / https://new.guap.ru

OCxFE W ! 4 &! &! ' ) (.

0:]4 1 &! '. r.". ' & " & ' " ' "" 3 " &! "

' & ! 1" "3 5 ).

1:V&) " &! ', !.". ' & " & ' " ' "" 3 " &! "

' & ! 1" "3 3 ), ) [! ! "2 ( &! '" ! ), "& ) &) 4 ! "2 (" PWM1 PWM2

{ , 45 (P 8 / 9:

6 # ] F = $= ] $

$# = $>% > + =$ $+$ ] / $ .

‰ >

7

 

 

ICxF[3:0]

b &! ! ! (fSAMPLING ) )- 4 ) (N)

 

0000: W"3 ! fSAMPLING=fDTS, N=1.

 

0001: fSAMPLING=fCK_INT , N=2.

 

 

0010: fSAMPLING=fCK_INT , N=4.

 

 

0011: fSAMPLING=fCK_INT , N=8.

 

 

0100: fSAMPLING=fDTS/2, N=6.

 

 

0101: fSAMPLING=fDTS/2, N=8.

 

 

0110: fSAMPLING=fDTS/4, N=6.

 

 

0111: fSAMPLING=fDTS/4, N=8.

 

 

1000: fSAMPLING=fDTS/8, N=6.

 

 

1001: fSAMPLING=fDTS/8, N=8.

 

 

1010: fSAMPLING=fDTS/16, N=5.

 

 

1011: fSAMPLING=fDTS/16, N=6.

 

 

1100: fSAMPLING=fDTS/16, N=8.

 

 

1101: fSAMPLING=fDTS/32, N=5.

 

 

1110: fSAMPLING=fDTS/32, N=6.

(fDTS $ .TIMx->CR1)

 

1111: fSAMPLING=fDTS/32, N=8.

ICxPSC[1:0]

6)7 = >$) ICx:

 

00: ICxPS=ICx. 01: ICxPS=ICx/2.

10: ICxPS=ICx/4. 11: ICxPS=ICx/8.

TIMx->CCER (O() E (P 8 5 4 9 0 49 ) , ,

/ 9 / ( 1 1-4)

28

СПБГУАП группа 4736 / https://new.guap.ru

 

 

‰ >

7

 

 

 

CCxNP

% 4 ' &! )! " OCxN

 

0: )! "

& ) – “1”.

 

1: )! "

3) – “0”.

 

: C! ! 4 ! 2" 4 ! &) &! ) 4 ! LOCK

 

 

(3 ( )) " &! TIMx_BDTR 4 ! CCxS " &! TIMx_CCMRx (s&

 

 

LOCK != 00 CCxS==000, ! 3(" ! CCxNP " ' &! ().

CCxNE

T &! " OCxN:

 

0: T OC1N ' && ".

 

1: OC1N )! " " & &! " ' )! ( OCxREF ' " " "!& 4 ! (

 

TIMx_BDTR :[MOE, OSSI, OSSR] (" &! “(P !” "("), 4 ! (

 

TIMx_CR2:[OISx, OISxN] (& &! " ' [)&! " ( !) 1") 4 ! (

 

CCxNP – ' &! )! &.

CCxP

Z 3 1" " 4 ! 3 & ! ! "2 ( 4 ! ) 3 ! / & " " ! (":

 

s& ) 3 ! / & " &) ) ) (& " "):

 

0: )! "

& OCx & ) – “1”.

 

1: )! "

& OCx 3) – “0”.

 

: C! ! 4 ! 2" 4 ! &) &! ) 4 ! LOCK

 

 

(3 ( )) " &! TIMx_BDTR.

 

-----------------------------------------------------------------

 

s& ) 3 ! / & " &) ) ) (3 !), ! & &! "

 

[! 4 ! ' " " "! ( (" ! 3 !:

 

0: -

3 ! ' & ! ' ! TIxF.

 

1: -

3 ! ' & ! ' &' TIxF.

CCxE

Z 3 1" " 4 ! 3 & ! ! "2 ( 4 ! ) 3 ! / & " ! (":

 

----------------------------------------------------------------

 

s& ) 3 ! / & " &) ) ) (& " "):

 

0: T OC1 ' && ".

 

1: OC1 )! " " & &! " ' )! ( OCxREF ' " " "!& 4 ! (

 

TIMx_BDTR :[MOE, OSSI, OSSR] (" &! “(P !” "("), 4 ! (

 

TIMx_CR2:[OISx, OISxN] (& &! " ' [)&! " ( !) 1") 4 ! (

 

CCxP – ' &! )! &.

 

-----------------------------------------------------------------

 

s& ) 3 ! / & " &) ) ) (3 !):

 

0: 9 ' "! ! 3 !.

 

 

1: Q 3 "> ! 3 !.

TIMx->CCR1,2,3,4 (O() 4 ( 1)

6 =$ ]$ , # $ $ $ $ $# ) =$ $>% > + TIMx->CNT.

29

СПБГУАП группа 4736 / https://new.guap.ru

u E () T, (0 (,$) 0(,( 1 4, ( (/ ) E/,

( 1, DMA

TIMx->CNT (. T 8()

TIMx->PSC (^ (0 (,$4 0(, (,$ 8()

d$ $ , $F ] $>% > + fCK_CNT = fCK_PSC / (PSC[15:0]+1)

TIMx->ARR (O() -( (/ ) E/ T 8()

TIMx->RCR (O() ()

} >$ = $>% >, )] *$ $=

) ( $ DMA) 7 $>% > - UEV. †$ $ , ,

= =.

30

СПБГУАП группа 4736 / https://new.guap.ru

TIMx->DCR (O() 5 / ) 0 ( 0, 4 58( DMA) $ $ $7$ - 0x0000, 7 ) $) > $ .

ˆ

 

‰ >

 

0

DBA0

W 3 "& DMA

 

 

 

 

 

 

 

2 " &! ! (" (""! & 4 3 "& (" ' ! ! & “ Address

1

DBA1

 

 

offset” – &(" " " "&), ' (": 00000: TIMx_CR1, 00001:

2

DBA2

TIMx_CR2, 00010: TIMx_SMCR !. . (&(. !". ' & " 4

3

DBA3

( ) ) ! ").

 

 

 

 

 

4

DBA4

3 ' &" DMA 3 ' & 1!" " 1 P!& & " &!, 4 3 "&

 

 

) ! ) 3 [! 4 !.

 

 

 

 

 

5-7

-

8

 

 

 

 

 

8

DBL0

< 7 DMA. Š )$ >$ $: +

9

DBL1

# F ] > / % > $ $ DMA ( 00000: 1

10

DBL2

$:, 00001: 2 $:, 00010: 3 $: . .) 8

11

DBL3

$: $ $+ ] DMA (1 7 +, 2

12

DBL4

4 7 +).

 

 

 

 

 

 

 

Ž, , > $# = TIMx_CR2 TIMx_ SMCR

 

 

" 4 ( ) 3 ! 0001 (2 ! &).

 

 

13-15

-

8

 

 

 

 

 

TIMx->DMAR (O() 0 ( 54 ) 0 E DMA)

b$ =$ , ) 7 F$ DMA # ) # $ ,

$= TIMx->DMAR:

TIMx_DMAR=(! @ TIMx_CR1) + TIMx_DBA + TIMx_DBL

^ 8(: ? 6 F < % E TIMx_CR2 TIMx_ SMCR :

( TIMx_CR1)=0;

TIMx_DBA=1;

TIMx_DBL=1;

TIMx_DMAR=0+1+1=2; (0x0002)

u E () ( ( 4 8T ) (8(

TIMx->BDTR (O() 8T )(8() $

$ $7$ - 0x0000, 7 ) $) > $ .

ˆ

‰ >

0

DTG0

<$ % =” (DT).

1

DTG1

DTG[7:5]=0xx => DT=DTG[7:0] / fDTS

2

DTG2

DTG[7:5]=10x => DT=(64+DTG[5:0]) * 2 / fDTS

3

DTG3

DTG[7:5]=110 => DT=(32+DTG[4:0]) * 8 / fDTS

4

DTG4

DTG[7:5]=111 => DT=(32+DTG[4:0]) * 16 / fDTS

5

DTG5

: 1. & " &! ) LOCK-4 ! [! 4 &!

 

 

&! !& " &! '.

6

DTG6

2. fDTS >$ . $ .TIMx->CR1.

7

DTG7

 

8

LOCK0

(.) – F $F ] 7 * ::

9

LOCK1

00: 9 ( ) !) 1".

 

 

01: D " E F 1 = 4 ! DTG, BKE/BKP/AOE " &! "

 

 

TIMx_BDTR 4 ! OISx OISxN " &! " TIMx_CR2.

 

 

10: D " E F 2 = V " 3 () 1 + 4 ! ' &! CC

31

СПБГУАП группа 4736 / https://new.guap.ru

 

 

(CCxP/CCxNP) " &! " TIMx_CCER, 4 ! )

 

 

CCxS " &! TIMx_CCMRx, ! )2" 4 ! OSSR OSSI

 

 

" &! " TIMx_BDTR.

 

 

11: D " E F 3 = V " 3 () 2 + 4 ! OCxM OCxPE

 

 

" &! TIMx_CCMRx.

 

 

: & " &! ) 4 ! LOCK " ( ! 4 !

 

 

3(" " &4 & ) ! ".

10

OSSI

% ) 1" " & &! " “Off-state” "2 (" ' &!.

 

 

0: Q"2 ( “Off-state” " &' 3 "!&.

 

 

1: Q"2 ( “Off-state” ) 1P.. (!.". ) 1P, !&

 

 

' && ( & &!).

11

OSSR

% ) 1" " & &! " “Off-state” "2 (" 3 ' &).

 

 

0: Q"2 ( “Off-state” " &' 3 "!&.

 

 

1: Q"2 ( “Off-state” ) 1P.. (!.". ) 1P, !&

 

 

' && ( & &!).

12

BKE

8 9 + + $ $= BRK

 

 

$]$= $ $) (CSS).

 

 

0: + $ / (7(.

 

 

1: + $ / ('(.

 

 

: x 4 " 3(" " " [! 4 ! &! ' "! &

 

 

1" "3 1 ) 1 &! ! > & 3 APBx.

13

BKP

% 4 ' &! & ' &! ) BRK.

 

 

0: )! " BRK 3) (BRK=”0”).

 

 

1: )! " BRK & ) (BRK=”1”).

 

 

: x 4 " 3(" " " [! 4 ! &! ' "! &

 

 

1" "3 1 ) 1 &! ! > & 3 APBx.

14

AOE

b >$ $ 7 MOE.

 

 

0: 7 MOE # 7) $ =.

 

 

1: 7 MOE $ $ =,

 

 

( $> > ), ) 9 +

 

 

+ $ ).

15

MOE

6 > )] )] $= OCxC OCxN.

 

 

0: )] ) $= ) OCxC OCxN ' && ( & &!.

 

 

1: )! " & &! " & OCxC OCxN , "&

 

 

[! 3 ">" " &! ( TIMx_CCER:[CCxE CCxNE].

 

 

: C! ! 4 ! 1 "!& '' ! & 1 "

 

 

' &! ). ! &! ) & "&! "!&

 

 

' (( '' !, 3 & ( &! ! & &! 4 ! AOE.

32

СПБГУАП группа 4736 / https://new.guap.ru

. (8 E ,( 1 L,( (8 ,,( PWR.

‰ # O STM32F10xxx # ]$

2,0 6 3,66. 6 $ $

$

7$ (Backup domain BKP)

O + $ $

$= $F$ $

+ 7 +.

c $# #

# 2 6 $] >

+ 7$ (BKP)

7 +, $ # “Reset” #$ O # $$ .

$ PVD ($ $

#

)

$>

#

=

= * )] + $=

PVD output”, )+ # $ $ , / ( 4 1.

33

СПБГУАП группа 4736 / https://new.guap.ru

c 7 F =$ $ $) O $ 9

$] : 9 ) O PWR, . $ 7:

RCC_APB1ENR[PWREN]=”1”.

RCC->APB1ENR |= RCC_APB1ENR_PWREN; // 0x10000000

PWR->CR (O() E ,( 1 L,( (8) $ $ $7$ - 0x0000,

7 ) $) > $ . . $ “0” 7 ) 2 (SWUF) 3 (CSBF) O**

.

ˆ

 

 

‰ >

 

 

0

LPDS

 

Š )7 # O =$7 #. ( .

1

PDDS

 

8 # ) O =$7 #”.

 

 

2

CWUF

 

1: $7$ * = PWR->CSR [WUM]

 

 

3

CSBF

 

1: $7$ * = PWR->CSR [SBF]

 

 

 

 

4

PVDE

 

6 > $ $) PVD.

 

 

 

 

 

0: $ $ PVD ) >.

 

 

 

 

 

 

 

1: $ $ PVD >.

 

 

 

 

5

PLS0

 

c = $7 ) PVD.

 

 

 

 

6

PLS1

 

000: 2,26

001: 2,36

 

010: 2,46

 

011: 2,56

 

7

PLS2

 

100: 2,66

101: 2,76

 

110: 2,86

 

111: 2,96

 

8

DBP

 

} > F ) $ RTC BKP.

 

 

 

 

 

 

0: $ =$) RTC BKP F.

 

 

 

 

 

1: $ =$) RTC BKP 9.

 

 

 

 

 

^ 8( (: c $] : RTC HSE/128 7 DBP

 

 

 

# $ $ $ $ “1”.

 

 

9-31

-

 

 

8

 

 

 

PWR->CSR (O() E ,( 1 / 1 1 L,( 1) $ $ $7$

- 0x0000, 7 ) 8 (EWUP) $ > $ , $) >.

ˆ

‰ >

0

WUP

†$> )] # O =$7 #:

 

 

1: 6)] # $ * $= ) WKUP

 

 

7” RTC.

 

 

0: < = + $> 7 #.

 

 

^ 8( (: 7$ * = $F$ $ $ “1”

 

 

PWR->CR[CWUF].

1

SBF

a = # O =$7 # “Standby”.

 

 

0: Š$+$ ]$ # “Standby”

 

 

1: Š$+$ )9 # “Standby”.

 

 

^ 8( (: 7$ * = $F$ $ $ “1”

 

 

PWR->CR[CSBF].

2

PVDO

PVD output } 7 # $ $ )] $ $) PVD ($ . $)

3-7

-

8

8

EWUP

c 7 # * ] WKUP (pin PA0/WKUP).

 

 

0: ..

 

 

1: 8 9 7 # * $= ] WKUP.

 

 

^ 8( (: < $ # 7 # WKUP

 

 

7] $* = / ) PA0

 

 

* :.

9-31

-

8

34

СПБГУАП группа 4736 / https://new.guap.ru

O(P 84 L ( ) 5( (P( 1 (8 5.

SYS->CTRL (O() E ,( 1 L ( ) (5,( (8 10 Cortex-M3) $

$ $7$ - 0x0000, 7 ) $) > $ .

ˆ

 

 

 

 

 

 

‰ >

 

 

 

0

 

-

 

 

8

 

 

 

 

 

 

1

 

SLEEPONEXIT

0: c ] # $ $ $: WFI WFE.

 

 

 

 

 

 

 

1: c $ $: WFI WFE >$

 

 

 

 

 

 

 

7 7 $] 9 )] ) +,

 

 

 

 

 

 

 

] $ # $ .

 

 

 

 

 

 

 

2

 

SLEEPDEEP

 

0: 6 $ $ $ $] : $ .

 

 

 

 

 

 

 

1: ‰ $ $ = ) $] : HIS

 

 

 

 

 

 

 

HSE.

 

 

 

 

 

 

 

3

 

-

 

 

8

 

 

 

 

 

 

4

 

SEVONPEND

 

V' " " ' 4 2 " "(, "& '" " "2 ( & 3

 

 

 

 

 

 

 

&! ) WFE.

 

 

 

 

 

 

 

 

 

 

 

 

 

0: 4 2 " " ' "> "( & 4 !, " " "( &! )

 

 

 

 

 

 

 

SEV (&(. ' ").

 

 

 

 

 

 

 

 

 

 

 

 

 

1: 4 2 " " ' 3 ">P ( ' ", !.". '" " )

 

 

 

 

 

 

 

4 4 !)" ' " 3 "! ' 4 2 " ".

 

5-31

 

-

 

 

 

8

 

 

^( (9 0 (P 84 L ( ) 5( (P( 1.

 

 

 

 

 

 

 

8 # $

}$7$

 

c ] #

 

†$>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7 #

 

Sleep

 

 

c F

 

†$: WFI

 

 

 

 

c ), $7$.

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

) >

 

†$: WFE

 

 

 

 

7)

 

 

 

 

 

$] :.

 

 

 

 

 

 

), $7$

 

 

 

 

 

I = 15-0,5 b

 

 

 

 

 

 

 

 

 

Stop

 

 

6) >$

 

PWR->CR[LPDS]=”1” +

 

 

6 9

 

 

 

 

 

= ) HIS

 

PWR->CR[PPDS]=”1” +

 

 

), $=

 

 

 

 

 

HSE. c

 

SYS->CTRL[SLEEPDEEP]=”1”+

RTC, $7$.

 

 

 

 

 

Flash }.Š

 

†$: WFI ( WFE).

 

 

 

 

 

 

 

 

) >$ .

 

 

 

 

 

 

 

 

 

 

 

 

 

I = 24 b

 

 

 

 

 

 

 

 

 

Standby

 

 

6) >$

 

PWR->CR[LPDS]=”0” +

 

 

6 9 + $=

 

 

 

 

 

= ) HIS

 

PWR->CR[PPDS]=”1” +

 

 

WKUP, $= RTC,

 

 

 

 

 

HSE, +

 

SYS->CTRL[SLEEPDEEP]=”1”+

9 + $7$

 

 

 

 

 

$7

 

†$: WFI ( WFE).

 

$7$ $# =

 

 

 

 

 

#.

 

 

 

 

 

 

+ IWDG.

 

 

 

 

 

I = 2 b

 

 

 

 

 

 

 

 

 

^ 8( (

: †$: WFI

(WFE) – $$7 . <

$ % $

 

= ) ) $ :

 

 

 

 

 

 

 

 

 

 

 

 

__asm void My(void) // }7• $ * :, $# F +

 

 

 

 

 

{

 

 

// $$7 $:.

 

 

 

 

 

 

 

 

WFE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//---------------------------

 

 

 

 

 

 

 

 

 

 

int main(void)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

My();

// 6) $$7 + $:.

 

 

 

 

35

СПБГУАП группа 4736 / https://new.guap.ru

• 5:

7$ $F$ $ $F ] $>:

-$ ) NRST $ $ ;

-$7 ) = (WWDG) $= (IWDG) $# = +;

-$7$ > )] # STANDBY (Power reset);

-= )+ $7$ (Software reset);

-$7$ $# (Low-power management reset).

6 $> = : $7$ $ $ $ $F * = =$

$ $ RCC_CSR, . . $ O ] * = # >, ) 9 $7$ . $ )] * = $]$

$F = $7$ > $ =. 1 7 $ > )

$7$ .

RCC->CSR (O() E ,( 1 E (84 5) $ $ $7$ - 0x0000 0000, 7 2 (LSIRDY) $ >, $) $)

> $ .

ˆ

 

‰ >

 

0

LSION

6 > = LSI RC = 32 - 40 G:.

 

 

0: ) >. 1: >.

 

 

 

 

 

1

LSIRDY

$ = LSI RC = 32 - 40 G:.

 

 

( $ $ $7$)$ )

 

 

0: + LSI RC = 7 =.

 

 

1: + LSI RC = F = 7.

2-23

-

8

 

 

 

 

 

24

RMVF

.$ “1’ > F * = $7$ .

 

 

 

25

-

8

 

 

 

 

 

26

PINRSTF

1: )+ $7$ ) ) NRST $.

 

(* = $7$ )

 

 

 

 

 

 

27

PORRSTF

1: $7$ ) > )] # $

 

(* = $7$ )

Standby.

 

 

 

 

 

28

SFTRSTF

1: = )+ $7$. ( $+ 7 RMVF).

 

(* = $7$ )

 

 

 

 

 

 

29

IWDGRSTF

1: $7$ $7 ) $= $# = +

 

(* = $7$ )

IWDG.

 

 

 

 

 

30

WWDGRSTF

1: $7$ $7 ) = $# = +

 

(* = $7$ )

WWDG.

 

 

 

 

 

31

LPVRRSTF

1: $7$ $# # .

 

(* = $7$ )

 

 

 

 

 

 

36