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

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

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

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

AFIO->MAPR2 (O() ( ( / ( 1 4 0 ) , p2) $ $ $7$ - 0x0000, 7 ) $) > $ . (& ,$ STM32F100xx)

ˆ

‰ >

0

TIM15_REMAP

c > ) ) TIM15 = :

 

 

0: CH1/PA2, CH2/PA3

 

 

 

1: CH1/PB14, CH2/PB15

 

1

TIM16_REMAP

c > ) ) TIM16 = :

 

 

0: CH1/PB8

 

 

 

1: CH1/PA6

 

2

TIM17_REMAP

c > ) ) TIM17 = :

 

 

0: CH1/PB9

 

 

 

1: CH1/PA7

 

3

CEC_REMAP

c > ) * +$ $ CEC:

 

 

0: CH1/PB9

 

 

 

1: CH1/PA7

 

4

TIM1_DMA_

c > $ DMA + TIM1:

 

REMAP

0: DMA- $ CH1 7 F% Œ2 DMA1,

 

 

DMA- $ CH2 7 F% Œ3 DMA1.

 

 

1: DMA- $ CH1 7 F% Œ2 DMA6

 

 

DMA- $ CH2 7 F% Œ3 DMA6.

5-7

-

8

8

TIM13_REMAP

c > ) ) TIM13 = :

 

 

0: CH1/PC8

 

 

 

1: CH1/PB0

 

9

TIM14_REMAP

c > ) ) TIM14 = :

 

 

0: CH1/PC9

 

 

 

1: CH1/PB1

 

10

FSMC_NADV

Š $= NADV (7 $ 9 }.Š)

 

 

0: ) NADV $ $ .

 

 

 

1: ) NADV # $ $ >$

 

 

+ / ).

11

TIM67_DAC_DMA_

" " 3 1" " 3 ' & DMA

 

 

REMAP

0: 9 ' & DMA ! TIM6 DAC1 "& !& ) DMA2 ()-3),

 

 

3 ' & DMA ! TIM7 DAC2 "& !& ) DMA2 ()-4)

 

 

1: 9 ' & DMA ! TIM6 DAC1 "& !& ) DMA1 ()-3),

 

 

3 ' & DMA ! TIM7 DAC2 "& !& ) DMA1 ()-4)

12

TIM12_REMAP

c > ) ) TIM12 = :

 

 

0: CH1/PC4 CH2/PC5

 

 

 

1: CH1/PB12 CH2/PB13

 

13

MISC_REMAP

% 4 ")! ' " ! DMA-2, 4 4 ! >" DMA-

 

 

3 ' &, ' &! ' > ! DAC (?).

 

 

0: " ! 5- 4- ) DMA2 (" ! ! ! 2"

 

")! ' " @59.

+3 ' &) ! TIM1,3

 

 

 

 

1: " " ! 5- ) DMA-2 (""! & ! "

 

 

")! ' " @60.

+ 3 ' &) ! TIM15, TIM1,3

 

 

: C! &' " ! ) ! ( & 1 ", "&

 

 

3 ' &) DAC 4 & TRGO ! (" TIM5 (&(.

 

 

" &! DAC_CR, 4 ! TSEL[2:0] = 011).

14-31

-

8

 

17

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

. (8 4 8( SysTick.

6 $ $ Cortex-M3 ]24-)+ )> F + $>% > $ * :

>$+ = ) . †$> $] : + # $# >$ f HCLK f HCLK /8.

: X ? E SysTick 6 , “6 ? %%6 ? = F M ?

E L J, 6 ! E J F # =% G ARM.

SysTick->CTRL (O() E ,( 1 E SysTick) $ $ $7$ - 0x0000. ˆ ) $) > $ .

ˆ

 

‰ >

 

0

ENABLE

1: .$ +.

0: }$ +.

1

TICKINT

0: . ). 1: 8 9 ).

2

CLKSOURCE

6)7 $> $] :.

 

 

 

 

