Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

30/09/2011 #561


sdel dijo: Ver Mensaje
Hola estube colgado con el proyecto pero volvi jej.
sigo haciendo las pruebas con el celular y el hiperterminal.
el celular es sony ericsson t290, hasta hora pude leer un mensaje nuevo y realizar llamadas desde el terminal, lo que no logro es enviar un mensaje, nose por que me dice error, pego una imagen de mi prueba en el hiperterminal.

alguien sabe por que puede pasar esto?

ya tengo el codigo para el pic, hoy voy a tratar de armarlo en el proto aver si con el pic si envia.

en un momento pude escribir el mensaje y al presionar control + z como que intentaba enviar pero no enviaba y daba error, pero despues ni siquiera podia escribir.
si alguien le paso lo mismo?
es posible que sea tarde. pero la razon es que el <ctrlz> va imediatamente despues del mensaje. al parecer tecleas <enter> antes de <ctrlz>
30/09/2011 #562


buen dia cesarogonzal.
no me aparece la imagen que mensionas, hay algunos sony ericsson que no soportan el comando at+cmgs.

ENVIAR MENSAJES DE TEXTO A UN NUMERO
AT+CMGF=1 ESTABLECER MODO DE SMS (0= MODO PDU, 1 = MODO TEXTO)
AT+CMGS="3157423221" ESTABLECER NUMERO DESTINO
una vez al darle enter queda el siguente prompt ">" y luego se escribe el mensaje de max 180 caracteres
CONTROL Z = ENVIAR EL DECIMAL 26, EN VISUAL ES MSCOMM1.OUTPUT = Chr(26) Y LO ENVIA

EL CELULAR RESPONDE +CMGS: 52 DONDE 52 ES EL NUMERO DE CARACTERES A ENVIAR

que este comando sirve para enviar un mensaje directamente sin almacenarlo en la bandeja de salida del celular.


hay una segunda manera de mandar un mensaje de texto usando otros dos comandos. es un poco mas complicado que la primera por que tendrias que hacer una rutina de recepcion para saber en que posicion esta guardado el mensaje, para luego enviarlo.

AT
OK
AT+CMGF=1
OK
AT+CMGW="+85291234567"
> A simple demo of SMS text messaging.
+CMGW: 1

OK
AT+CMSS=1
+CMSS: 20

OK


lo que tienes que hacer es rebisar si el sony soporta el comando AT+CMGS, si no lo soporta que creo es lo mas probable entonces tienes dos opciones la primera usar los comandos AT+CMGW y AT+CMGS, para el envio del mensaje. la segunda obcion es que te consigas un nokia 3220 es el que yo use y me funciono bien. te recomiendo que entres a esta pagina http://www.developershome.com/sms/ puedes aprender bastante.


discumpa mis falta de ortografia, pero casi no tengo tiempo de contestar.

hasta luego.
01/10/2011 #563


oman dijo: Ver Mensaje
buen dia cesarogonzal.
no me aparece la imagen que mensionas, hay algunos sony ericsson que no soportan el comando at+cmgs.

ENVIAR MENSAJES DE TEXTO A UN NUMERO
AT+CMGF=1 ESTABLECER MODO DE SMS (0= MODO PDU, 1 = MODO TEXTO)
AT+CMGS="3157423221" ESTABLECER NUMERO DESTINO
una vez al darle enter queda el siguente prompt ">" y luego se escribe el mensaje de max 180 caracteres
CONTROL Z = ENVIAR EL DECIMAL 26, EN VISUAL ES MSCOMM1.OUTPUT = Chr(26) Y LO ENVIA

EL CELULAR RESPONDE +CMGS: 52 DONDE 52 ES EL NUMERO DE CARACTERES A ENVIAR

que este comando sirve para enviar un mensaje directamente sin almacenarlo en la bandeja de salida del celular.


