programa para pasar de septetos a octetos en tramas PDU
Fork of pdu1 by
main.cpp
- Committer:
- tony63
- Date:
- 2014-10-16
- Revision:
- 0:0d2c03fdec12
- Child:
- 1:b0989e540fff
File content as of revision 0:0d2c03fdec12:
#include "mbed.h" Serial pc(USBTX, USBRX); // tx, rx /* ALGORITMO PARA PASAR DE SEPTETOS A OCTETOS EN UNA MENSAJE DE TEXTO DE CELULAR EN FORMATO PDU USA DOS CADENAS UNA DE ENTRADA Y OTRA DE SALIDA LENIN ES LA LONGITUD DE ENTRADA LENOUT LA LONGITUD DE SALIDA SE USA PARA ENSAMBLAR UNA TRAMA PDU ESTA CADENA DE SALIDA SE ENVIA SOBRE LA TRAMA PDU COMPLETA VERIFIQUE CON EL DECODIFICADOR DE ESTA PAGINA:: PROBADA PARA CUALQUIER LONGITUD VER:SEP 24 DEL 2014 http://www.twit88.com/home/utility/sms-pdu-encode-decode */ char DE[255]; char DS[255]; int i,K,C,LENOUT,LENIN; float chk; int main(){ ; //numero de caracteres de abajo char DE[]="la gallina cafe es una verdadera grosera que merece ser cocinada"; LENIN=strlen(DE); /* los octetos ASI VIAJA POR LA RED GSM EC 30 E8 1C 66 B3 D3 EE 30 68 1C 36 97 41 E5 39 A8 EE 0E 83 EC 65 39 39 4C 2E CB C3 A0 B3 FC 3D 2F CB C3 A0 78 BD 0C 6A 97 E5 E5 71 19 34 2F CB 41 E3 F7 38 ED 0E 93 C3 y los septetos ASI HAGO VISIBLE EL MENSAJE RECIBIDO 6c 61 20 67 61 6c 6c 69 6e 61 20 63 61 66 65 20 65 73 20 75 6e 61 20 76 65 72 64 61 64 65 72 61 20 67 72 6f 73 65 72 61 20 71 75 65 20 6d 65 72 65 63 65 20 73 65 72 20 63 6f 63 69 6e 61 64 61 */ //----------------------------------- --------------------------- K=0;C=0; for (i=0;i < LENIN;i++){ DS[i]=DE[i+C]>>K | DE[i+C+1]<<(7-K); if (DS[i]==0x00) {LENOUT=i; goto salir;} K++; if (K==7) {K=0;C++;} // se chequea que ya se acabaron los bits en un ciclo de conversion. } //-------------------------------------------------------------- salir: for (i=0;i < LENIN;i++){ pc.printf("%X",DE[i]); } pc.printf(":\r\n"); for (i=0;i<LENOUT;i++){ pc.printf("%2X,%d\r\n",DS[i]&0x000000FF,i); } pc.printf("LENOUT:%d,LENIN:%d\r\n",LENOUT,strlen(DE)); }