Bascom 1.11.9.3, ATMega32, STK500
Hallo,
ich hänge an folgendem Problem und komme nicht weiter:
Über einen ATMega32 lese ich am ADC0 ein analoges Signal ein, bearbeite
es und will den Wert in einem waitms-Befehl verarbeiten:
1 | Dim Adc0 As Word
|
2 | Dim Adc01 As Single
|
3 | Dim Tdelay As Single
|
4 |
|
5 | Config Adc = Single , Prescaler = Auto , Reference = Internal_2.56
|
6 |
|
7 | Start Adc
|
8 |
|
9 | Begin:
|
10 |
|
11 | Do
|
12 |
|
13 | Adc0 = Getadc(0)
|
14 |
|
15 | Adc01 = Adc0
|
16 |
|
17 | Adc01 = Adc01 / 100
|
18 |
|
19 | Adc01 = Round(adc01)
|
20 |
|
21 | Tdelay = 10 + Adc01
|
22 |
|
23 | LCD Tdelay 'funktioniert; gewollter ganzzahliger Wert zwischen 10 und 20
|
24 |
|
25 | PORTB.0 = 1
|
26 |
|
27 | waitms Tdelay
|
28 |
|
29 | PORTB.1 = 1
|
30 |
|
31 | Loop
|
32 |
|
33 | End
|
Leider wird der wait-Befehl einfach übersprungen und an beiden Ausgängen
liegt gleichzeitig ein Signal an. Woran kann es liegen?
Das Programm ist so nicht vollständig, ich habe nur das dargestellt, was
für das Problem interessant sein sollte. Kann Bascom mit "wait"
überhaupt Variablen verarbeiten? Dass es nicht geht, habe ich bisher nur
über den "waitus"-Befehl in der Hilfe lesen können.
Gruß,
maxton