Gast
#2090306
Hallo, auf dem Gebiet der Microcontrollerprogrammierung bin ich leider ein ziemlicher Neuling und deshalb entschuldige ich mich schon mal im vorraus für etwaige Unkenntnisse. Mein Problem ist folgendes: Im unten angegebenen Quellcode wird einfach nur die LED auf dem Board periodisch an und aus geschaltet. Mit der Schleife stellt man halt die Zeit ein. Soweit ziemlich simpel aber ich wollte halt auch klein anfangen. Was ich nun nicht verstehe ist, dass der STM8S105C6 nach einem Reset auf 2Mhz Clock gestellt ist. D.h. in einer Sekunde 2Millionen Arbeitsschritte. Also müsste, wenn die Schleife bis 50000 zählt, die LED ziemlich schnell blinken und ungefähr bei i = 2*10^6 müsste Sie eine Sekunde an und aus sein. Evtl kleinere Abweichungen. Aber bei i = 50000 Blinkt sie bereits ungefähr jede Sekunde. Was mache ich falsch bzw. wo ist mein Denkfehler? Auch mit allen anderen Clocks die es evtl sein könnten kommt es nicht hin. Und das der STM8 einen Clock von 50kHz hat habe ich auch nirgends gelesen. #include "stm8s.h" main(){ GPIO_DeInit(GPIOD); GPIO_Init(GPIOD, GPIO_PIN_0,GPIO_MODE_OUT_PP_LOW_SLOW); while (1){ unsigned int i = 0; for(i=0;i<50000;i++); GPIO_WriteReverse(GPIOD, GPIO_PIN_0); } }