hay una segunda manera de mandar un mensaje de texto usando otros dos comandos. es un poco mas complicado que la primera por que tendrias que hacer una rutina de recepcion para saber en que posicion esta guardado el mensaje, para luego enviarlo.

AT
OK
AT+CMGF=1
OK
AT+CMGW="+85291234567"
> A simple demo of SMS text messaging.
+CMGW: 1

OK
AT+CMSS=1
+CMSS: 20

OK


lo que tienes que hacer es rebisar si el sony soporta el comando AT+CMGS, si no lo soporta que creo es lo mas probable entonces tienes dos opciones la primera usar los comandos AT+CMGW y AT+CMGS, para el envio del mensaje. la segunda obcion es que te consigas un nokia 3220 es el que yo use y me funciono bien. te recomiendo que entres a esta pagina http://www.developershome.com/sms/ puedes aprender bastante.


discumpa mis falta de ortografia, pero casi no tengo tiempo de contestar.

hasta luego.
de veras te agradesco mucho por responder. - la razon por la que ando dando vueltas por ahi es que necesito que un pic lea el mensaje y ejecute una accion depende de lo que diga el mensaje. (ejm: "alarma on"). estoy trabajando con un pic 16f877 y me gustaria que reconociera al menos 8 mensajes diferentes. pero no tengo idea de como es el truco en ASM. imagino que comparando la entrada con uno guardado, pero no se como entrarle.
si ya lo hiciste. porfa. solo necesito un ejemplo.
01/10/2011 #564


buen dia.

yo hice algo como tu proyecto pero lo hice en c, yo te recomendaria que con el RS232 del pic crees un buffer(un array) para almacenar los datos que llegan al pic, con la interrupcion de la comunicacion de preferencia. una vez que ya logres almacenarlos es muy facil procesarlos fijate en la libreria de string. claro yo lo hice en c, para hacerlo en asm solo tienes que adaptar los pasos mencionados.
02/10/2011 #565


oman dijo: Ver Mensaje
buen dia.

yo hice algo como tu proyecto pero lo hice en c, yo te recomendaria que con el RS232 del pic crees un buffer(un array) para almacenar los datos que llegan al pic, con la interrupcion de la comunicacion de preferencia. una vez que ya logres almacenarlos es muy facil procesarlos fijate en la libreria de string. claro yo lo hice en c, para hacerlo en asm solo tienes que adaptar los pasos mencionados.
disculpame hermano. tengo idea de como llamar y mandar mensajes. de hecho ya lo hice con el hyperterminal. pero recibir con el cel y el pic accione depende de lo que diga el mensaje no tengo ninguna idea. si aunque me mostraras una parte de la programacion. no importa que sea en c. yo buscaria la manera de aprender bien y hacerlo todo en c.

28/10/2011 #566


Una pregunta amigos alguien sabe hacer un programa en pbp que compare la cabecera de un sms y que solo le llegue a un pic el cuerpo del sms?
21/12/2011 #567


Saludos, primero que todo muchisimas gracias a Moyano Jonathan por todo lo que ha publicado, me ha sido de gran utilidad, estoy trabajando con un Siemens A56 el cual recibe comandos AT de un PIC18F4550, con los cuales envía un SMS a un determinado número ante una señal de alarma. Todo esto funciona correctamente, pero tengo un inconveniente y es que en ciertas ocasiones el celular se apaga en el momento en que se van a enviar los comandos o a veces envía el mensaje e inmediatamente se apaga. Esto es problema de voltajes? Tengo conectado directamente los cables Rx del Cel a Tx del PIC y Tx del Cel a Rx del PIC, además del celular sale un tercer cable que es GND, el cual estoy llevando a la tierra común de todo el circuito. Agradezco cualquier ayuda.
21/12/2011 #568


No será que le estás enviando un comando para que se apague???
O como es el apagado, abrupto??
Saludos.
21/12/2011 #569


