¿Cómo leer una cadena serial proveniente de matlab en bascom?

0

Estoy usando el microcontrolador Atmega32 y quiero recibir algunos datos de Matlab usando el puerto serie. He escrito el programa de micro controlador con el compilador de Bascom. Por favor, ayúdame si puedes ...

He comprobado la simulación de código en Proteus con el terminal virtual y estaba funcionando. Pero cuando intenté hacerlo práctico, no pude obtener una respuesta adecuada. El problema es que cuando uso la función media, también veo% en la cadena Ma. Incluso he recibido datos incompletos. No sé por qué está sucediendo esto. Las velocidades de transmisión son iguales e incluso he comprobado con el software simpleterm. Supongo que hay algo mal entre Matlab y Bascom.

Código Matlab:

s=serial('COM3')
set(s,'baudrate',9600,'DataBits',8,'timeout',0.2)
fopen(s);
fprintf(s,'#hi%=')

código bascom:

$baud = 9600
Config Serialout = Buffered , Size = 20
Config Serialin = Buffered , Size = 20
Dim Na As String * 15
Dim Ma As String * 15
Dim A As Byte , S As String * 5
Dim Sign1 As Byte , Sign2 As Byte



Sub Receive_msg
Do
If Ischarwaiting() = 1 Then
A = Inkey()
If A <> Chr(61) Then
  Ma = Ma + Chr(a)
End If
End If
Loop Until A = Chr(61)

Sign1 = Instr(ma , "#")
Sign2 = Instr(ma , "%")

If Sign1 > 0 AND Sign2>0 Then
Print "msg_received"
Sign1 = Sign1 + 1
Sign2 = Sign2 - 2
Ma = Mid(ma , Sign1 , Sign2 )


Else
Cls
Lcd "!"
End If

End Sub
    

0 respuestas

Lea otras preguntas en las etiquetas