Witam.
Mam TV LG, steruje nim za pomocą RSa
Jeśli robię to za pomocą komputera i wysyłam kod:
TV ustawia pozim dzwięku na 32%, jeśli się uda tyo w terminalu otrzymuję potwierdzenie w postaci:
Zrobiłem takie samo sterowanie za pomocą atmegi16
Wysyłam kod:
TV zmienia poziom głosu (więc wszystko OK)
Ale nie otrzymuję potwierdzenia, albo nie umiem go zinterpretować
Mój kod programu:
S - deklaruje jako 10 znakowy string.
Żadna komend: LCD, Print, Print Chr - nie wyświetla pobranych danych
Gdzie może być błąd? Może procesor nie odczytuje zwróconej komendy poprawnie?
Mam TV LG, steruje nim za pomocą RSa
Jeśli robię to za pomocą komputera i wysyłam kod:
kf 0 20TV ustawia pozim dzwięku na 32%, jeśli się uda tyo w terminalu otrzymuję potwierdzenie w postaci:
f 01 OK20xZrobiłem takie samo sterowanie za pomocą atmegi16
Wysyłam kod:
kf 0 20TV zmienia poziom głosu (więc wszystko OK)
Ale nie otrzymuję potwierdzenia, albo nie umiem go zinterpretować
Mój kod programu:
$regfile = "m16def.dat"
$crystal = 16000000
$baud = 9600
Config Lcdpin = Pin , Rs = Portb.2 , E = Portb.3 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 'standard
Config Lcd = 16 * 2
Config Portc = Input
Config Portd = Output
Config Porta = Output
Config Portb = Output
Cursor Off
Portc.0 = 1
Dim T As Integer
Dim S As String * 10
T = 800
Cls
Do
Start3:
Portc.0 = 1
If Pinc.0 = 0 Then
Waitms 50
Porta.7 = 0
Goto Glos
End If
Loop
End
Glos:
Lcd "glos"
Waitms 500
Cls
Print "kf 0 20" ' wysyłam komendę
' TV reaguje poprawnie
' w tym momencie TV powinien zwrócić "f 01 OK 20x (w terminalu pokazuje)"
S = Inkey() ' odbieram zwróconą komendę
Locate 1 , 1
Lcd S ' wyświetlam ją na ekranie za pomocą tej komendy (nie działa)
Print Chr(s); ' wyświetlam ją na ekranie za pomocą tej komendy (nie działa)
Print S ' wyświetlam ją na ekranie za pomocą tej komendy (nie działa)
Goto Start3S - deklaruje jako 10 znakowy string.
Żadna komend: LCD, Print, Print Chr - nie wyświetla pobranych danych
Gdzie może być błąd? Może procesor nie odczytuje zwróconej komendy poprawnie?