Ich habe zum Thema GPIO versucht, mich an diversen Tutorials
durchzuhangeln, wie etwa http://diller-technologies.de/stm32.html.
Mein Code sieht folgendermaßen aus:
1 | #include "stm32f10x.h"
|
2 | #include "Delay.h"
|
3 |
|
4 |
|
5 | void INIT_GPIO_C(void){
|
6 | GPIO_InitTypeDef GPIO_InitStructure;
|
7 | RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // initialisiere Clock für Port C
|
8 | GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // Output Push-Pull
|
9 | GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; // Pin 13
|
10 | GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // Reaktionsgeschwindigkeit?
|
11 | GPIO_Init(GPIOC,&GPIO_InitStructure);
|
12 | }
|
13 |
|
14 |
|
15 | int main(void)
|
16 | {
|
17 | uint32_t zeit = 500;
|
18 | INIT_GPIO_C();
|
19 |
|
20 | Delay_Ms(zeit);
|
21 | //GPIO_SetBits(GPIOC,GPIO_Pin_13);
|
22 | //GPIOC->BSRR=0x00002000;
|
23 | GPIO_WriteBit(GPIOC,GPIO_Pin_13,Bit_SET);
|
24 | while(1)
|
25 | {
|
26 | Delay_Ms(zeit);
|
27 | }
|
28 | }
|
an Pin13 hängt einfach eine LED dran.
Ich würde bei dem Code erwarten, dass diese durch "GPIO_Write......."
eingeschaltet wird und danach auch an bleibt. Sie leuchtet aber nur kurz
und geht dann wieder aus.
Mit den beiden auskommentierten Zeilen darüber habe ich es auch
versucht, ohne Erfolg.
Meine Frage: Wieso geht die LED wieder aus?