Witam
i proszę o pomoc
chcę zrobić urzadzenie sterowane przez rs, i napisałem program w bascomie 11173, nadmieniam, iż nie jestem dobry z programowania
ma to sterować 4 diodami poprzez rs485 ale na razie próbuję na rs232
po skompilowaniu chodzi na symulatorze bascomowym bez problemu
natomiast nie chce chodzić po zaprogramowaniu procesora
#9zxxxx# to komenda uruchamiająca diody dla danego numeru slave, może to póżniej rozszerzę więc coś dodatkowego, xxxx to 0 lub 1 do sterowania diodami
siedzę nad tym już kilka dni i nic inne programy testujące chodzą na rs po wgraniu do procesora
a jeszcze jedno procesor działa wolniej z portem szeregowym, niż to jest zaznaczone w programie, czytałem o tym na forach, ale nic takiego nie znalazłem, co może być przyczyną sprawdzane na kilku procesorach i comach
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
Config Pind.6 = Output
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Serialin = Buffered , Size = 15
Dim Zn As Byte
Dim St_led1 As Byte
Dim St_led2 As Byte
Dim St_led3 As Byte
Dim St_led4 As Byte
Led1 Alias Portd.6
Led2 Alias Portb.0
Led3 Alias Portb.1
Led4 Alias Portb.2
Enable Interrupts
Reset Led1
Reset Led2
Reset Led3
Reset Led4
Do
Zn = Inkey()
If Zn = "#" Then
Print Zn
Do
Zn = Inkey()
If Zn = "9" Then
Waitms 200
Print Zn
Do
Zn = Inkey()
If Zn = "z" Then
Print "wybrano zapis"
Do
Zn = Inkey()
If Zn = "0" Or Zn = "1" Then
St_led1 = Zn
Print St_led1
Do
Zn = Inkey()
If Zn = "0" Or Zn = "1" Then
St_led2 = Zn
Print St_led2
Do
Zn = Inkey()
If Zn = "0" Or Zn = "1" Then
St_led3 = Zn
Print St_led3
Do
Zn = Inkey()
If Zn = "0" Or Zn = "1" Then
St_led4 = Zn
Print St_led4
Do
Zn = Inkey()
If Zn = "#" Then
Print "wszystko ok"
Led1 = St_led1.0
Led2 = St_led2.0
Led3 = St_led3.0
Led4 = St_led4.0
Print St_led1.0 ; St_led2.0 ; St_led3.0 ; St_led4.0
Exit Do
Else
If Zn > Chr(0) Then
Exit Do
End If
End If
Loop
Else
If Zn > Chr(0) Then
Exit Do
End If
End If
Loop
Else
If Zn > Chr(0) Then
Exit Do
End If
End If
Loop
Else
If Zn > Chr(0) Then
Exit Do
End If
End If
Loop
Else
If Zn > Chr(0) Then
Exit Do
End If
End If
Loop
Else
If Zn > Chr(0) Then
Exit Do
End If
End If
Loop
Else
If Zn > Chr(0) Then
Print "zle"
Exit Do
End If
End If
Loop
End If
Loop
End
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięProgram w bascomie pomocy
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
-
- -
- Posty:651
- Rejestracja:13 sty 2005, o 18:38
- Lokalizacja:Krasnystaw
- Kontaktowanie:
Re: Program w bascomie pomocy
Przy m8535 miałem między innymi problemy z przypisanie zmiennych pod poszczególne porty. Wszystko było ok ale nie chciało wykonać
Led1 Alias Portd.6
Led2 Alias Portb.0
Led3 Alias Portb.1
Reset Led1
Reset Led2
Reset Led3
Reset Led1
dopiero pomógł w programie powrót do
Reset Portd.6
[ Dodano: 13-12-2005, 08:21 ]
...przynajmniej tak zauważyłem...
FaktycznieTo jakiś horror - po co tyle zagnieżdżonych Do...Loop. Dla mnie to za trudne .
AndrzejD
Masz 2 wyjścia:
a)Szybko usunąć ten kod z HDD i zapomnieć o nim
b)Oprawić w ramkę i zatytułować "Nigdy więcej"
Teraz poważnie:
Kod: Zaznacz cały
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
Config Pind.6 = Output
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Serialin = Buffered , Size = 15
Dim St_led(7) As Byte
Dim Zn As Byte , Chars As Byte
Led1 Alias Portd.6
Led2 Alias Portb.0
Led3 Alias Portb.1
Led4 Alias Portb.2
Enable Interrupts
Reset Led1
Reset Led2
Reset Led3
Reset Led4
Chars = 1
Do
Print "CMD>";
Zn = Waitkey()
If Zn = "#" Then
While Chars < 8
Zn = Waitkey()
If Zn = "#" Then Exit While
st_led(chars) = Zn
Incr Chars
Wend
If Chars = 7 And Zn = "#" Then
If st_led(1) = "9" Then
If st_led(2) = "z" Then Print "zapis ";
For Zn = 3 To 6
Print Chr(st_led(zn));
st_led(zn) = st_led(zn) And 1
Next
Led1 = st_led(3)
Led2 = st_led(4)
Led3 = st_led(5)
Led4 = st_led(6)
Print
End If
End If
End If
Chars = 1
Print
Loop
Piotrek
program w bascomie
Bardzo dzięki działa
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 90 gości