Hola a todos,
Bueno, llevo varios días intentando comunicar dos micros usando comunicación 485.
A un extremo un atmega2560(master) y al otro un atmega324PA(slave), mi problema radica en que le envío una serie de tramas desde el master y el slave debe contestar respecto a esas tramas.
Ahora el asunto es que me recibe una trama bien y otra mal, por ejemplo:
Por cada trama de entrada el debe responder algo pero como algunas tramas llegan mal, entonces no me responde bien. si miro en el RX del max485 del slave, todas las tramas llegan bien, al parecer el problema está internamente en el micro, sin embargo yo tengo dos modos de "procesar" estas tramas, una cuando X pin está en 1 y otra cuando está en 0, si ese pin está en 0 simplemente retorna lo que recibe sin ningún problema pero cuando está en 1 sucede lo que ya comenté anteriormente, ya revisé las instrucciones que hay dentro de esa condición pero no noto nada raro, solo tengo un par de "call" y ningún "wait".
Me gustaría saber si saben que tipo de pruebas puedo hacer para corregir esto, ya que se supone que el pin de activación del 485 ya lo estoy manejando sin problema.
Gracias!
Bueno, llevo varios días intentando comunicar dos micros usando comunicación 485.
A un extremo un atmega2560(master) y al otro un atmega324PA(slave), mi problema radica en que le envío una serie de tramas desde el master y el slave debe contestar respecto a esas tramas.
Ahora el asunto es que me recibe una trama bien y otra mal, por ejemplo:
Código:
IN: 071200010100000000<\r>
071200010100000001<\r>
[COLOR="Red"]IN: 0712000??<\r>[/COLOR]
IN: 071200020100000000<\r>
071200020100000000<\r>
[COLOR="red"]IN: 0712000?<\r>[/COLOR]
IN: 0712015F0100000000<\r>
0712015F0100000001<\r>
[COLOR="red"]IN: 07120?<\r>[/COLOR]
IN: 071201610100000000<\r>
071201610100000000<\r>
[COLOR="red"]IN: 07120??<\r>[/COLOR]
IN: 071201630100000000<\r>
07120163010000FFFF<\r>
[COLOR="red"]IN: 0712?????<\r>[/COLOR]
IN: 071201650100000000<\r>
071201650100000001<\r>
Por cada trama de entrada el debe responder algo pero como algunas tramas llegan mal, entonces no me responde bien. si miro en el RX del max485 del slave, todas las tramas llegan bien, al parecer el problema está internamente en el micro, sin embargo yo tengo dos modos de "procesar" estas tramas, una cuando X pin está en 1 y otra cuando está en 0, si ese pin está en 0 simplemente retorna lo que recibe sin ningún problema pero cuando está en 1 sucede lo que ya comenté anteriormente, ya revisé las instrucciones que hay dentro de esa condición pero no noto nada raro, solo tengo un par de "call" y ningún "wait".
Me gustaría saber si saben que tipo de pruebas puedo hacer para corregir esto, ya que se supone que el pin de activación del 485 ya lo estoy manejando sin problema.
Gracias!