ericklarva dijo: Ver Mensaje
No será que le estás enviando un comando para que se apague???
O como es el apagado, abrupto??
Saludos.
Sí, el apagado es abrupto y a veces se presenta antes de enviarle los comandos, por eso pensaba que podría ser problema de voltajes.

Edit: Parece que ya lo he solucinado, el pin Rx del celular a veces estaba recibiendo más de 5V, le he puesto una resistencia entre el pin Tx del PIC y el Rx del celular y se ha solucionado.
21/12/2011 #570


buenosi se apaga puede ser por los voltages como ya te lo dijieron, sin embargo talvez te sirva entender para que uso quieres manejar un celular, luego de varias vueltas yo preferi trabajar con un modem gsm directamente utilize el modem gsm de enfora y va bien en cuanto a llamdas y sms que es hasta donde hize la prueba.
10/01/2012 #571


elektronische dijo: Ver Mensaje
Saludos, primero que todo muchisimas gracias a Moyano Jonathan por todo lo que ha publicado, me ha sido de gran utilidad, estoy trabajando con un Siemens A56 el cual recibe comandos AT de un PIC18F4550, con los cuales envía un SMS a un determinado número ante una señal de alarma. Todo esto funciona correctamente, pero tengo un inconveniente y es que en ciertas ocasiones el celular se apaga en el momento en que se van a enviar los comandos o a veces envía el mensaje e inmediatamente se apaga. Esto es problema de voltajes? Tengo conectado directamente los cables Rx del Cel a Tx del PIC y Tx del Cel a Rx del PIC, además del celular sale un tercer cable que es GND, el cual estoy llevando a la tierra común de todo el circuito. Agradezco cualquier ayuda.
hola. el tren de pulsos que manda y recibe el pic es de 5v mientras que el del celelular es de 3.7v. el voltaje del emisor del pic lo puedes bajar con una resistencia y un diodo zener. que es el mas importante. los 5v del receptor no siempre es necesario. sin embargo lo puedes convertir con un transistor. es muy facil. en google sale como hacerlo.
02/02/2012 #572


Ahora que ya logré que funcionara bien el envío de sms desde el pic, estoy tratando que este lea el primer sms que está almacenado en el celular, para ello, debo enviarle este comando AT:

AT+CMGR=1

Lo he probado en hyperterminal y me lee correctamente esto:
0791751330512411040AA1034084375200002120203170420A 0131

Para lograr que se enviaran sms desde el pic, tuve que enviarle aparte de los comandos conocidos, este comando AT con el mensaje en formato PDU al celular y funcionó bien:
printf("079175133051000311000A9103408437520000AA2F D332081D0695DDE3B29B9C26BF41EC3028CC0ECBDB6116485E B6A7E76110BD0E0AD6E9EFF6DB9E66BB00");

Mi duda es, hay forma que el pic así mismo como le envía en formato ASCII el mensaje en PDU, lo pueda leer en ese mismo formato, para tener algo como:

if ( puerto rx pic = 0791751330512411040AA1034084375200002120203170420A 0131 )

y que se encienda un led o algo bien básico para comprobar que el pic está leyendo correctamente esa cadena. Esta lectura se haría por el puerto Rx del PIC?

Agradezco sus sugerencias.
09/02/2012 #573


Favor comparti el codigo realizado en el 2012
05/04/2012 #574


amigo elektronische, podrias compartir el codigo que hicite en el pic para enviarle los comandos at al cel y poder enviar lo mensajes? de antemano muchisimas gracias, quiero adaptarlo a mi proyecto, ya tengo la interfaz en el pc (netbeans) en el cual ingreso el cel de de destino y el mensaje, ya estoy enviando estos datos al pic por conxion usb (pic 18f4550) para corroborar que los datos me llegaron bn los estoy vidualizando en una lcd y todo esto funciona, ahora lo que quiero es que este mensaje que lo envie desde la interfaz en el pc se envie al celular(MODEM) y por medio de los comandos AT se envien a otro celular
GRACIAS nuevamente
07/04/2012 #575


