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

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

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

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

SQR1-SQR3

SQx[4:0]

(0-17) > = )] )]

 

x=1…16

7 +, = x )+ >.

 

 

:

 

 

SQ1=00000, SQ2=00011, SQ3=10001, SQ4= 00001 . .

 

 

>, > $ $ 7 7 7 +:

 

 

0-+ , 3-+ , 17-+ , 1-+ . .

ADC->JSQR (O() E ,( 1 P( ,(0 (,$ $6)

ˆ )

 

‰ >

JL[1:0]

< # + + $ $ ( . . >$

 

7 + :):

 

00:

1 7.

 

01:

2 7.

 

10:

3 7.

 

11:

4 7.

JSQx[4:0]

(0-17) > # )] )]

x=1…4

7 +, = x )+ > ( >

 

7 4). :

 

SQ1=00000, SQ2=00011, SQ3=10001, SQ4= 00001 >, >

 

$ $ 7 7 7 +:

 

0-+ , 3-+ , 17-+ , 1-+ .

ADC->JDRx x=1..4 (O() 4 0 49 P( 49 ( 5 /)

8 =$) )] # )] 7 + = )$ $ $$ $ 7 ADC->CR2[ALIGN] . c$ : ($ .

=$) ADC->JOFR1 … ADC->JOFR4), $> : = >, 7 SEXT$ $ “1”:

67

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

ADC->JOFRx x=1..4 (8 ( : 4( () 4 P( 49 ,)

6 =$) ADC->JOFR1…ADC->JOFR4 $)$ >, >

7 # )] )>$ 7, ] F =$ =$] ADC->JDRx. • 7, =, , $ $=

> $ )] 4–20 b (4 b $ 0, O

7 7] )>$ >, $ $F 4 b). 8

F$ 7 =$) ADC->JDRx.

ADC->DR (O() 0 49 ()E,1 49 ( 5 /)

6 =$ $ $ $ ) = = 7. 6

$ $ $ $ 7 ADC->CR2[ALIGN] ) )$

] 9 ] 15 7 +. ‰ > F 7 ) $> )$ “0”.

^ 8( ,$/ 1 C]^ 0,1 0 ) ()E,1 ) ( 5 / 14/ 8 ( 4 1 6 ( ) : ,.

#include "stm32f10x.h" //-----------------------------------------------------

unsigned int x; //-----------------------------------------------------

void ADC_IRQHandler(void) // ^ ( 4 ( C]^.

{

ADC1->SR=0; // .5 D, ).

x=ADC1->DR; // ^$ (/E,$ ( 5 / 1 C]^.

}

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

int main(void)

{

//O / ('$ 9 / : 6 ADC1 (0x00000200). RCC->APB2ENR |=RCC_APB2ENR_ADC1EN;

NVIC->ISER[0] |= 0x00040000; // O / ('$ ( 4 1 ADC1 (IRQ18).

//`$ (, 8( 5 0,1 IRQ18, ( , ( 59 0 8.

NVIC->IP[18] |= 0x50;

//V ( 5 / 1 ( ) , (SPM1=7,5 : ,). ADC1->SMPR2 = 0x00000008;

//O / ('$ ( 4 ( 6 ( ) : , (EOCIE=1),

//,$/$ 0 , (P 8( ()E,1 49 ( 5 / (DISCEN=1). ADC1->CR1 = 0x00000820;

//3 ,6$ C]^ (ADON=1), / ('$ (' / E ()E,1 49

68

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

//, (EXTTRIG=1) E ( 5 SWSTART (EXTSEL=7). ADC1->CR2 = 0x001E0001;

//_, ,$ ()E,1 ,(0 (,$ = 1.

ADC1->SQR1 = 0x00000000;

ADC1->SQR2 = 0x00000000;

ADC1->SQR3 = 0x00000001; // • ,$/E(8 , C]^ p1 (9 8( 0 17). ADC1->CR2 |= 0x00400000; // S E C]^ (SWSTART).

……………………

}

] D-, ) 4 ( 5 / (,$ DAC.

• *-= )+ 7 $ 12 ), $ $7 *

