Jak zacit s STM32?

Jan Waclawek konfera na efton.sk
Neděle Listopad 22 19:33:27 CET 2015


Ako vravim, L4 DISCO nemam, takze len naslepo
http://www.efton.sk/STM32/blinkyl4.zip (aj ten povodny 'L053 som presunul
na http://www.efton.sk/STM32/blinky.zip )

LED som si nastudoval ze su na PB2 cervena a PE8 zelena, dufam ze na tych
pinoch nevisi aj nieco ine, to som sa nepozrel.

>Asi budete musiet zmenit (zvacsit) casovaciu konstantu, aby Vam to
>neblikalo prilis rychlo (mne to blika tak akurat prijemne, cca za sekundu
>sa vystrieda aj cervena aj zelena). Som lenivy si pozriet rozdiel medzi
>defaultnymi hodinami a odhadnut rozdiel medzi poctom instrukcii na m0+ a
>m4.

Tak som si pozrel: oba maju defaultne hodiny MSI na 2MHz. Rozdiel v pocte
instrukcii je nepatrny:
L0 (M0+):
	while(n > 0) n--;
 80000c4:	9b01      	ldr	r3, [sp, #4]
 80000c6:	2b00      	cmp	r3, #0
 80000c8:	d003      	beq.n	80000d2 <LoopDelay+0x12>
 80000ca:	9b01      	ldr	r3, [sp, #4]
 80000cc:	3b01      	subs	r3, #1
 80000ce:	9301      	str	r3, [sp, #4]
 80000d0:	e7f8      	b.n	80000c4 <LoopDelay+0x4>

L4 (M4):
 800018c:	9b01      	ldr	r3, [sp, #4]
 800018e:	b11b      	cbz	r3, 8000198 <LoopDelay+0x10>
 8000190:	9b01      	ldr	r3, [sp, #4]
 8000192:	3b01      	subs	r3, #1
 8000194:	9301      	str	r3, [sp, #4]
 8000196:	e7f9      	b.n	800018c <LoopDelay+0x4>


Nemam chut rozmyslat nad inym zdrojom rozdielov v casovani - urcite to bude
menej ako +100%-50%, a tak je to OK.

Oproti popisu som musel urobit este jeden krok: pridal som prazdny
system_stm32l4xx.h, to je header k tomu system_volaco.c co som pisal ze
nie je treba.

Este jedna nechutna zmena: konstanty GPIO_MODER_MODERn sa u 'L0 volaju
GPIO_MODER_MODEn. ST: TO VAZNE?

wek



Další informace o konferenci Hw-list