BID = 110063
Evater Gerade angekommen
Beiträge: 2
|
Hallo,
Ich möchte mit dem Minimodul von Phytec eine Drehzahlregelung aufbauen. Das entsprechende Programm habe ich mit der Entwicklungssoftware von Keil geschrieben.
Das Problem ist aber das es im Mikrocontroller nicht funktioniert.
Über den Adwandler wollte ich Spannungswerte einlesen und mit einem Ausgangssignal aus dem PWM-Ausgang den Verstärker für den Motor ansteuern.
Zum Testen habe ich ein Programm geschrieben, welches einfach ein Analogsignal einließt und dann am PWM-Ausgang ausgeben soll.
Wenn ich Werte vorgebe die der PWM-Ausgang ausgeben soll klappt es. Wenn ich aber einen Wert einlesen will haut es nicht hin.
Meine Funktion zum Einlesen:
int wert_wandeln()
{
ADCON=0x0000; //Wandler initialisieren
ADST=1; //Wandlung starten
while(ADBSY); //Warten bis Wandlung beendet
ADCIR=0; //AD-Interrupt rücksetzen (laut Literatur)
return ADDAT; //Wert zurück geben
}
weiterhin habe ich das Register P5DIDIS (0xFFA4) auf Wert 1 gesetzt. (Digitaler Input von Pin 0 deaktiviert. Nur analog. Laut Infineon Release Notes)
Der Controller scheint in dieser Funktion fest zuhängen. Vielleicht weil ADBSY nicht rückgesetzt wird?
In der Keil Entwicklungssoftware funktioniert alles einwandfrei. Diese scheint jedoch einige Fehler zu verzeihen. Gibt es noch Einstellungen die ich vornehmen muss?
Ich bedanke mich schonmal im Vorraus für die Hilfe.
Stephan
|