$ )] #, >$ F$

(7 ] >$ - 9).

Š $ (= +)

$F$ $ ) $ $

($= + TRGO – $ .

TIMx->CR2), =, $+ 7 SWTR. ‰ # )] •bc

$ * +:

69

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

DAC->CR (O() E ,( 1 DAC) $ $ $7$ - 0x0000. ˆ ) $)

> $ .

ˆ

 

‰ >

0

EN1

6 > / ) > Œ 1.

 

 

0: 6) >.

1: r >%.

1

BOFF1

†$ 7 * )] Œ 1. (ˆ *

 

 

9 )] $ , =

 

 

$ )9 O = 7.)

 

 

0: ˆ * >%. 1: 6 > )] + 7 *.

2

TEN1

0: .$ Œ 1 >.

 

 

1: r Œ 1 F, . ), $* ) =$]

 

 

DAC_DHRx >$ = #$ DAC_DOR1.

3

TSEL1_0

6)7 $> $ 1:

4

TSEL1_1

000: Timer 6 TRGO.

5

TSEL1_2

001: Timer 3 TRGO.

 

 

010: Timer 7 TRGO.

 

 

011: Timer 5 TRGO. ( Timer 15 TRGO STM32F100xx)

 

 

100: Timer 2 TRGO.

 

 

101: Timer 4 TRGO.

 

 

110: External line 9

 

 

111: c = )+ $ ($ . SWTRIG[SWTRIG2]).

 

 

^ 8( (: $ O ] 7 >, $ TEN1=”1”.

6

WAVE1_0

6)7 # 7 ) = = 1-= b•c.

7

WAVE1_1

00: + = ) >.

 

 

01: + = * 9.

 

 

10 11: + = * # = +

 

 

* ).

 

 

^ 8( (: $ O ] 7 >, $ TEN1=”1”.

8

MAMP1_0

q$ = $ 1-= . } ]

9

MAMP1_1

) * = = # 9.

10

MAMP1_2

0000: †$ 7 0, ] ) 1 7.

11

MAMP1_3

0001: †$ 7 ) [1:0], ] ) 31 7.

 

 

0010: †$ 7 ) [2:0], ] ) 7 7.

 

 

0011: †$ 7 ) [3:0], ] ) 15 7.

 

 

0100: †$ 7 ) [4:0], ] ) 31 7.

 

 

0101: †$ 7 ) [5:0], ] ) 63 7.

 

 

0110: †$ 7 ) [6:0], ] ) 127 7.

 

 

0111: †$ 7 ) [7:0], ] ) 255 7.

 

 

1000: †$ 7 ) [8:0], ] ) 511 7.

 

 

1001: †$ 7 ) [9:0], ] ) 1023 7.

 

 

1010: †$ 7 ) [10:0], ] ) 2047 7.

 

 

>= 1011: †$ 7 ) [11:0], ] ) 4095 7.

12

DMAEN1

6 > DMA 2-= •bc.

 

 

0: 6) >.

1: 6 >.

13

DMAU

8 9 ) ) DMA 1- •bc.

 

DRIE1

0: ..

 

 

& ,$

1: 8 9.

 

 

STM32F100

 

 

14-15

-

 

8

16

EN2

6 > / ) > Œ 2.

 

 

0: 6) >.

1: r >%.

17

BOFF2

†$ 7 * )] Œ 2. (ˆ *

70

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

 

 

9 )] $ , =

 

 

$ )9 O = 7.)

 

 

0: ˆ * >%. 1: 6 > )] + 7 *.

18

TEN2

0: .$ Œ 2 >.

 

 

1: r Œ 2 F, . ), $* ) =$]

 

 

DAC_DHRx >$ = #$ DAC_DOR1..

19

TSEL2_0

6)7 $> $ 2:

20

TSEL2_1

000: Timer 6 TRGO.

 

21

