Forum: Mikrocontroller und Digitale Elektronik ATXMega 64D3 - PortF.1 toggled von sich aus.


von Dani (Gast)


Lesenswert?

Hallo Forum,

ich benötige eure Hilfe.

Mit dem folgenden Code setze ich PortF.0 auf Low und PortF.1 auf High.
An den beiden PINs ist eine DuaL-LED über einen Vorwiderstand 
angeschlossen. Starte ich das Programm blinkt die LED!?

Ich habe die Spannungen an den beiden PINs mit dem Oszilloskop gemessen:

Der Pegel an Portf.0 bleibt auf GND.
Der Pegel an Portf.1 wechselt im 1,6s Takt zwischen 2.5v (Vcc) und ca. 
1,5v.

Weshalb "blinkt" die LED, woher kommt der 1,6s Takt?
1
$regfile = "xm64d3def.dat"
2
$crystal = 32000000
3
$hwstack = 40
4
$swstack = 16
5
$framesize = 32
6
7
Config Osc = Enabled , 32mhzosc = Enabled
8
Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1
9
10
'Led-1
11
Config Portf.0 = Output                                     'led1_rt
12
Config Portf.1 = Output                                     'led1_gn
13
14
Portf.0 = 0
15
Portf.1 = 1
16
17
End

Vielen Dank im Voraus, Dani

von Dani (Gast)


Lesenswert?

Nachtrag:

Wenn ich den prescaler von 1 auf 2 ändere bleibt die Blinkfrequenz 
gleich.
Wenn ich die Pegel an den beiden Ports tausche leuchte die LED 
dauerhaft.
1
Portf.0 = 1
2
Portf.1 = 0

von Georg G. (df2au)


Lesenswert?

Bau mal vor dem END eine Endlosschleife. Das riecht danach, dass der 
Prozessor immer im Kreis herum läuft.

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.