0: $] >$+ f HCLK /8.

 

 

 

1: $] >$+ f HCLK .

3-15

-

8

 

 

 

 

 

16

COUNTFLAG

a = . Š$ $ 1>$

 

 

$>% > () ] $ $ 0

 

 

$ $ -1). 7$)$ 0=.

17-31

-

8

 

 

 

 

 

SysTick->LOAD (O() ( (/ ) E/ T SysTick)

# ) >$ = # ) $>% > SysTick->VAL = $ ( $ SysTick->CTRL[ENABLE] “1” ) = .

SysTick->VAL (. T (8 ) 8( SysTick)

>% > $F$ )>. c $ $ * = SysTick- >CTRL[COUNTFLAG] # 7) ) ) ( $ 9). . $ $>% > 7 = > = >$ $F + =,

O * = SysTick->CTRL[COUNTFLAG] $ $ )

) )$ .

^ 8( (: $)+ + SysTick =$ 7 SysTick->CALIB,$)+ >. 6 $] # ] ,

, $ $ .

18

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

& 8( 4 TIM 1-17.

STM32F10xxx # $# >$ + (TIM1 - TIM17). Ž + ) TIM1 TIM8 – + ) $ $9 ) #$ , $) + ) 7F = >.

}7F ]$ +, ] F ] $ $ 7 )]

:

Ž +

r-

Ž $>%

r O*. .

G :

r )

c >

 

 

 

 

$

] /

 

 

 

 

$)

DMA

$

 

TIM1

16

+ (]),

1 – 65536

<

4

STM32F100

TIM2

 

- ( ),

 

 

 

 

TIM3

 

+/- (]

 

 

 

STM32F103

TIM4

 

)

 

 

 

 

TIM15

 

Ž

 

 

2

Ž

TIM16

 

+ (] -

 

 

1

STM32F100

TIM17

 

)

 

 

 

 

$] + TIM1:

19

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

8 =$) +:

‰ > = ) =$

8 =$

TIM1

TIM2-5

TIM15

TIM16,17

}7F

CR1

+

+

+

+

 

CR2

+

+

+

+

 

SMCR

+

+

+

c ), $ $, = :

DIER

+

+

+

+

$7) +.

SR

+

+

+

+

 

EGR

+

+

+

+

. ] $

CCMR1

+

+

+

+

 

CCMR2

+

+

 

CCER

+

+

+

+

 

CCR1

+

+

+

+

 

CCR2

+

+

+

 

CCR3

+

+

 

CCR4

+

+

>%,

CNT

+

+

+

+

>$), =,

PSC

+

+

+

+

, DMA

ARR

+

+

+

+

 

RCR

+

+

+

+

 

DCR

+

+

+

+

 

DMAR

+

+

+

+

c ), %

BDTR

+

+

+

c >: 1. 9 STM32F100xx )+ =$ TIM2_OR 2. 8 # $)] 7 # $ $ + ] TIM2-TIM17.

u E () 57() E ,( 1

TIMx->CR1 (() E ,( 1 p1 8( -9) $ $ $7$ - 0x0000,

7 ) $) > $ .

ˆ

 

‰ >

0

CEN

S E / T. 0: $ , 1: 7 $>% >

1

UDIS

. F 7. 0: 9, 1: F

2

URS

% 4 &! 1 ) 3 ' & 4 ", ' ) ! ( ( "!&

 

 

' " " 4 " 3 ' &) DMA.

 

 

0: &" ' " &( ! " " 3 ' & 4 " ":

 

 

- '" "' " " ! (";

 

 

- &! ) “1” 4 ! UG =$ TIMx_EGR (=$

 

 

 

= : $7) +);

 

 

- 3 ' & 4 " ! ' 1 P ! (", "&

 

 

3 ) &) 4 ! ! (".

 

 

1: ! ) '" "' " ! (".

3

OPM

Q"2 ( (' &:

 

 

 

0: "!, !.". ' '" "' " &1P!1 ) " &! "!&, ! )

 

 

