Hi, ich verstehe nicht wieso auf meinem Board nicht zwei LED's gleichzeitig leuchten können. Sobald ich eine LED aktiviere kann ich die zweite nicht aktivieren. mein Code: /* main.c - 02.12.2011 - Firmware V1.00 */ #include <stm32f10x_lib.h> #include <stdio.h> #include "setup.h" extern volatile unsigned char Clock1s; extern volatile unsigned char Clock100ms; extern volatile unsigned long TimeTick; void Delay (unsigned long tick) { unsigned long timetick; timetick = TimeTick; while ((TimeTick - timetick) < tick); } int main (void) { SetupClock(); SetupLED (); GPIO_WriteBit(GPIOE, GPIO_Pin_4, Bit_SET); // Turn On LED1 */ Delay(100); GPIO_WriteBit(GPIOE, GPIO_Pin_5, Bit_SET); // Turn On LED2 */ } void SetupLED (void) { /* Enable GPIOE clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE); /* Configure PE4..PE5 as outputs push-pull, max speed 50 MHz */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOE, &GPIO_InitStructure); } Verdrahtet sind die led's so PE4 ---[ R ]--|<|---VDD PE5 ---[ R ]--|<|---VDD
Mich wundert, dass der Code kompiliert ... in der Funktion SetupLED benutzt du GPIO_InitStructure, ohne diese Variable zu definieren:
1 | GPIO_InitTypeDef GPIO_InitStructure; |
2 | GPIO_StructInit(&GPIO_InitStructure); |
cell85 schrieb: > Verdrahtet sind die led's so > > PE4 ---[ R ]--|<|---VDD > PE5 ---[ R ]--|<|---VDD Dann dürften die LEDs beide nicht leuchten, wenn ihre Bits gesetzt sind. Strom fließt ja nur, wenn PE4/PE5 auf GND gelegt sind.
doch die ist definiert in der setup.c aber die habe ich hier nicht reinkopiert. Genau die LED-Ports sind ja normalerweise auf high und ich müsste ja RESET machen um die LED zu aktivieren. ich glaub ich hatte ein denkfehler. RESET macht LED an , SET machts aus.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.