hola que tal? como han estado??? ire al grano.. como no pude comprobar nunca un nokia decente (solo nuevos con tecnologia symbian -- esta tecnologia guarda los mensajes en una direccion inaccesible para los comandos AT-- y solo por datos usb), solo un sony ericcson pero por datos usb y solo aceptaba modo pdu, me di a la tarea de conseguir el nokia 3220 (muy raro en mi pais) del que la mayoria habla en los proyectos con su respectivo cable ca-42... cambie el SO a windows XP e instale el PC suite de Nokia (uno no tan nuevo) logre que la computadora me reconozca el 3220 por medio de pcsuite. pero cuando trato de hacer coneccion por el Hyperterminal para hacer los ensayos no hace nada.. lei que el modo modem del celular se activa con el pcsuite, pero cuando se apaga se desactiva. trato de activarla y nunca apagarlo pero tampoco nada.. las personas que lo han hecho como lo hicieron parfa???????
07/04/2012 #576


amigo tengo tu mismo problema. si ya lo solucionsate por favor instruyeme. lo digoo porque la publicacion tiene algun tiempo ya....
07/04/2012 #577

Avatar de Moyano Jonathan

Favor comparti el codigo realizado en el 2012
amigo elektronische, podrias compartir el codigo que hicite en el pic para enviarle los comandos at al cel y poder enviar lo mensajes?
lei que el modo modem del celular se activa con el pcsuite, pero cuando se apaga se desactiva. trato de activarla y nunca apagarlo pero tampoco nada.. las personas que lo han hecho como lo hicieron parfa???????
amigo tengo tu mismo problema. si ya lo solucionsate por favor instruyeme. lo digoo porque la publicacion tiene algun tiempo ya....
Gente, espero no les moleste lo que les voy a escribir:

1 - Una de las políticas del foro es ayudar siempre y cuando se vea un trabajo de investigación por detrás.

Es decir, si vos primero hiciste un programa y no te funcionó:
a - revisar que no tenga errores de sintaxis.
b - revisar que la lógica sea correcta.
c - preguntar dudas puntuales en el foro.

Lo que no se hace: Pedir a gente que ha investigado algo y desarrollado ...el código listo para que otro lo vea sin siquiera entender como funciona.

Dicho eso, espero me entiendan, les dejo lo que necesitan:

Código:
// Pruebas MODEM SIM300 - Ejercicio Nº3.
// Ejercicio: Envío de mensajes y recepción del OK.
// Microcontrolador utilizado: PIC16F88.
// Plataforma: PLC12 - Módulo de desarrollo GSM.
// Programador: Moyano Jonathan.
// Versión del compilador: v4.114

// Definimos el microcontrolador utilizado.
#include <16F88.h>
// Conversor de 10 bits con justificación a la derecha.
#device ADC=10
// Configuramos velocidad de operación.
#use delay(clock=8000000) // Clock: 8Mhz.

// Configuramos fusibles de programación.
#fuses INTRC_IO    // Oscilador interno.
#fuses NOWDT       // No utilizamos el perro guardian.
#fuses NOPROTECT   // Memoria de programa no protejida.
#fuses PUT         // Power-up timer activado.
#fuses NOMCLR      // NO Master clear reset.
#fuses NOBROWNOUT  // Reset por bajo voltaje desactivado.
#fuses NOLVP       // Programación con bajo voltaje desactivado.
#fuses NOCPD       // Memoria EEPROM no protejida.
#fuses NOWRT       // NO habilitar escritura en memoria FLASH.
#fuses NODEBUG     // No incluir código para debug.

// Configuramos los puertos RS232 utilizados.
#use rs232(baud=9600, xmit=PIN_B5,rcv=PIN_B2,errors,stream=SIM300)  // RS232 - SIM300.
#use rs232(baud=9600, xmit=PIN_B3,rcv=PIN_B0,errors,stream=DEBUG)   // RS232 - DEBUG.

