Füge das noch am Anfang der main() ein:
1 | RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
|
Alsdann evtl. den Systick Handler und seine Helferlein:
1 | static __IO uint32_t TimingDelay;
|
2 | /**
|
3 | * @brief Inserts a delay time.
|
4 | * @param nTime: specifies the delay time length, in milliseconds.
|
5 | * @retval None
|
6 | */
|
7 | void Delay(uint32_t nTime)
|
8 | {
|
9 | TimingDelay = nTime;
|
10 |
|
11 | while(TimingDelay != 0);
|
12 | }
|
13 | /**
|
14 | * @brief Decrements the TimingDelay variable.
|
15 | * @param None
|
16 | * @retval None
|
17 | */
|
18 | void TimingDelay_Decrement(void)
|
19 | {
|
20 | if (TimingDelay != 0x00)
|
21 | {
|
22 | TimingDelay--;
|
23 | }
|
24 | }
|
25 | /**
|
26 | * @brief This function handles SysTick Handler.
|
27 | * @param None
|
28 | * @retval None
|
29 | */
|
30 | void SysTick_Handler(void)
|
31 | {
|
32 | TimingDelay_Decrement();
|
33 | }
|
Hier mit den original Kommentaren der Discovery VL Jungs.
Jim M. schrieb:
> Versuche mal die GPIOs auf Low zu setzen, oft sind LEDs nach VCC und
> nicht nach Masse geschaltet (active Low). Müsste man im Schaltplan
> sehen.
Das VL Discovery legt die LED auf Masse, ein High am Portpin sollte sie
schon zum leuchten bringen, das stimmt also so.
Empfehlenswert ist Application Note UM919 aber immer, dadrin sind die
Schaltpläne.