PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bascom Variablen



Cybererror
26.08.2009, 18:29
Hallo.

Wollte mal was porbiren aber leider geht es nicht so wie ich will.

Ich wollte Die Ein und Aus schaltzeit die LED berechnen lassen um sie zu Dimmen.

Wenn ich es als zahl eingebe ZB Waitus 2000
geht es aber wenn ich es als Variablen eingebe geht es nicht?

Was mache ich falsch?


´Test Porgramm
$regfile = "m8def.dat"
$crystal = 3686100
$hwstack = 100
$swstack = 100
$framesize = 100


Config Portc = Output
Config Portb.4 = Output
Config Portb.5 = Output
Dim Ein As Long
Dim Aus As Long
Dim Zahl As Word
Chip1 Alias Portb.4
Chip2 Alias Portb.5


Portc = &B00000000
Chip1 = 1 : Chip1 = 0
Chip2 = 1 : Chip2 = 0


Portc = &B00000001
Chip1 = 1 : Chip1 = 0
Chip2 = 0 : Chip2 = 0
Ein = 1
Aus = 2000


Do

Portc = &B00001111
Chip2 = 1 : Chip2 = 0
Waitus 1 (Ein)<- Hier setzt ich diese Variable ein
Portc = &B00000000
Chip2 = 1 : Chip2 = 0
Waitus 2000 (Aus)

Loop
Code-Tags vom Mod eingefügt (PicNick)

linux_80
26.08.2009, 18:58
Hi,

das haben schon mehr versucht,
aber bei Waitus kann man keine Variable angeben, leider:
http://avrhelp.mcselec.com/waitus.htm

PS:
Ein Workaround wäre, ein festes Waitus, mit einer Schleife drumrum.

Vitis
26.08.2009, 20:38
LEDs dimmen mit Wait ist aber nicht sehr elegant ...
versuchs doch mal mit Hardware PWM über Timer ...
Wenn bei der Wait-Variante mehr Code dazu kommt flackert die LED

Cybererror
27.08.2009, 06:43
Wie Soll das gehen mit PWM über ein datenregister?

Sauerbruch
27.08.2009, 09:15
So in etwa:

http://www.rn-wissen.de/index.php/Bascom_und_PWM

Cybererror
27.08.2009, 18:10
aber wie mache ich das über datenregister?

Sauerbruch
27.08.2009, 19:46
Was genau meinst Du denn mit "es über Datenregister machen"?

Was soll das Programm den tun?

Cybererror
27.08.2009, 19:58
habe über vier Datenregister 32 LED zum ansteuern. würder gern das 8LED ( ein Datenregister) die LED hoch bzw runter Dimmen. über ein langen porgrammcode geht es ja aber das ist zuviel. will das gerne leichter haben.

Thomas$
27.08.2009, 21:03
das kanst du doch auch über multiplex machen 16 io und 2 pwm dann kanste 32 leds theoretisch einzeln dimmen. ist halt auch die rage wie du das am ende beschallten willst

Cybererror
28.08.2009, 06:46
ja stimmt. habe es aber mit datenregister aufgebaut.
und wurde es gerne einfügen.