// Utilizamos el modo de acceso rápido a los puertos.
#use fast_io(A)
#USE fast_io(B)

// Incluimos librerías utilizadas.
#include <string.h>   // Funciones para el manejo de cadenas.
#include "AUXILIAR.c" // Funciones generales de configuración.
#include "SIM300.c"   // Funciones de control del módulo GSM SIM300.


///////////////// Recepción de datos del modem GSM ////////////////////

#int_RDA

void RDA_isr()
{
USART_buffer[USART_nextRec]=fgetc(SIM300);
if(USART_buffer[USART_nextRec]!=0x0A)USART_nextRec++;
if(USART_nextRec==bytes_for_USART_buffer)USART_nextRec=0;
}

void main() {

 configurar_parametros();  // Configuramos parámetros principales.
 SIM300_on();              // Encendemos el módulo GSM SIM300.
 enviar_SMS(msg,tel1);     // Enviamos mensaje con la función.
 
  while(true){}
 
   }
Código:
// Funciones de configuración del módulo SIM300.
// Versión 0.1 estable.
// Programador: Moyano Jonathan.

// Declaramos funciones usadas:

void  SIM300_on(void);                        // Encendemos y configuramos el módulo SIM300.
short responde_OK(void);                      // Determina si un comando AT responde OK.
void  enviar_SMS(char *texto, char *tel);     // Envía un mensaje de texto a un número especificado.

// desarrollo de las funciones del modem:

void SIM300_on(void){

  // Habilitamos interrupciones.
 enable_interrupts(GLOBAL);
 enable_interrupts(int_rda);
 
  PSSIM300_OFF          // Apagamos la fuente del SIM300.
  SIM300_PWRKEY_OFF     // PRWKEY=0;
  delay_ms(1000);       // Esperamos 1 seg.
  PSSIM300_ON           // Encendemos la fuente del SIM300.
  delay_ms(500);        // Esperamos 1/2 seg.
  SIM300_PWRKEY_ON      // PWRKEY=1;
  delay_ms(1500);       // Esperamos 1-1/2 seg.
  SIM300_PWRKEY_OFF     // PRWKEY=0;
  delay_ms(30000);      // Esperamos 40 segundos el Call Ready.
  fputs("AT",SIM300);
  delay_ms(10000);     
  fprintf(SIM300,"AT\n\r");                    // Comando de verificación.
  delay_ms(500);                               // Esperamos 500ms.
  responde_OK();                               // Espera la respuesta al comando.
  fprintf(SIM300,"ATE0\n\r");                  // Eco OFF.
  delay_ms(500);                               // Esperamos 500ms.
  responde_OK();                               // Espera la respuesta al comando.
  fprintf(SIM300,"AT+CMGF=1\n\r");             // Configuramos modo texto.
  delay_ms(500);                               // Esperamos 500ms.
  responde_OK();                               // Espera la respuesta al comando.
  fprintf(SIM300,"AT+CPMS=\"SM\",\"SM\"\n\r"); // Selecciono la mememoria SIM para recibir y leer SMS.
  delay_ms(500);                               // Esperamos 500ms.
  responde_OK();                               // Espera la respuesta al comando.
  fprintf(SIM300,"AT+CNMI=2,2,0,0,0\n\r");     // Los mensajes de texto, una vez recibidos son enviados directamente al buffer de la USART.
  delay_ms(500);                               // Esperamos 500ms.
  responde_OK();                               // Espera la respuesta al comando.
  inicializo_buffer();                         // Limpiamos el buffer de recepción.
  
}

