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