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

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

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

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

9

ARLO

a = 7 # # Master.

 

 

1: }7 # ) ] 9 ) = $+$ .

10

AF

a = > = $ .

 

 

1: c ) ) $F$F $+$ .

11

OVR

a = )] # Slave.

 

 

1: . *$ )]. • $], =

 

 

# Slave $ $ > $

 

 

I2C->DR.

12

PECERR

a = 9 7 PEC.

 

 

1: }7 # 9 7 PEC, . . $ > CRC

 

 

# ACK.

13

-

8

14

TIMEOUT

a = )9 + # 7 ) $ 9 + MBus.

 

 

1: 6 # Host ) #$ SCL $ $ “0”

 

 

7 10 $, # Device – 7 25 $.

15

SMBALERT

a = $ 9 MBus.

 

 

6 # Host:

 

 

0: $7).

 

 

1: ] SMBALERT 7 # “0”, . - ] >

 

 

9 + MBus.

 

 

6 # Device $ $ 9:

 

 

0: 9 ).

 

 

1: ] SMBALERT 7 # “0”, . . 7 #

 

 

)+ $ $ 9 $] $+$ .

I2C->SR2 (O() 1 1 2) $ $ $7$ - 0x0000. 6$ 7 ) $)

>.

ˆ

‰ >

0

MSL

a = # 7 ).

 

 

0: 8 # Slave ()+).

 

 

1: 8 # Master (F +).

1

BUSY

a = $ 9 ).

 

 

0: ‡ $7.

 

 

1: .

 

 

^ 8( (: Š$ $ $7$)$

 

 

$ $ $ $ $= SDA SCL.

2

TRA

a = % / >.

 

 

0: Š$+$ # ).

 

 

1: Š$+$ # ).

 

 

^ 8( (: $ O = * = $ $ $ R/W-

 

 

7, = $ $ $ . 7$ $]

 

 

> Stop.

3

-

8

4

GENCALL

a = : = ) Device- $+$ 9 SMBus.

 

 

1 : c > : )+ ) (I2C->CR1[ENGC=1]).

5

SMB

a = 7 F $+$ 9 SMBus..

 

DEFAULT

1: Device- $+$ > $ 7 F $ .

6

SMBHOST

a = 9 + SMBus..

 

 

1: r, $) I2C->CR1[SMBTYPE=1

 

 

ENARP=1] > 9 + SMBus.

87

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

7

DUALF

a = 7 F = $ .

 

 

0: b$ > = $ $ $ I2C->OAR1.

 

 

1: b$ > = $ $ $ I2C->OAR2.

8-15

PEC[7:0]

# * )+ CRC- , $ I2C->CR1[ENPEC=1]

I2C->CCR (O() E ,( 1 $6 58( ' ( I2C)

‰ >

7

 

CCR[11:0]

‰$+ $ $ (>$) SCL)

 

O(P 8 Standard , SMBus:

 

thigh = CCR * TPCLK1

 

tlow = CCR * TPCLK1

 

O(P 8 Fast:

 

t$ DUTY = 0:

 

thigh = CCR * TPCLK1

 

tlow = 2 * CCR * TPCLK1

 

t$ DUTY = 1: (> 7) > >$ 400 G:)

 

thigh = 9 * CCR * TPCLK1

 

tlow = 16 * CCR * TPCLK1

 

^ 8(: d 7) $ # >$ SCL 7) 100 G:

 

f PCLK1 = 24 qG: 7 ) CCR[11:0] # ) 7) ) 0x78

 

(120) $ :

 

thigh = (1 / 24 000 000)* 120 = 5000 $.

 

tlow = (1 / 24 000 000)* 120 = 5000 $

 

TSCL = thigh + tlow = 10 000 $.

 

fSCL =1 / TSCL = 100 G:.

DUTY

c ) $= SCL 7 7)$ (Fast) #.

 

0: tlow/thigh = 2.

 

1: tlow/thigh = 16/9.

F/S

$+ # 7 ) 9 ) I2C.

 

0: )+ (Standart) # ( 100 G:).

 

1: ˆ)$)+ (Fast) # ( 400 G:).

I2C->TRISE (O() 0 E 8 ) 4'( 1 0, (,$ SCL)

8 =$ $ $ # Master (Host).

1.q$ $ )9 SCL $ $ 1000 $.

2.} $] : I2C (I2C->->CR2[FREQ 5:0]) , :

T I2C = 1 / f I2C = 1 / 8 000 000 =125 $.

88

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

3. } $9 $= )9 $] :. K = 1000 $ / 125 $ = 8

4. } TRISE[5:0].

TRISE[5:0] = K + 1 = 8 + 1 = 9

` ( ,$4 9 4 9 4 ( D( USART.

89

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

USART->SR (O() 1 1) $ $ $7$ - 0x0000. ˆ ) $)

>, 7 ) 5 (RXNE), 6(TC), 8 (LBD) 9 (CTS) $) $ “0”.

ˆ

‰ >

0

PE

a = >%$ .

 

 

1: 7 # 9 7 >%$ .

 

 

.5 $) > USART->SR 7 F

 

 

USART->DR, # 9$ $ * = RXNE.

1

FE

a = 9 7 $: = * +.

 

 

1: 7 # 9 7, $ $ $7$ >$)

 

 

= $=, ) $ . .

 

 

.5 $) > USART->SR USART->DR.

2

NF

a = 9.

 

 

1: 6 $ 7 # )9 )+ 9.

 

 

.5 $) > USART->SR USART->DR.

3

ORE

a = )] %.

 

 

1: . *$ )] )].

 

 

$], = $ $ >

 

 

)] )] =$ USART->DR.

 

 

.5 $) > USART->SR USART->DR.

4

IDLE

a = > %.

 

 

1: ‹ % $ $ , . . ]$ $ $ “1”,

 

 

% )] $ .

 

 

.5 $) > USART->SR USART->DR.

5

RXNE

a = % 7 +.

 

 

1: < ) ) ]$ USART->DR.

 

 

.5 )+ > USART->DR =.

6

TC

a = > >.

 

 

1: c > 9, USART->DR =$ $= $).

 

 

.5 )+ $ USART->DR > = 7 +

 

 

=.

7

TXE

a = =$ > > > = 7 +.

 

 

1: < ) USART->DR ) =$ $=

 

 

>. USART->DR = > > = 7 +.

 

 

.5 )+ $ USART->DR > = 7 +

 

 

=.

8

LBD

a = # $ $ “0”. ($ . USART_CR2[LINEN])

 

 

1: }7 # # % + $ $ “0”.

 

 

.5 = )+.

9

CTS

a = =$ > )].

 

 

1: CTC *$ .

 

 

.5 = )+.

10-31

-

8

USART->DR (O() 0 49) b $ $ 2-] =$ TDR, RDR ]

=$ $=.

90

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

USART->BRR (O() ( (0 / T8)

DIV_Mantissa – $$ (: >$ ) DIV

DIV_Fraction –. 7 >$ DIV.

f(ˆ) = fCYSCLK / 8 * ( 2 – OVER8 ) *DIV

G:

f(ˆ) – $ $ 7 ) USART $ #. fCYSCLK - >$ , * + system_stm32f10x.c

OVER8 > )+ O** :, )+:

OVER8=1, $ DIV_Fraction 4 7 (:.). OVER8=0, $ DIV_Fraction 3 7. (#).

DIV – .

^ 8( 1:

fCYSCLK = 72 qG:; DIV=0x3A95, (937 + 5/16) . . 0x5<8 OVER8=0; f(ˆ)=4800.

^ 8( 2:

fCYSCLK = 72 qG:; DIV=0x1D4C ( 468 + 0,75), . . 0x >7 OVER8=1; f(ˆ)=9600.

^ 8( (: t$ 7 >$ 4 7, % 7] 16.

USART->CR1 (O() E ,( 1 1) $ $ $7$ - 0x0000. 6$ 7 )$) > $ .

ˆ

‰ >

0

SBK

Š # $ $ “0”. ( . USART->CR2[LINEN])

 

 

0: ‰ #.

 

 

1: Š # $ $ “0” > .

 

 

(7$ = )+ )+ $ .)

1

RWU

c ] # $ .

 

 

0: 8 7.

 

 

1: .

 

 

^ 8( (: t$ WAKE=1, $ # $ O

 

 

7 $ $ $).

2

RE

8 9 7 %.

 

 

0: 6) >.

 

 

1: c % >%.

3

TE

8 9 7 >.

 

 

0: 6) >.

 

 

1: c > >%.

4

IDLEIE

8 9 ) > %.

 

 

0: ..

 

 

1: 8 9 ) * = IDLE=1.

5

RXNIE

8 9 ) % 7 + 7 *

 

 

%.

 

 

0: ..

 

 

1: 8 9 ) * = RXNE=1 ORE=1.

91

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

6

TCIE

8 9 ) > >.

 

 

0: ..

 

 

 

 

 

 

 

 

1: 8 9 ) * = TC=1.

 

7

TXEIE

8 9 ) =$ > >

 

 

> = 7 +.

 

 

 

 

 

 

 

0: ..

 

 

 

 

 

 

 

 

1: 8 9 ) * = TXE=1.

 

8

PEIE

8 9 ) 7 # 9 .

 

 

0: ..

 

 

 

 

 

 

 

 

1: 8 9 ) * = PE=1.

 

9

PS

8 # .

 

 

 

 

 

 

 

0: r >%$ .

 

 

 

 

 

 

 

1: r >%$ .

 

 

 

 

 

10

PCE

6 > . ˆ 7$ $

 

 

8-= 9-= 7 + $), $ $ 7 12 (M).

 

 

0: 6) >.

 

 

 

 

 

 

 

 

1: r >%.

 

 

 

 

11

WAKE

6)7 # $ USART.

 

 

 

 

 

 

 

0: ‰ ]$ # $ $ % +

 

 

, O $7$) 7 RWU.

 

 

1: ‰ ]$ # $ ] , +

 

 

$ $ #$ ) 4 9 7 +

 

 

$ USART, $)+ =$ USART->CR2[ADD3:0].

 

 

ˆ PWU $7$)$ , O $ %

 

 

)] ] # $ . c )+ $

 

 

=$ % USART->RD *$ $ .

12

M

< * : )] $).

 

 

 

 

 

0: 8 7.

 

 

 

 

 

 

 

 

1: 9 7.

 

 

 

 

 

 

13

UE

6 > USART .

 

 

 

 

0: USART ) >.

 

 

 

 

 

 

 

1: USART >%.

 

 

 

 

 

14

-

 

8

 

 

 

 

 

15

OVER8

6)7 $9 $ $ > #

 

Ž

IrDA $ 7)> #. (†$ $ 7

 

STM32F100xx

$ $ - , . . = $) 7 ) CR1[SCEN=1,

 

 

IREN=1], USART->CR2[LINEN=1].)

 

 

 

 

0: 3 / 16.

1: 3 / 8.

 

 

 

 

 

16-31

-

 

8

 

 

 

 

 

USART->CR2 (O() E ,( 1 2) $ $ $7$ - 0x0000. 6$ 7 )$) > $ .

ˆ

‰ >

0

ADD0

d ) 9 ] 7 $ USART. 9 )

1

ADD1

$ . †$ $ )] # $ .

2

ADD2

. USART->CR1[WAKE]=1.

3

ADD3

 

4

-

8

5

LBDL

r >$ )] 7 ) ) F ] ) LBD, =

 

 

$] # $ $ “0”. ( . LINEN.)

 

 

0: 10 7.

 

 

1: 11 7.

92

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

6

LBDIE

8 9 ) # % + $ $ . “0”.

 

 

0: ..

 

 

 

1: 8 9 ) * = LBD=1.

 

7

-

8

 

8

LBCL

‰ > $= $ SCLK ) K.

 

 

0: }$ $ .

 

 

 

1: c$+ $ $ $ ) CK.

 

 

( . $. “8 # $ $)+ $ SPI”.)

 

9

CPHA

b * $= $] : SCLK. †$ $

 

 

$ 7 CLKEN. ( . $. “8 # $ $)+ $ SPI”.)

10

CPOL

c$ $= $] : SCLK. †$ $

 

 

$ 7 CLKEN. ( . $. “8 # $ $)+ $ SPI”.)

11

CLKEN

6 > $]$= SCLK. (†$ $ #,

 

 

$ $) $ SPI.)

 

 

 

0: 6) CK $ $ .

 

 

 

1: 6) r $ $ )] $= $] : SCLK.

12

STOP0

c #$ $) “Stop”.

 

13

STOP1

00: 1 7.

 

 

 

01: 0,5 7

 

 

 

10: 2 7

 

 

 

11: 1,5 7.

 

14

LINEN

6 > # “LIN”. • # $)

 

 

$= “LIN Synh Break” (13 7 )] “0”) $ 7

 

 

USART->CR1[SBK]=1 $> $] :.

 

 

0: 8 # $ .

 

 

 

1: 8 # “LIN” >%.

 

15-31

-

8

 

93

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

USART->CR3 (O() E ,( 1 3) $ $ $7$ - 0x0000. 6$ 7 )$) > $ .

ˆ

‰ >

0

EIE

8 9 ) 9 7.

 

 

0: c ), $) $ 9 7 F ).

 

 

1: 8 9 ) 7 $ DMA (DMAR=1), $>

 

 

$F ] 9 7 ( $ * = =$

 

 

USART->SP):

 

 

- FE – 9 7 $: = * +;

 

 

- ORE – %;

 

 

- NF – )9 )+ 9 $ .

1

IREN

6 > # “IrDA”.

 

 

0: 8 # ) >.

 

 

1: 6 > # IrDA. ( . $. “8 # IrDA”.)

2

IRLP

6)7 # # = O = 7 7 USART

 

 

# IrDA.

 

 

0: ‰ )+ # O = 7.

 

 

1: 8 # # = O = 7 “Low-power”. 6 O

 

 

# 9$ $ * )] $ .

3

HDSEL

6 > # $”, . . $F$ %

 

 

> + Tx.

 

 

0: 8 # ) >.

 

 

1: 8 # >%. c % > $ + Tx.

4

NACK

6 # 7 ) $ $ $ SPI 9 $

 

 

$= ACK (#) $= NACK (#).

 

 

0: . ACK NACK.

 

 

1: 6 $> 9 7 NACK $ ACK.

 

 

( . USART->CR1[PCE, PS].)

5

SCEN

6 > # 7 ) $ $ - .

 

 

0: 8 # ) >.

 

 

1: 8 # 7 ) $ $ - >.

6

DMAR

8 9 7 DMA % )].

 

 

0: DMA >.

 

 

1: DMA $ ) 7 * % .

7

DMAT

8 9 7 DMA > )].

 

 

0: DMA >.

 

 

1: DMA $ ) 7 * >.

8

RTSE

Š + RTS. (Š .)

 

 

0: Š RTS ) >.

 

 

1: c RTS $ $ “0”, $>, $

 

 

7 * % USART->RD > F () > )).

9

CTSE

Š $ $ $ $ CTS.

 

 

0: r $ $ CTS ) >.

 

 

1: 6$ > , $ $ $ CTS=0.

10

CTSIE

8 9 ) =$ >

 

 

)].

 

 

0: ..

 

 

1: 8 9 ) * = CTS=1.

11

ONEBITE

c 9 > 9.

 

 

0: t$ 9 *$ 7, * = USART->SR[NF]=”1”.

 

 

1: t$ 9 *$ %] 7 ], * = USART->SR[NF]=”1”.

 

 

^ 8( (: • 7 $ STM32F100xx.

94

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

12-31

-

8

USART->GTPR (O() / 7 4 (0 (,$4 0(, (,$ 4)

‰ >

7

 

PSC[7:0]

c )+ $ $+ >$) 7 ) # ]:

 

IrDA Low-Powe:

 

0x00: $ $

 

0x01: f / 1.

 

0x02: f / 2.

 

..… . .

 

6 # IrDA Normal $ 0x01.

 

6 # 7 ) $ 8-8 $ $ ) PSC[5:0]

 

> >$ >$ #$ 2.

GT[7:0]

q$ >$ 7, )] $ - $ $

 

$ . c O >$ 7, > $ $ .

95

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

Flash – 81$, 4 / ) E/ / 7 ) 88 1.

6 STM3210xxx Flash- = ) $ $ $ > $

$ 0x00000000 0x1FFF FFFF (0,5 G7 + ), }.Š - > $ $ 0x2000 0000

0x3FFFFFFF. }7$ > $ $ 0x08000000 )$ Main memory, + ]$ $ =.

}7$ $ $ 0x1FFFB000 0x1FFFF7FF (18 r7 +) – ) “System memory” > ] = >, F = =

$ = > USART. • 7$ $ . }7$ $ $ 0]1FFF F800 0x1FFF80F (16 7 +) >

] : + – Options byte

$ ]

8 # =

‰ >

BOOT1

BOOT0

 

 

x

0

Main Flash memory

. = >$ $ $ 0x08000000, . .

 

 

 

= #$ $ =.

0

1

System memory

. = >$ $ $ 1FFFB000, . .

 

 

 

> 7 =-= >,

 

 

 

F > USART =

 

 

 

$ =.

1

1

Embedded SRAM

. = $ $ 0x2000 0000, . . $ }.Š.

< 7 ) Keil-4 c > 7] )7 = “ Main Flash memory ”.

Option byte (• 4 :)

ˆ +

 

‰ >

nUSER

( $ 7 + > 0900)

USER

[23:19] – 7$

 

nRST_STDBY [18] - 6 9 + $= NRST :

 

 

0: c # STDBY.

 

 

1: c = # . ***

 

nRST_STOP [17] - 6 9 + $= NRST :

 

 

0: c # STOP.

 

 

1: c = # . ***

 

WDG_SW[16]

- ‰$)+ $# + + IWDG

 

 

0: 6 >$ .

 

 

1: 6 >$ =. ***

 

*** - $ $ >.

nRDP

 

 

RDP

ˆ + 9 $> ) = ), $+ Flash- .

 

0xA5 $> ) = ) 9.

nData1

 

 

Data1

.$ = ]$ $ ).

96