short responde_OK(void){

// Si el modem responde OK -> retorna 1. caso 
// contrario retorna 0.

short respuesta=0x00;

ptr=strstr(USART_buffer,OK_RESP);    // Busca el comando OK en el buffer.
    if(strncmp(ptr,OK_RESP,2)==0){   // Si lo encuentra.. 
       respuesta=0x01;               // respuesta válida --> 0x01.
       OUT1_ON OUT2_OFF              // Enciende LED1. (OK).
   }else{respuesta=0x00;             // Enciende LED2. (ERROR).
         OUT1_OFF OUT2_ON }          // Si no lo encuentra, respuesta errónea --> 0x00.
 inicializo_buffer();                // Limpiamos el buffer de recepción.        
 return(respuesta);                  // Retornamos con la respusta al comando.
 
}


void enviar_SMS(char *texto, char *tel){

 fprintf(SIM300,"AT+CMGS=\"%s\"\r",tel); // Teléfono al cúal le enviaremos el mensaje.
 delay_ms(500);                          // Esperamos 500ms.
 fprintf(SIM300,"%s",texto);             // Imprimimos mensaje a enviar.
 delay_ms(500);                          // Esperamos 500ms.
 fprintf(SIM300,"%c",0x1A);              // Comando para enviar el mensaje. Equivale al CRTL+Z.
 delay_ms(5000);                         // Esperamos 5 segundos.
 responde_OK();                          // Espera la respuesta al comando.
 
}
Código:
// Configuraciones y funciones generales para PLC12.
// Programador: Moyano Jonathan.

// Declaramos funciones usadas:

void configurar_parametros(void);  // Parámetros iniciales del programa.
void inicializo_buffer(void);      // Borramos el buffer de recepción.

/* Definimos el hardware utilizado:

---------
Puerto A:
---------
RA0 ----> OUT1       --> salida digital 1.
RA1 ----> OUT2       --> Salida digital 2.
RA2 <---- AN0        --> Entrada analógica 0.
RA3 <---- AN1        --> Entrada analógica 1.
RA4 ----> Relé       --> salida potencia.
RA5 ----- N/A (MCLR)
RA6 <---- INP1       --> Entrada digital 1.
RA7 <---- INP3       --> Entrada digital 3.

---------
Puerto B:
---------
Rb0 <---- Rx_DEBUG   --> Entrada RS232 - Debug.
Rb1 <---- INP4       --> Entrada digital 4.
Rb2 <---- Rx_SIM300  --> Entrada RS232 - GSM.
Rb3 ----> Tx_DEBUG   --> Salida  RS232 - Debug.
Rb4 ----> SIM300_PS  --> SIM300  Power Supply. ON=1 OFF=0
Rb5 ----> Tx_SIM300  --> Salida  RS232 - GSM.
Rb6 ----> PowerKey_SIM300 --> ON/OFF SIM300. ON=0 OFF=1
Rb7 <---- INP2       --> Entrada digital 2.

*/

// Definimos macros de hardware:

#define PULSADOR1 PIN_A6 // Pulsador 1 - Activo en nivel bajo.
#define PULSADOR2 PIN_B7 // Pulsador 2 - Activo en nivel bajo.
#define PULSADOR3 PIN_A7 // Pulsador 3 - Activo en nivel bajo.
#define PULSADOR4 PIN_B1 // Pulsador 4 - Activo en nivel bajo.

#define PWRKEY   PIN_B6 // Pin PWRKEY SIM300.
#define PSSIM300 PIN_B4 // Fuente del SIM300.
#define OUT1     PIN_A0 // OUT 1 - Activo a nivel alto.
#define OUT2     PIN_A1 // OUT 2 - Activo a nivel alto.
#define RELAY    PIN_A4 // RELE  - Activo a nivel alto.

#define OUT1_ON  output_high(OUT1);  // Encendemos OUT1.
#define OUT1_OFF output_low(OUT1);   // Apagamos   OUT1.
#define OUT2_ON  output_high(OUT2);  // Encendemos OUT2.
#define OUT2_OFF output_low(OUT2);   // Apagamos   OUT2.
#define RELAY_ON output_high(RELAY); // Encendemos RELE.
#define RELAY_OFF output_low(RELAY); // Apagamos   RELE.

