Witam serdecznie,
mam pewien problem, może go opiszę:
Wykonuję sterownik bluetooth opublikowany w EdW 01/09, wykonałem już płytkę i wszystko zmontowałem, jednak układ nie zachowuje się do końca tak jak powinien. Generalnie program jest tak napisany do mikrokontrolera aby na początku wysłał do niego komendę AT zmieniającą domyślną nazwę (serial adaptor) na "bluester", jednak nazwa pozostaje niezmieniona po włączeniu układu. Drugi najważniejszy problem to brak połączenia między komputerem a układem sterownika, być może nie podchodzę do tego odpowiednio.
Może mnie ktoś rozjaśnić w jaki sposób powinienem wykonać połączenie tak aby utworzyły się nowe porty COM? Gdybym miał taki port to mógłbym się komunikować ze sterownikiem na przykład przez hyperterminal.
Proszę o pomoc
Zdjęcia i zrzuty ekranu:
Kod programu (BACOM):
mam pewien problem, może go opiszę:
Wykonuję sterownik bluetooth opublikowany w EdW 01/09, wykonałem już płytkę i wszystko zmontowałem, jednak układ nie zachowuje się do końca tak jak powinien. Generalnie program jest tak napisany do mikrokontrolera aby na początku wysłał do niego komendę AT zmieniającą domyślną nazwę (serial adaptor) na "bluester", jednak nazwa pozostaje niezmieniona po włączeniu układu. Drugi najważniejszy problem to brak połączenia między komputerem a układem sterownika, być może nie podchodzę do tego odpowiednio.
Może mnie ktoś rozjaśnić w jaki sposób powinienem wykonać połączenie tak aby utworzyły się nowe porty COM? Gdybym miał taki port to mógłbym się komunikować ze sterownikiem na przykład przez hyperterminal.
Proszę o pomoc
Zdjęcia i zrzuty ekranu:
Kod programu (BACOM):
$regfile "m8def.dat"
Rem ---------------------------Bluester--------
Dim Stan As Integer , Znak As Byte , Konfig As Integer , I As Byte , Temp As Byte , K As Byte
Config Portb = &B111101
Portb = &B000010
Config Portc = &B111111
Portc = 0
Config Portd = &B11111110
Portd = &B00000001
Config Watchdog = 1024
Start Watchdog
Reset Watchdog
Print "A";
Waitms 50
Reset Watchdog
Print "T";
Waitms 50
Print "N";
Waitms 50
Reset Watchdog
Print "=";
Waitms 50
Print "B";
Waitms 50
Print "l";
Waitms 50
Print "u";
Waitms 50
Reset Watchdog
Print "e";
Waitms 50
Print "s";
Waitms 50
Print "t";
Waitms 50
Print "e";
Waitms 50
Print "r"
Waitms 200
Reset Watchdog
Stan = 0
Gosub Ustaw
If Pinb.1 = 0 Then
Gosub Konfig
End If
Readeeprom Konfig , 0
Gosub Main
'=============================================
Main: 'POCZĄTEK - pętla główna
Do
K = Inkey()
Reset Watchdog
If K = 35 Then
Do
Reset Watchdog
K = Inkey()
Select Case K
Case 37:
Gosub Stan
Case 48:
Toggle Stan.0
Case 49:
Toggle Stan.1
Case 50:
Toggle Stan.2
Case 51:
Toggle Stan.3
Case 52:
Toggle Stan.4
Case 53:
Toggle Stan.5
Case 54:
Toggle Stan.6
Case 55:
Toggle Stan.7
Case 56:
Toggle Stan.8
Case 57:
Toggle Stan.9
Case 100:
Toggle Stan.14
Case 101:
Toggle Stan.11
Case 102:
Toggle Stan.13
Case 103:
Toggle Stan.12
Case 104:
Toggle Stan.10
End Select
Gosub Ustaw
If K = 61 Then
Gosub Stan_konfiguracji
Gosub Ustaw
Gosub Stan
Exit Do
End If
K = 255
Loop
End If
K = 255
Loop
Return 'KONIEC - pętla główna
'=============================================
'#############################################
Stan:
Print "*"; 'POCZĄTEK - przekazanie informacji o stanie poszczególnych wyjść
For I = 0 To 15
Reset Watchdog
Print Stan.i;
Next I
Return 'KONIEC - przekazanie informacji o stanie poszczególnych wyjść
'################################################
Ustaw:
For I = 0 To 3
Reset Watchdog 'POCZĄTEK - ustawienie stanu wyjść
Temp = I + 2
Portb.temp = Stan.i
Next I
For I = 0 To 5
Reset Watchdog
Temp = I + 4
Portc.i = Stan.temp
Next I
Portd.2 = Stan.10
Portd.5 = Stan.11
Portd.6 = Stan.12
Portd.7 = Stan.13
Portb.0 = Stan.14 ' KONIEC - ustawienie stanu wyjść
Return
Konfig:
' konfiguracja układu - (tryb monostabilny / bistablibny)
Stan = &B0000001111111111
Gosub Ustaw
Waitms 200
Reset Watchdog
Stan = 0
Gosub Ustaw
Waitms 200
Stan = &B0000001111111111
Gosub Ustaw
Waitms 200
Reset Watchdog
Stan = 0
Gosub Ustaw
Stan = &B0000001111111111
Gosub Ustaw
Waitms 200
Stan = 0
Gosub Ustaw
Waitms 200
Konfig = 0
Do
Reset Watchdog
K = Inkey()
If K = 35 Then
Do
Reset Watchdog
K = Inkey()
Select Case K
Case 48:
Toggle Stan.0
Toggle Konfig.0
Case 49:
Toggle Stan.1
Toggle Konfig.1
Case 50:
Toggle Stan.2
Toggle Konfig.2
Case 51:
Toggle Stan.3
Toggle Konfig.3
Case 52:
Toggle Stan.4
Toggle Konfig.4
Case 53:
Toggle Stan.5
Toggle Konfig.5
Case 54:
Toggle Stan.6
Toggle Konfig.6
Case 55:
Toggle Stan.7
Toggle Konfig.7
Case 56:
Toggle Stan.8
Toggle Konfig.8
Case 57:
Toggle Stan.9
Toggle Konfig.9
End Select
Gosub Ustaw
If K = 61 Then
Exit Do
End If
K = 255
Loop
End If
If Pinb.1 = 0 Then
Stan = 0
Gosub Ustaw
Writeeeprom Konfig , 0
Exit Do
End If
K = 255
Loop
Return
Stan_konfiguracji:
Stan = Stan And Konfig
Reset Watchdog
Return