Hola amigo, les cuento mi problema, resulta que por un proyecto de la universidad ns dieron de tarea lograr enviar un mensaje de texto desde un pic(16f877a), para esto ocuparems el celular nokia 3220 para uqe funcione como modem, este ultimo funciona con los llamados comandos AT, por lo que he leido en la web la tarea no es muy complicada. Probams enviando los comandos desde el hyperterminal del pc y funciona correctamente(envia el mensaje sin problemas), el grave PROBLEMA ocurre con el pic no hay forma de que envie la secuencia atraves del puerto serie, les pido a uds como expertos que le hechen un vistaso al codigo que cree(no soy espero en C) para ver si me pueden ayudar...
el codigo es el siguiente
unsigned char ss;
int i;
void USART_str(char *g)
{
while(*g){
USART_write(*g++);
}
}
void main() {
TRISB = 0X00;
PORTB = 0X00;
USART_init(9600);
ADCON1=0xFF;
PORTA=0xFF;
while(1){ ss=ADC_read(2);
if (ss>=131)
{ USART_str("AT+CMGF="); // modo texto
delay_ms(1000);
Usart_str("1");
delay_ms(1000);
USART_Write(0x0D); //Enter
delay_ms(5000);
USART_str("AT+CSCA="); // centro de mensajes
delay_ms(1000);
Usart_Write(0X22); //Comillas
Delay_ms(1000);
Usart_str("+5698890");
delay_ms(1000);
USART_str("005");
delay_ms(1000);
USART_Write(0X22);
delay_ms(1000);
USART_str(",145");
delay_ms(1000);
Usart_Write(0X0D);
Delay_ms(5000);
USART_str("AT+CMGS="); // Numero de recepcion del mensaje
delay_ms(1000);
Usart_Write(0X22); //Comillas
Delay_ms(1000);
Usart_str("+5699504");
delay_ms(1000);
USART_str("506");
delay_ms(1000);
USART_Write(0X22);
delay_ms(1000);
Usart_Write(0X0D);
Delay_ms(5000);
Usart_str("Temperatura > 30º");
Usart_Write(0X1A);
DELAY_MS(1000);
Usart_Write(0X0D);
DELAY_MS(500);
}
delay_ms(5000);
}
}
el 0x1A biene siendo el ctrl+z que hay q enviar desde el hyperterminal para que el mensaje sea enviado, eso esta correcto????
bueno amigos les agradesco desde ya su tiempo y espero puedan ayudarme......
saludos