Forum: Mikrocontroller und Digitale Elektronik Einfaches PWM Signal mit AT91SAM7x128


von drunk3nmonk (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

da ich hier zum erstenmal bin, kurz zu mir.
Ich studiere Mechatronik und schreibe derzeit meine Diplomarbeit.
Dazu will ich später eine LED oder einen Laser pulsen. Das ganze möchte 
ich mit einem AT91SAM7x128 steuern. Dazu brauch ich im Endeffekt ein 
einfaches PWM Signal. Das ganze will ich über den Timer/Counter lösen. 
Dazu gibt es auf der Atmel Seite ein Beispielcode, den ich für den 
Anafang einfach testen wollte. Leider bringe ich den nicht zum laufen, 
d.h. am gewünschten PIN liegt kein Signal an.
Ich habe schon mehrere Sachen versucht, aber noch keine Lösung gefunden. 
Ich hoffe ohr könnt mir helfen, weil Programmieren ist nicht meine 
Stärke:-)Zum testen hab ich ab und an ne LED leuchten lassen, ob er den 
ganzen Kram richtig übersetzt. Ich denke mal, dass ich irgendwie den PIO 
Controller nicht richtig initialisiere.

Mein Code hab ich mal mit angehängt, weil leider die Formatierung nicht 
geklappt hat.

Ich hoffe ihr könnt mir weiterhelfen.

von drunk3nmonk (Gast)


Lesenswert?

Was ich gerade sehe:
Zeile 86-87 einfach ignorieren. Das war einfach ein anderer Test.

von Michael_SS (Gast)


Lesenswert?

Muss es denn dieser Controller sein? Für ein einfaches PWM reicht ein 
ATMEGA völlig aus und ist einfacher zu programmieren.

von Michael_SS (Gast)


Lesenswert?

LED on und LED off wird in deiner Main nicht aufgerufen.

von drunk3nmonk (Gast)


Lesenswert?

Hallo,

danke erstmal für die Antworten. Ja leider muss es der Controller sein, 
weil später noch mehr gemacht werden muss und der Controller noch 
rumlag^^
Ich weiß das die Funktionen nicht aufgerufen werden, da ich diese 
manchmal nur als Test aufrufe um zu sehen, dass er das Prog richtig 
kompiliiert.
Aber ich habe meinen Fehler schon selbst gefunden und zwar:

Zeile 91, 98-100 sind falsch und müssen gelöscht werden.
Zeilen 93-94 sind so korrekt.
Der Fehler lag daran, dass ich das Register PIO_BSR (Zeile 96) 
beschrieben habe und der die Peripheral B Funktion beschreibt. Der 
Ausgang des Timers (TIOA1) ist aber rein in der Peripheral A Funktion 
beschrieben.

Wenn das beachtet wird, kommt das entsprechende Signal auch am 
gewünschten Pin an.

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.