2" ' &) "!& 3(" ! " & " 2 ( " ' "&&" &1P!.

 

 

1: , !.". ' &! 2" '" "' " ' ' ' !)"

 

 

3(" ! & " 2 ( " TIMx->CNT &1P!1 ) &! "!&

 

 

1 "!& 4 ! CEN. (Q 4 ! "2 (" PWM " &! ')

4

DIR

‰ $>%.

0: ( 9 (+), 1: / (-).

5

CMS0

6)7 $ $7 )

6

CMS1

00: T1P! " 3 ( 3 & ( &! ! & &! 4 ! DIR).

 

 

01: T1P! " 3. &1P!" 3 "! ' " " '

 

 

& ' ", "& 4 2" & ' " " "& " &! "

 

 

TIMx_CCMRx 4 ! CCxS=00.

20

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

 

 

10: T1P! " 3. &1P!" 3 "! ' " " '

 

 

& ' ", "& 4 2" & ' " " "& " &! "

 

 

TIMx_CCMRx 4 ! CCxS=00.

 

 

 

 

11: T1P! " 3. 4 ( ' " &1P! 3 "!

 

 

' " " ' & ' ", "& 4 2" & ' " " "&

 

 

" &! " TIMx_CCMRx 4 ! CCxS=00.

7

ARPE

8 9 + =

 

 

0: " &! TIMx_ARR " 4 " 3.

 

 

 

1: " &! TIMx_ARR 4 " 3, !.". " " " " &! ' ! &

 

 

! ) ' & " 1" " '" "3 3) &1P!1 ).

8

CKD0

00: fDTS=fCK_INT

< >$), =:

9

CKD1

01: fDTS=fCK_INT/2

fDTS

- >$ $>% >

 

 

10: fDTS=fCK_INT/4

 

% =*

 

 

11: (/(

 

“downcounter”.

 

 

 

fCK_INT

- >$ $] :

 

 

 

+ * )

 

 

 

>$) 9 ) TIMx->PSC.

10-16

-

 

8

 

 

TIMx->CR2 (() E ,( 1 p2 8( -9) $ $ $7$ - 0x0000,

7 ) $) > $ .

ˆ

‰ >

0

CCPC

V' " " ' " !" &! ) 4 ! TIMx_CCER:[CCxE,

 

 

CCxNE] TIMx_CCMRx:[OCxM].

 

0: W ! ' " !" " &! ".

 

 

1: W ! ' " !" &! " " >"( ( !

 

 

4 ! &) ")!.

1

-

8

2

CCUS

V' " " ) ") " 4 ! TIMx_CCER:[CCxE, CCxNE]

 

 

TIMx_CCMRx:[OCxM], & 1 ", ) ' " !"

 

&! " (CCPC=1):

 

 

0: W ! ( ! 4 ! &) ")! ! ) &! ) 4 !

 

 

TIMx_EGR:[COMG].

 

 

1: W ! ( ! 4 ! &) ")! ! ( &

 

 

& 3 &1P!1 ) TRGI &! ) 4 !

 

 

TIMx_EGR:[COMG].

3

CCDS

6)7 $> $ DMA +:

 

 

0: $7) # $] ) x (TIMx_CH2).

 

 

1: 7 +.

4

MMS0

Š )] + TRGO, )+ #

5

MMS1

$ $ = + >$ $>

6

MMS2

$]$=. c$) # ) :

 

 

000: Reset )] TRGO $% $ 7 UG =$

 

 

TIMx_EGR (=$ = : $7) +).

 

 

001: Enable - )] TRGO $ $= $

 

 

+ CNT_EN ( =

 

 

$ $ $] +, $ . =$

 

 

TIMx->SMCR [MSM]).

 

 

010: Update 7 + *$

 

 

$= TRGO (# * $

 

 

7 = = +, $=

 

 

>$ = >$)).

 

 

011: Compare Pulse )] TRGO *$

 

 