TSEL2_2

001: Timer 3 TRGO.

 

 

 

010: Timer 7 TRGO.

 

 

 

011: Timer 5 TRGO. ( Timer 15 TRGO STM32F100xx)

 

 

100: Timer 2 TRGO.

 

 

 

101: Timer 4 TRGO.

 

 

 

110: External line 9

 

 

 

111: c = )+ $ ($ . SWTRIG[SWTRIG2]).

 

 

^ 8( (: $ O ] 7 >, $ TEN2=”1”.

22

WAVE2_0

6)7 # 7 ) = = 2-= b•c.

23

WAVE2_1

00: + = ) >.

 

 

01: + = * 9.

 

 

10 11: + = * # = +

 

 

* ).

 

 

 

^ 8( (: $ O ] 7 >, $ TEN2=”1”.

24

MAMP2_0

q$ = $ 2-= . } ]

25

MAMP2_1

) * = = # 9.

26

MAMP2_2

0000: †$ 7 0, ] ) 1 7.

27

MAMP2_3

0001: †$ 7 ) [1:0], ] ) 31 7.

 

 

0010: †$ 7 ) [2:0], ] ) 7 7.

 

 

0011: †$ 7 ) [3:0], ] ) 15 7.

 

 

0100: †$ 7 ) [4:0], ] ) 31 7.

 

 

0101: †$ 7 ) [5:0], ] ) 63 7.

 

 

0110: †$ 7 ) [6:0], ] ) 127 7.

 

 

0111: †$ 7 ) [7:0], ] ) 255 7.

 

 

1000: †$ 7 ) [8:0], ] ) 511 7.

 

 

1001: †$ 7 ) [9:0], ] ) 1023 7.

 

 

1010: †$ 7 ) [10:0], ] ) 2047 7.

 

 

>= 1011: †$ 7 ) [11:0], ] ) 4095 7.

28

DMAEN2

6 > DMA 2-= •bc.

 

 

0: 6) >.

1: 6 >.

29

DMAU

8 9 ) ) DMA 2- •bc.

 

DRIE2

0: ..

 

 

& ,$

1: 8 9.

 

 

STM32F100

 

 

30-31

-

8

 

^ 8( (: 1. a # = + * ).

71

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

2. a 9 $] $)

=$ LFSR:

* )+ $= 9 $)$ $ $# ) DAC_DHRx, >%

>$ $) )] 7 $ 7 MAMPx, $

$ $F + =$ DAC->DORx.

DAC->SWTRIGR (O() ) 88 ) / E ]C^) $ $ $7$ - 0x0000 0000. ˆ ) $) > $

ˆ

‰ >

0

SWTRIG1

0: •** .

 

 

1: c = )+ $ Œ 1. 7$)$ >

 

 

: APB1, $# DAC_DHR1 = #

 

 

=$ DAC_DOR1.

1

SWTRIG2

0: •** .

 

 

1: c = )+ $ Œ 2. 7$)$ >

 

 

: APB1, $# DAC_DHR2 = #

 

 

=$ DAC_DOR2.

2-31

-

8

DAC->SR (O() 1 1 ]C^) $ $ $7$ - 0x0000. ˆ ) $)

>. 7$ 7 $F$ $ $ 1”.

ˆ

 

‰ >

 

0-12

-

8

 

 

 

 

 

13

DMAUDR1

1: }9 7 $+ DMA Œ1. $ 7 ) DMA

 

 

# $ $ 7 ) •bc. (Š$ $ ,

 

 

$7$)$ = $ “1”.)

 

14-28

-

8

 

 

 

 

 

29

DMAUDR2

1: }9 7 $+ DMA Œ2. $ 7 ) DMA

 

 

# $ $ 7 ) •bc. (Š$ $ ,

 

 

$7$)$ = $ “1”.)

 

30-31

-

8

 

 

 

 

 

DAC->DOR1 (349 0 () , p 1)

72

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

DAC->DOR2 (349 0 () , p 2)

< ), >$ $) ) O =$) =$ DAC_DHRx,

$ $ * : + : *-= = 7

$ $F . Š $ O =$).

.$ # $F$ $ $ $F =$) DAC_DHRx. $

$ $ , + =$ 7) = # ) $ )

$ ] $ $F + DAC_DOR.

c$ ) = 7) 8 12 ) )

. 6 $ $ $ O 7] )7 =$

= ] )] DAC_DHRx.

DAC->DHR12R1 (O() (0 (,$) 9 ( 1 12-/ 10 49 0 49 4 (8 , p1)

DAC->DHR12L1 (O() (0 (,$) 9 ( 1 12-/ 10 49 0 49 4 (8 ,( , p1)

DAC->DHR8R1 (O() (0 (,$) 9 ( 1 8-/ 10 49 0 49 4 (8 , p1)

73

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

DAC->DHR12R2 (O() (0 (,$) 9 ( 1 12-/ 10 49 0 49 4 (8 , p2)

DAC->DHR12L2 (O() (0 (,$) 9 ( 1 12-/ 10 49 0 49 4 (8 ,( , p2)

DAC->DHR8R2 (O() (0 (,$) 9 ( 1 8-/ 10 49 0 49 4 (8 , p2)

DAC->DHR12RD (O() (0 (,$) 9 ( 1 12-/ 10 49 0 49 4 (8 0 E9 ,)

DAC->DHR12LD (O() (0 (,$) 9 ( 1 12-/ 10 49 0 49 4 (8 ,( 0 E9 ,)

DAC->DHR8RD (O() (0 (,$) 9 ( 1 8-/ 10 49 0 49 4 (8 0 E9 ,)

74

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

^ ,(0 (,$4 ( D( 4 ( D( SPI.

6 STM32F101xx - STM32F103xx $ 7•% 256 rˆ )9 $)

) =$) $ $= SPI I2C, F

- )]. 6 O #$ $$ $ .

75

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

SPI->CR1 (O() E ,( 1 SPI) $ $ $7$ - 0x0000. ˆ ) $)

> $ .

ˆ

‰ >

0

CPHA

6)7 + * ) $]$= SCK

 

 

( . # < = $] :.)

1

CPOL

6)7 $ $]$= SCK

 

 

( . # < = $] :.)

2

MSTR

6)7 # 7 ).

 

 

0: Slave (6 )+).

 

 

1: Master (6 F +).

3

BR0

$ 7 ):

4

BR1

000: fPCLK/2

5

BR2

001: fPCLK /4

 

 

010: fPCLK /8

 

 

011: fPCLK /16

 

 

100: fPCLK /32

 

 

101: fPCLK /64

 

 

110: fPCLK /128

 

 

111: fPCLK /256

6

SPE

6 > * +$ SPI.

 

 

0: 6) >.

 

 

1: 6 >%.

 

 

^ 8( (: ‰$+ SPI # $ SPE=0.

7

LSBFIRST

a * +.

 

 

0: q 9 7 %.

 

 

1: 9 7 %.

8

SSI

ˆ = = 9 7 + ($ . SSM).

9

SSM

6)7 $> 9 7. 6 # Master 7 # “0”

 

 

NSS Internal $ $ * = 9 7 MODF.

 

 

0: 6] NSS.

 

 

1: ˆ SSI, . = .

 

 

 

10

RXONLY

8 # % + 7 + .

 

 

0: c )+ $.

 

 

1: Ž %.

 

 

^ 8( (: †$ $ $ $ $ 7 BIDIMODE.

11

DFF

a )]:

 

 

0: 8-7 ).

 

 

1: 16-7 ).

 

 

^ 8( (: † $ $ O = 7 $

 

 

) > SPI (= 7 SPE=0) .

12

CRCNEXT

†$> > CRC : 7.

 

 

0: † 7 * >.

 

 

1: † =$ CRC.

 

 

^ 8( (: • 7 # $ $ ,

 

 

$ ) F ) =$ SPI->DR.

76