Hi
ich versuche nun schon seit langem dieses Problem (ja für mich ist es eins^^) zu lösen, nun bin ich auf diese Idee gekommen:

Code:
// Taktfrequenz 4MHz

#include <C:\Programme\bknd\CC5X\16F84A.H>              // Prozessor-Typ definieren
#pragma config |= 0b.1111.1111.0010		// Konfigurationswort
				




void pause(uns16 ms)
{
OPTION=2;
TMR0=191;
while(TMR0);
}

bit servo @ PORTA.0;
bit hoch @ PORTA.1;
bit runter @ PORTA.2;

void main(void) 
{
TRISB = 0b.0000.0000;			// Pins RB0...RB7 -Ausgänge
PORTB = 0b.0000.0011;
TRISA = 0b.0000.0110;

Sprungmarke:

servo=1;
pause(2);
servo=0;
pause(40);

while(hoch)
{
servo=1;
pause(1);
servo=0;
pause(40);
PORTB= 0b.1111.0000;
}

while(runter)
{
servo=1;
pause(3);
servo=0;
pause(40);
PORTB= 0b.0000.1111;
}

goto Sprungmarke;



}
Ich weiß das es keine PWM in dem Sinne ist aber theoretisch müsste es doch funktionieren. Aber das Servo leuft nur in eine Richtung und bleibt dann da vor sich hin knarrend stehen. Ich weiß nicht weiter und ne richtige PWM kann ich auch nicht. Freue mich auf Antowrt
liebe Grüße Marius