$ , = # 7)

 

 

$ * = CC1IF =$ TIMx_SR (#,

21

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

 

 

$ O * = 7) $7 9).

 

 

 

100: Compare-1 , 101: Compare-2 , 110: Compare-3

 

 

111: Compare-4 )] $ $= OCxREF ,

 

 

* ) $ $F ] /

 

 

$ (OC1REF, OC2REF, OC3REF, OC4REF)

7

TI1S

Š ] (TI1) 7 ] Œ1

 

 

0: # TIMx_CH1 > ] TI1

 

 

1: # TIMx_CH1, CH2 CH3 > ) ] TI1

 

 

(7 : XOR - $> F ).

 

 

 

6 $ $ $ $ O = 7 # TIMx_CH2 CH3

 

 

$ $ ] TI2 TI3 $] 7 ].

8

OIS1

$ $ $F ] ) $] )

9

OIC1N

(OISx OICxN ) $> O$= >.

10

OIS2

 

 

 

 

 

 

11

OIC2N

 

 

 

12

OIS3

8

 

 

 

 

 

13

OIC3N

14

OIS4

 

 

 

 

 

 

15

-

8

 

 

 

 

 

TIMx->SMCR (O() E ,( 1 8( 8 (P 8( (0 8 )) $ $ $7$ - 0x0000, 7 ) $) > $ . (ˆ ) 15-8 $] $>% >)

ˆ

‰ >

0

SMS0

6)7 # “Slave ( !" #$)”.

1

SMS1

000: Q"2 ( “Master ( !+, $)”. T 3 &1P!1 )

 

 

& "&! "!& ! CK_INT.

2

SMS2

 

 

001: Q"2 ( “Encoder -1” - T1"!1 ) &1 ! "! ! TI1FP1,

 

 

"& TI2FP2=”1” &' TI1FP1, "& TI2FP2=”0”.

 

 

010: Q"2 ( “Encoder -2” - T1"!1 ) &1 ! "! ! TI2FP2,

 

 

"& TI1FP1=”1” &' TI2FP2, "& TI1FP1=”0”.

 

 

011: Q"2 ( “Encoder -3” - T1"!1 ) &1 ! "! ! TI1FP1

 

 

(TI2FP2), "& ' ! ' 2 & TI2FP2 (TI1FP1)=”1”

 

 

&' TI1FP1 (TI2FP2), "& ' ! ' 2 &

 

 

TI2FP2 (TI1FP1)=”0”

 

 

100: Q"2 ( “Reset” – ! 4 & (&(. TS0-

 

 

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

 

 

) 1"&! " & & 3 &' 3 "!& CK_INT).

 

 

101: Q"2 ( “Gated” – Z "( " &! “0” 4 (

 

 

" (&(. TS0-TS2) &1P! ' &! "!&. (*

 

 

"2 ( " ' " 2 "!&, "& TS[2:0]=”100”.) % ) 1"&! "

 

 

& & 3 &' 3 "!& CK_INT.

 

 

110: Q"2 ( “Trigger” – ' &! ' " ! 4

 

 

& (&(. TS0-TS2) &1"!1 ) 1 "! &1P!. T " 2 ( "

 

 

&1P!1 ) ' [! ( " '" "3 2 "!&. % ) 1"&! " &

 

 

& 3 &' 3 "!& CK_INT.

 

 

111: Q"2 ( “External Clock-1” – T 3 &1P!1 )

 

 

& "&! "!& ! ( 4 & (&(. TS0-TS2).

3

-

8

4

TS0

6)7 $> $] : $>% >

5

TS1

000: % ! " & 0 (ITR0).

 

 

001: % ! " & 1 (ITR1).

6

TS2

 

 

010: % ! " & 2 (ITR2).

 

 

011: % ! " & 3 (ITR3).

 

 

100: \3(" " " ' &! "> " & - TI1 (TI1F_ED).

 

 

101: ]! ! "> & - 1 (TI1FP1).

 

 

110: ]! ! "> & - 2 (TI2FP2).

 

 

111: % "> & ETR (ETRF).

22

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

 

 

: 1. ITRx – [! & TRGO

 

 

! (", &(. !". ' & " STM32F10xxx.

 

 

2. \3(" ! [! 4 ! & " "!, ) "2 ( “Slave

 

 

(" ()” ) 1", !.". SMS=000.

7

MSM

c F # # $=, $F

 

 

+, )] ) $= TRGO. (

 

 

7] > ) $ $]

 

 

+ ($ . =$ TIMx->CR2 [MMS2 – MMS0]).

 

 

“0”: # >.

 

 

 

“1”: F # TRGO >.

8

ETF0

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

 

 

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

9

ETF1

 

 

0001: fSAMPLING=fCK_INT , N=2.

10

ETF2

0010: fSAMPLING=fCK_INT , N=4.

11

ETF3

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.

12

ETPS0

r O** : = >$) 9 =

