Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Prescale = 1
13
14
15
Config Adc = Single , Prescaler = Auto , Reference = Avcc
16
Start Adc
17
Dim Wert As Integer
18
19
Do
20
21
22
Wert = Getadc(0)
23
Compare1a = Wert
24
25
Locate 1 , 1
26
Lcd ; Wert
27
Waitms 10
28
Cls
29
30
If Wert < 600 Then
31
32
Portc.5 = 1
33
Elseif Wert > 700 Then
34
35
Portc.4 = 1
36
37
Else
38
Portc.5 = 0
39
Portc.4 = 0
40
41
End If
42
Loop
43
End
wo liegt der Fehler? ich such jetzt schon 3 Stunden nach dem Problem und
finde nichts ...
hab nur ich den Fehler?
Normal sollten ja bei 1023 5 v anliegen ...
Danke
Also bei mir gehts.
Kann es sein, daß Du was falsch verstehst?
Weil, Du schreibst "1023 PWM sind 0 Volt".
Es geht ja soherum: Du legst an ADC0(PINC.0) einen Wert vor, z.B.
mit einem Poti. Diesen Wert, übersetzt in einen Digitalwert,
zeigt Dein LCD an. Dito die Ausgänge, wenn Du da LED mit Vorwiderstand
dranmachst, leuchtet die an C.5 von 0V ("0") bis ca 2,4V ("600") und
die an C.4 ab ca. 2,6V ("700").
Joachim
Es gibt auch die Möglichkeit, die PWM invertiert ausgeben zu lassen.
Schau dir mal im Datenblatt deines µC die Registerbeschreibung der Timer
an, da solltest du alles dazu finden.
Wobei ich dir in deiner Arduino-Sprache da auch nicht sagen kann, wie du
das entsprechende Register auf den entsprechenden Wert bekommst :D
Nachtrag:
Deine PWM kommt zwar raus, laut Datenblatt am Pin B.1 (OC1A),
allerdings, wie Karl-Heinz schon schrieb, verkehrtrum. Und wird von
Dir garnicht ausgewertet (nichts an B.1 angeschlossen).
Joachim
j. t. schrieb:> Wobei ich dir in deiner Arduino-Sprache
es ist BASCOM, aber egal
> da auch nicht sagen kann, wie du> das entsprechende Register auf den entsprechenden Wert bekommst :D
Braucht er auch nicht.
1
.... cCompare A Pwm = Clear Down ....
ist genau die von dir angesprochene invertierte PWM. Eine normale PWM
wäre Clear Up.
Aber eigentlich wollte ich ihn dazu 'nötigen', selbst mal in der BASCOM
Hilfe zu recherchieren, welche Möglichkeiten er da hat. Denn das ist
eines der Hauptprobleme bei vielen BASCOM Programmierern (die hier im
Forum aufschlagen): der Unwille, mal in die Doku zu schauen.
Karl Heinz schrieb:> j. t. schrieb:>>> Wobei ich dir in deiner Arduino-Sprache>> es ist BASCOM, aber egal>>> da auch nicht sagen kann, wie du>> das entsprechende Register auf den entsprechenden Wert bekommst :D>> Braucht er auch nicht.>
1
> .... cCompare A Pwm = Clear Down ....
2
>
> ist genau die von dir angesprochene invertierte PWM. Eine normale PWM> wäre Clear Up.> Aber eigentlich wollte ich ihn dazu 'nötigen', selbst mal in der BASCOM> Hilfe zu recherchieren, welche Möglichkeiten er da hat. Denn das ist das> Hauptproblem bei vielen BASCOM Programmierern: der Unwille, mal in die> Doku zu schauen.
Genau das war die Lösung, Danke an alle.