PS_8 steht für die Zeitbasis
Aha, vielleicht sollte ich mir doch mal die Doku anschauen. PS steht für PreScaler (=Vorteiler). Die Periodendauer bei 36000Hz (36kHz) ist doch 27,7µs oder 0,0000277Sek. (0,0000277+36000=0,9972). Aber leider wird's dadurch auch nicht besser. 542,5ns sind 0,0000005425Sek., mal 51 sind 0,0000276675Sek.
http://www.c-control-pro.de/document...imer_t3pwm.htm
Code:
#define PWM_IR 35
#define IR_left 27
#define IR_right 29
#define TSOP 26
Sub main()
PRO_BOT128_INIT()
Port_DataDirBit(PWM_IR,PORT_OUT)
Port_DataDirBit(IR_left,PORT_OUT)
Port_DataDirBit(IR_right,PORT_OUT)
Port_DataDirBit(TSOP,PORT_IN)
// Timer_T3PWM(51,25,PS_8) // Timer nicht aktivieren
Port_WriteBit(PWM_IR,PORT_ON) // Anoden High
Port_WriteBit(IR_left,PORT_OFF) // Kathoden Low
Port_WriteBit(IR_right,PORT_OFF)
Do While True
End While
End Sub
So müßten 2*0,007mA durch OC3A fliesen. Wenn das klappt kann man wieder ohne aktivierten Timer in der Hauptschleife den OC3A "von Hand" togglen. OC3A ein, Periodendauer warten, OC3A aus, Periodendauer warten usw. Nach jedem Durchgang kann man den TSOP abfragen und den Status an einer LED ausgeben.
Gruß
mic
Lesezeichen