Forum: Mikrocontroller und Digitale Elektronik SAM4S mit ASF: simple blinker loop mit ungewolltem reset


von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Hallo, icharbeite mich gerade mühsam in das Atmel Software Framework ein 
und insbesondere in die Verwendung des ASF mit custom (eigenen) boards.

Immerhin habe ich alles jetzt soweit, dass zwei LEDs auf meinem custom 
board mit den IOPORT, SYSTEM CLOCK CONTROL und DELAY services 
abwechselnd jeweils mit 1Hz blinken. Hurra, hallo welt.

Mir fällt dabei nur auf, dass nach 9 durchläufen (dh mit dem start der 
zehnten) die routine zu resetten scheint, was man kurz daran erkennt, 
dass die letzte LED kurz unterbricht, wieder aufleuchtet und damit einen 
minimalen (optisch aber bemerkbaren) Zeitversatz erzeugt.
Der code allerdings ist recht simpel und gib keinen Anlass für so etwas 
wie eine for-loop mit n=9 bzw 10:
1
#include <asf.h>
2
3
int main (void)
4
{
5
  /* Insert system clock initialization code here (sysclk_init()). */
6
  sysclk_init();
7
  board_init();
8
  
9
  delay_init(sysclk_get_cpu_hz());
10
  
11
    ioport_set_pin_level(LED0_GPIO, false);
12
    ioport_set_pin_level(LED1_GPIO, false);
13
    
14
    while(1){
15
      ioport_toggle_pin_level(LED0_GPIO);
16
      delay_ms(500);
17
      ioport_toggle_pin_level(LED1_GPIO);
18
      delay_ms(500);
19
    }
20
21
}

Ich weiß, dass ohne den ganzen asf-header-wust evtl nur geringe aussagen 
möglich sind, vielleicht ist das aber ein generelles ding dass euch 
schon untergekommen ist - habt ihr Ahnungen wo ich nach der Ursache 
suchen kann? Mir wäre recht das am anfang zu beheben und nicht dann, 
wenn schon uart, spi etc implementiert ist und dann immer wieder 
irgendwann irgendwelche fehler auftreten, die ich mir nicht erklären 
kann.
Kann es irgendwie mit XTAL/Clock/initalisierung zu tun haben?

von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Niemand?

von Maxx (Gast)


Lesenswert?

Schaltet einfach mal den Watchdog aus. Der läuft standardmässig.

von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Danke, das wars!

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
Noch kein Account? Hier anmelden.