
Enviar Trama Hexadecimal Variable por Puerto Serial
Publicado por Jose Luis (1 intervención) el 17/09/2015 23:32:38
Buenos días
Lo que deseo es transmitir una trama de 23 datos en hexadecimal por el puerto serial
La trama a enviar en cuestión es la siguiente:
7E 00 13 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 01 20 83 01 01 4E
En este momento lo estoy realizando de esta forma y funciona sin ningún problema:
El problema radica en los dos datos que se encuentran en negrita, ya que esos dos datos son variables:
-> El primero se ingresa por medio de un textbox y se debe ingresar un número en base hexadecimal
-> El segundo se calcula con la siguiente formula: checksum = 0xFF - 0x10 - 0xFF - 0xFF - 0xFF - 0xFE - 0x01 - 0x20 - ID - 0x01 - 0x01, donde ID es el dato que se ingresa por medio del textbox
No se qué debo hacer para que esos dos datos puedan variar (dependiendo del valor que se ingresa en el textbox) y se puedan enviar por el puerto serial sin problema
Lo que deseo es transmitir una trama de 23 datos en hexadecimal por el puerto serial
La trama a enviar en cuestión es la siguiente:
7E 00 13 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 01 20 83 01 01 4E
En este momento lo estoy realizando de esta forma y funciona sin ningún problema:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
byte[] buffer_out = new byte[23];
buffer_out[0] = 0x7E;
buffer_out[1] = 0x00;
buffer_out[2] = 0x13;
buffer_out[3] = 0x10;
buffer_out[4] = 0x00;
buffer_out[5] = 0x00;
buffer_out[6] = 0x00;
buffer_out[7] = 0x00;
buffer_out[8] = 0x00;
buffer_out[9] = 0x00;
buffer_out[10] = 0x00;
buffer_out[11] = 0xFF;
buffer_out[12] = 0xFF;
buffer_out[13] = 0xFF;
buffer_out[14] = 0xFE;
buffer_out[15] = 0x00;
buffer_out[16] = 0x00;
buffer_out[17] = 0x01;
buffer_out[18] = 0x20;
buffer_out[19] = 0x83;
buffer_out[20] = 0x01;
buffer_out[21] = 0x01;
buffer_out[22] = 0x4E;
int offset = 0;
XBee.Write(buffer_out, offset, 23);
El problema radica en los dos datos que se encuentran en negrita, ya que esos dos datos son variables:
-> El primero se ingresa por medio de un textbox y se debe ingresar un número en base hexadecimal
-> El segundo se calcula con la siguiente formula: checksum = 0xFF - 0x10 - 0xFF - 0xFF - 0xFF - 0xFE - 0x01 - 0x20 - ID - 0x01 - 0x01, donde ID es el dato que se ingresa por medio del textbox
No se qué debo hacer para que esos dos datos puedan variar (dependiendo del valor que se ingresa en el textbox) y se puedan enviar por el puerto serial sin problema
Valora esta pregunta


0