zwei pwm kanäle regeln bascom

Gast #1353252
Hallo!

ich möchte mit einem at8 zwei leds dimmen. dazu soll ein schalter 
betätigt werden, um die entsprechende led auszuwählen und dann über ein 
poti der wert vorgegeben werden. (also mit einem poti sollen beide 
geregelt werden)

dazu habe ich folgendes programm geschrieben
1
$regfile "m8def.dat"
2
$crystal = 1000000
3

4
Config Adc = Single , Prescaler = Auto , Reference = Avcc   'Config ADC
5
Start Adc
6

7
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1
8

9
Config Portb.1 = Output
10
Config Portb.2 = Output
11
Config Pinb.7 = Input
12
S1 Alias Pinb.7
13
Config Pinb.3 = Input
14
S2 Alias Pinb.3
15

16
Dim Pwm1 As Word
17
Dim Pwm2 As Word
18

19
Compare1a = 128
20
Compare1b = 128
21

22
Do
23
   If S1 = 1 Then
24
      Pwm1 = Getadc(4)
25
      Pwm1 = Pwm1 / 4
26
      Pwm1a = Pwm1
27
   End If
28

29
   If S2 = 1 Then
30
      Pwm2 = Getadc(4)
31
      Pwm2 = Pwm2 / 4
32
      Pwm1b = Pwm2
33
   End If
34
Loop
35

36
End


jetzt habe ich das problem, dass bascom bei der zuweisung von pwm2 bzw 
pwm1b rummeckert und das programm nicht kompiliert. das problem hatte 
ich bei anderen programmen auch schon, jedoch nie gelöst.

wie kann ich beide pwms richtig nutzen?

wenn ich den teil von pwm2 weglasse funzt es, jedoch dauert es einige 
sekunden, bis ich bei S1=0 die pwm nicht mehr regeln kann.

vielen dank schonmal für eure hilfe gruß sebastian
sebastian schrieb:

> jetzt habe ich das problem, dass bascom bei der zuweisung von pwm2 bzw
> pwm1b rummeckert und das programm nicht kompiliert.

BASCOM meckert sicher nicht einfach rum, sondern gibt eine halbwegs 
vernünftige Fehlermeldung. Die muss zwar nicht unbedingt im Klartext 
eine Lösung des Problems beinhalten sondern kann manchmal auch auf eine 
falsche Fährte führen. Aber lesen sollte man sie nichts desto trotz, 
denn dazu ist sie da. Das schlimmste was passieren kann ist, dass man 
mit Lesen der Fehlermeldung einen Hinweis bekommt, was eigentlich das 
Problem ist.

Du gehst ja auch nicht zu Arzt und meckerst rum, sondern erzählst ihm wo 
es dir weh tut, seit wann das so ist, was du getan hast etc.
Sprich du gibst ihm Informationen. "Es tut weh" ist keine Information 
mit der irgendein Arzt irgendetwas anfangen kann.
Gast
irgendwas mit assignment error stand da. habe das problem jetzt aber 
schon gelöst. anscheinend mag bascom es nicht, wenn die variablennamen 
für die pwmzuweisung pwm1 und pwm2 heißen. hab mal einen nen komplett 
anderen namen gegeben und dann gings.


eine frage habe ich allerdings noch: ich bräuchte einen mc mit 3, besser 
4 pwm kanälen und einem i/o port. also was relativ kleines ohne viel 
schnick schnack. was käme da in frage?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.