13

ETPS1

$= fETR: 00: fETPR=fETR,

01: fETPR=fETR/2,

 

 

10: fETPR=fETR/4, 11: fETPR=fETR/8.

14

ECE

8 # $] : $>% > 9 = $= ETR

 

 

“0”- F , “1” 9.

15

ETP

6)7 = $ $ 9 = $= ETR:

 

 

“0”: )+ * ( ] “0” “1”).

 

 

“1”: )+ $ ( ] “1” “0”).

23

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

u E () ( 4 1, E )( ( : 54

TIMx->DIER (O() ,6 ( 1 DMA ( 4) $ $ $7$ - 0x0000, 7 ) $) > $ .

ˆ

 

‰ >

0

UIE

c ) 7 $>% >.

 

 

 

0

- , 1 9.

 

1

CC1IE

c ) $ / ] Œ 1 (2, 3, 4).

2

CC2IE

0

– .

 

3

CC3IE

1

9.

 

4

CC4IE

 

 

 

5

COMIE

c ) $7) COM (&(. TIMx_EGR[COMG] ).

 

 

0

- , 1 9

 

6

TIE

c ) $= TRGI ( . TIMx->SMCR).

 

 

0

- , 1 9

 

7

BIE

b + ) $= BRK

 

 

$]$= $ $) (CSS).

0 - , 1 9

8

UDE

.$ DMA 7 $>% >.

 

 

 

0

- , 1 9

 

9

CC1DE

.$ DMA $ / ] Œ 1 (2, 3, 4).

10

CC2DE

0

– .

 

11

CC3DE

1

9.

 

12

CC4DE

 

 

 

13

COMIDE

.$ DMA $7) COM (&(. TIMx_EGR[COMG] ).

 

 

0

- , 1 9.

 

14

TDE

.$ DMA $>% >.

 

 

0

- , 1 9

 

15

-

 

8

 

TIMx->SR (O() E 8() $ $ $7$ - 0x0000, 7 ) $)

5 >. Š$ $ , > F$ = $ “0”.

ˆ

‰ >

0

UIF

f ' " ' 4 " &1P!1 ).

 

 

0: " "' " " " 4 2"..

 

 

1: ]4 2" '" "' " " &1P!1 ).

 

 

: T(. TIMx_CR1[URS, UDIS] TIMx_EGR[UG].

1

CC1IF

a = ] / $ Œ 1 (2, 3, 4).

2

CC2IF

0: ] / $ 7 #.

3

CC3IF

1: Œ 1 (2, 3, 4) 9% ] / $ .

4

CC4IF

 

5

COMIF

a = ) COM (&(. TIMx_EGR[COMG] ).

 

 

0: "! ' ". 1: 4 2" ' " " COM.

6

TIF

a = ) TRGI ( . TIMx->SMCR).

 

 

0: "! ' ". 1: 4 2" ' " " TRGI.

7

BIF

b + ).

 

 

0: "! ' ". 1: 4 2" "> & BRK ' ' "

 

 

& & 3 CSS.

8

-

8

9

CCO1F

a = $ $ # ].

10

CCO2F

0: ] 7 #.

11

CCO3F

1: Œ 1 (2, 3, 4) 7 # )+ ], . . 7

12

CCO4F

CCxIF # 7) $ .

24

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

13-15

-

8

TIMx->EGR (O() )( ( : 54) $ $ $7$ - 0x0000, 7 )$) ,$ 0,1 / “1”. 7$ “0” $F$ $ .

ˆ

‰ >

0

UG

1: = : 7 $>% >.(}> F$

 

 

TIMx->PSC, TIMx_CNT TIMx->CR1 [DIR=0] $)$ 0

 

 

TIMx->CR1 [DIR=1] $# TIMx_ARR )

 

 

c O ) )$ $ $F ) $

 

 

DMA ( $ 9 )).

1

CC1G

1: = : ] / $ Œ 1(2-4):

2

CC2G

a) $ $* = ( ( ()]),

3

CC3G

$ $ * = TIMx->SR[CCxIF] 3 "!& ' " "

4

CC4G

3 ' & DMA ("& 3 ">").

 

 

b) "& ) &) < ( ), !

 

 

&! "!& * = TIMx->SR[CCxIF] ("& 2" &! ", !

 

 

&! "!& TIMx->SR[CCxOF]), ! ) 2" 3 "!&

 

 

' " " 3 ' & DMA ("& 3 ">").

5

COMG

1: = = : $= COM. (= COM # 7)

 

 

# $= * $= TRGI.)

 

 

c $= COM $ $ * = TIMx_SR[COMIF]=1,

 

 

) )$ $ $F ) $ DMA ( $

 

 

9 )), # # $ * = : )]

 

 

$ :

 

 

.8. TIMx_CCMR[OCxM2:0], TIMx_CCER[CCxE, CCxNE], TIMxBDTR[OSSR].

6

TG

1: $= TRGI TRGI ( . TIMx->SMCR), O

 

 

$ $ 7 TIMx_SR[TIF]=1, ) )$

 

 

$ $F ) $ DMA ( $

 

 

9 )).

7

BG

1: + ) (: 9 =

 

 

$= BRK $= $] : .SS). c

 

 

O $7$)$ 7 TIMx_BDTR[MOE]=0, $ $ 7

 

 

TIMx+SR[BIF]=1, ) )$ $ $F )

 

 

$ DMA ( $ 9 )).

8-15

-

8

25

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

u E () / 9 / ( 1

TIMx->CCMR1 (() p1 45 (P 8 / 9 / ( 1)

TIMx->CCMR2 (() p2 45 (P 8 / 9 / ( 1)

T &! " ' & " &4 & 0x0000;

3 ! / & " ( ! 4 ! ! "2 (" 3 ! () ) ) "2 (" & " () ) ). ' " 4 ! ) ' " " "!& 4 ! ( OCxS[1:0].

]&! " 4 ! ) !& 3 & ( &! ! ' " 4 ! ) 3 ! / & ".

% ( & ( ) 3 ! ( ! & 2 ! "> " & TI1, TI2, TI3, TI4

! " & TRC.

% ( & ( ) & " (& ' ") ( ! & 2 ! & OC1, OC1N, OC2, OC2N, OC3, OC3N, OC4.

CCxS[1:0] – 4 "2 ( 4 ! ) 3 ! / & ".

T &!.

Q"2 ( 4 ! )

 

 

00

4 ! "! ? @ A () ) ).

01

4 ! "!

 

% & ) x=1-TI1, x=2-TI2, x=3-TI3, x=4-TI4.

10

? <

 

% & ) x=1-TI2, x=2-TI1, x=3-TI4, x=4-TI3.

11

() ) )

 

% & TRC.

C! ! "2 ( &! '", "& " &! "

 

 

 

TIMx_SMCR &! " 4 ! TS, !.".

{ , 45 (P 8 ( 1:

26