1023 PWM sind 0 v?

OP #3609347
Lesenswert?

Ich hab das Problem das bei mir jetzt 1023 PWM jetzt 0 V sind.

Hier der Code:
1
$regfile = "m8def.dat"
2
$crystal = 1000000
3
$baud = 9600
4

5
Config Portc.5 = Output
6
Config Portc.4 = Output
7
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , _
8
   Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
9
Config Lcd = 16 * 1
10
Cursor Off
11

12
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
#3609791
Lesenswert?

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
#3609799
Lesenswert?

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
#3609819
Lesenswert?

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.
OP #3609823
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren