A wiec sprawa wygląda następująco. Program wygląda tak:
Priority Set Serial
Enable Serial
Enable Interrupts
On Serial Przerwanie_rs232
Scon = &H50
Pcon = Pcon Or 128
Config Timer1 = Timer , Mode = 2 , Gate = Internal
Th1 = 253 ' 19200bps
Start Timer1
Set P3.0
Set P3.1
Dim Receive As Bit
Dim Dane As Byte
Receive = 0
Reset P3.7 : Set P3.5 : Set P3.2 : Set P1.3 : Set P1.0 : Reset P1.6 : Set P1.4 'disable 1 i 2 i LED B
'Program główny
Do
If Receive = 1 Then
Select Case Dane
Case 0 : Goto Potwierdz
Case 1 : Goto Xstep1
Case 2 : Goto Xstep2
Case 3 : Goto Xstep3
Case 4 : Goto Xstep4
Case 5 : Goto Xstep5
Case 6 : Goto Xstep6
Case 7 : Goto Xstep7
Case 8 : Goto Xstep8
Case 9 : Goto Xstop
Case 10 : Goto Xystopdiodab
Case 11 : Goto Ystep1
Case 12 : Goto Ystep2
Case 13 : Goto Ystep3
Case 14 : Goto Ystep4
Case 15 : Goto Ystep5
Case 16 : Goto Ystep6
Case 17 : Goto Ystep7
Case 18 : Goto Ystep8
Case 19 : Goto Ystop
Case 20 : Goto Ini
Case 21 : Goto Pendown
Case 22 : Goto Penup
Case 23 : Goto Diodar
Case Is > 23 : Goto Potwierdz
End Select
'1 silnik
Xstep1:
Reset P3.2 : Set P3.3 : Set P3.5 '+ 0
Goto Potwierdz
Xstep2:
Reset P3.2 : Set P3.3 : Reset P3.5 : Set P3.4 '+ +
Goto Potwierdz
Xstep3:
Set P3.2 : Reset P3.5 : Set P3.4 '0 +
Goto Potwierdz
Xstep4:
Reset P3.2 : Reset P3.3 : Reset P3.5 : Set P3.4 '- +
Goto Potwierdz
Xstep5:
Reset P3.2 : Reset P3.3 : Set P3.5 '- 0
Goto Potwierdz
Xstep6:
Reset P3.2 : Reset P3.3 : Reset P3.5 : Reset P3.4 '- -
Goto Potwierdz
Xstep7:
Set P3.2 : Reset P3.5 : Reset P3.4 '0 -
Goto Potwierdz
Xstep8:
Reset P3.2 : Set P3.3 : Reset P3.5 : Reset P3.4 '+ -
Goto Potwierdz
'2 Silnik
Ystep1:
Reset P1.0 : Set P1.1 : Set P1.3 '+ 0
Goto Potwierdz
Ystep2:
Reset P1.0 : Set P1.1 : Reset P1.3 : Set P1.2 '+ +
Goto Potwierdz
Ystep3:
Set P1.0 : Reset P1.3 : Set P1.2 '0 +
Goto Potwierdz
Ystep4:
Reset P1.0 : Reset P1.1 : Reset P1.3 : Set P1.2 '- +
Goto Potwierdz
Ystep5:
Reset P1.0 : Reset P1.1 : Set P1.3 '- 0
Goto Potwierdz
Ystep6:
Reset P1.0 : Reset P1.1 : Reset P1.3 : Reset P1.2 '- -
Goto Potwierdz
Ystep7:
Set P1.0 : Reset P1.3 : Reset P1.2 '0 -
Goto Potwierdz
Ystep8:
Reset P1.0 : Set P1.1 : Reset P1.3 : Reset P1.2 '+ -
Goto Potwierdz
'pen
Pendown:
Set P3.7
Goto Potwierdz
Penup:
Reset P3.7
Goto Potwierdz
'stop
Xstop:
Set P3.5 : Set P3.2 'disable 1
Receive = 0
Goto Potwierdz
Ystop:
Set P1.3 : Set P1.0 'disable 2
Receive = 0
Goto Potwierdz
Xystopdiodab:
Set P3.5 : Set P3.2 : Set P1.3 : Set P1.0 : Reset P3.7 : Reset P1.6 : Set P1.4 'disable 1 i 2 oraz penup
Receive = 0
Goto Potwierdz
Diodar:
Reset P1.4 : Set P1.6
Receive = 0
Goto Potwierdz
Ini:
Receive = 0
Sbuf = 111
Goto Potwierdz
Potwierdz:
Receive = 0
End If
Loop
End
Przerwanie_rs232: 'obsługa przerwania rs232
'przerwanie z odbiornika
If Scon.0 = 1 Then
Dane = Sbuf
Receive = 1
End If
'wyzerowanie wska?ników przerwania RI i TI
Scon = Scon And &B11111100
Return
Autor programu mówi że u niego się kompiluje i wszystko śmiga bez zarzutu. Dostałem od niego zgodę na wykorzystanie programu i lub ewentualne jego przerobienie na bascom AVR. Żeby go przerobić na AVR muszę to odpalić na tym procku i męczę sie z tym od dłuższego czasu. Mam wersję 2.0.13.0 bascoma i jak wyłączę error file to też się kompiluje ale nie działa. Dostałem nawet oryginalny plik od autora i kicha nie działa. Spróbuję go przerobić według powyższego wzoru, ale widzę to marnie bo dopiero zaczynam, w szkole też nie umieją pomóc. Przerabiam to w budzie co lekcje a że tam nie ma sprzętu albo czegoś brakuje albo kompy nie działają to jest tak jak jest. Gdzie sie nie pytam to mi mówią patrz do pliku pomocy. Patrze robie według niego i h***a to działa.
A jak chciałem napisać coś według książki to tam było tak dajnie napisane że bez pomocy elektrody się nie obyło
Biorę sie do dzieła i "pozdro4all"
Jakby coś dało się z tym zrobić to proszę dać znać
Jeszcze raz "pozdr o" dla wszystkich