// Estado de las entradas digitales.
#define ESTADO_PULSADOR1 input(PULSADOR1)
#define ESTADO_PULSADOR2 input(PULSADOR2)
#define ESTADO_PULSADOR3 input(PULSADOR3)
#define ESTADO_PULSADOR4 input(PULSADOR4)

// Estado de las salidas digitales.
#define ESTADO_OUT1 input(OUT1)
#define ESTADO_OUT2 input(OUT2)
#define ESTADO_RELE input(RELAY)

// Macros del módulo SIM300.

#define SIM300_PWRKEY_ON    output_high(PWRKEY);  // SIM300 ON.
#define SIM300_PWRKEY_OFF   output_low(PWRKEY);   // SIM300 OFF.

#define PSSIM300_ON  output_high(PSSIM300);       // Power Supply SIM300 ON.
#define PSSIM300_OFF output_low(PSSIM300);        // Power Supply SIM300 OFF.

// Variables interrupciones.
#define bytes_for_USART_buffer 75                   // Tamaño del buffer de la USART.

volatile int8 USART_buffer[bytes_for_USART_buffer]; // Buffer de la USART.

volatile int8 USART_nextRec=0;                      // Contador de caracteres recibidos.

// Punteros.
char *ptr;

// Comandos soportados: (v0.1)

/*
OK   >> Comando de respuesta del módulo.
*/

char OK_RESP[]="OK";   // Comando: 2 caracteres.


// Variables auxiliares.

int8 i=0;  

// Variables para mensajes de texto.

// Teléfonos de destinatarios:
char tel1[12]="xxxxxxxxxx";
// Mensajes fijos.
char msg[14]="HOLA MUNDO !!";


// desarrollo de funciones de usuario:

void  configurar_parametros(void) {

// Configuramos E/S:
set_tris_a (0b11101100); // RA7 a RA0.
set_tris_b (0b10000111); // RB7 a RB0.
// Configuramos el oscilador.
setup_oscillator(OSC_8MHZ);
// Desactivamos las interrupciones.
disable_interrupts(GLOBAL);
disable_interrupts(INT_rda);
// Configuramos el conversor AD.
SETUP_ADC(ADC_CLOCK_DIV_16); // Clock/16.
SETUP_ADC_PORTS(sAN2|sAN3|VSS_VDD); // Canal AD: 2 y 3 ; referencia: 0 - VDD.

// Iniciamos los puertos:
RELAY_OFF // Apagamos   RELE.
OUT1_OFF  // Apagamos   OUT1.
OUT2_OFF  // Apagamos   OUT2.

}

void inicializo_buffer(void){ 

 USART_nextRec=0; // Inicializo el contador de datos entrantes.
  for(i=0; i<=bytes_for_USART_buffer; i++){ // Borro el contenido del buffer de datos.
   USART_buffer[i]='\0';}

}
Los códigos están pensados para un SIM340D, lo demás lo pueden investigar
07/04/2012 #578


muchas gracias amigo
26/07/2012 #579


Estoy tratando de hacer la conexión de un celular nokia 6101 a un pic 18f4550. Ya probé en hiperterminal todos los comandos y funcionaron bien. A la hora de conectar el celular al micro, puedo hacer una llamada exitosamente usando comandos AT pero el problema se viene en el cable Rx. Al querer leer la respuesta del celular, nunca obtengo nada. Espero alguien me pueda ayudar.
27/07/2012 #580


RodFIE dijo: Ver Mensaje
Estoy tratando de hacer la conexión de un celular nokia 6101 a un pic 18f4550. Ya probé en hiperterminal todos los comandos y funcionaron bien. A la hora de conectar el celular al micro, puedo hacer una llamada exitosamente usando comandos AT pero el problema se viene en el cable Rx. Al querer leer la respuesta del celular, nunca obtengo nada. Espero alguien me pueda ayudar.

Si puedes subir el diagrama? tal vez el problema este en el circuito...
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.