programa para pasar de septetos a octetos en tramas PDU
Fork of pdu1 by
Diff: main.cpp
- Revision:
- 0:0d2c03fdec12
- Child:
- 1:b0989e540fff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Oct 16 22:12:30 2014 +0000 @@ -0,0 +1,53 @@ +#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)); + +}