Es ist scheinbar so, das die Init von portA nicht immer functioniert. Ich habe auch schon erfahren, das beim debuggen und download, nicht alle register von µ gereset werden. Nach eine hard reset (abklemmen Spannung) hat der µ dan wel functioniert.
Bei den debugger konnen sie auch schon sehen oder den Eingang A0 hoch oder niedrig ist. Auch die initialisierung von Ports kann hier angesehen werden. Bei mir ist das program problemlos gelaufen. Ich habe wel die Abfrage "INT_count==1" gaendert in "INT_count>0", jetzt functioniert das auch bei mehrmals drucken.
EDIT :
Ich habe beim zweite Versuch auch das problem das die LEDS nicht leuchten !! Jetzt habe ich wel ein Fehler gefunden in die Init von Ports :
Da wird erst eine structure fur Port C gefullt, und dan wieder ueberschrieben für Port A !! Damit wirden Port A und Port C als AF_PP definiert !! Einfach die Zeile "GPIO_Init(GPIOA, &GPIO_Inity);" nach oben verschieben, unten den declarierung von der Structure von Port A !! Dann hat er es bei mir wieder functioniert./************************************************** *****************************/
void GPIO_Setup ()
{
/* LEDs pin (PC.08 and 09) configuration */
GPIO_Inity.GPIO_Pin =GPIO_Pin_8 | GPIO_Pin_9;
GPIO_Inity.GPIO_Mode =GPIO_Mode_Out_PP;
GPIO_Inity.GPIO_Speed =GPIO_Speed_50MHz;
/* TIM2 PA.0 configuration*/
GPIO_Inity.GPIO_Mode =GPIO_Mode_AF_PP;// soll ich PULL-Down oder Pull up werwenden wenn der
// Eingang als Pull-Down Konfiguriert?
// Der AF weil bei dieser Pin wir der Alternate Function verwendet
GPIO_Inity.GPIO_Speed =GPIO_Speed_50MHz;
GPIO_Inity.GPIO_Pin =GPIO_Pin_0;
GPIO_Init(GPIOA, &GPIO_Inity);
GPIO_Init(GPIOC, &GPIO_Inity);
}
Lesezeichen