Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
De verdad que no se toman la molestia de leer
Sin comentarios Meta.en la página anterior o dos anteriores tengo publicado un archivo de la sony ericsson donde se detallan todos los modelos que soportan los comandos AT así como los comandos en general.
#include "C:\Documents and Settings\Administrador\Mis documentos\modulo\FINAL\55\55.h"
//DEFINICION DE CONSTANTES
//************************
int n=0x22; // CODIGO ASCII "
int cont=0;
//DECLARACION DE VARIABLES
//*************************
char c1=0,c2=0,c3=0,c4=0,c5=0,c6=0,c7=0,c8=0,c9=0,c10=0,c11=0,c12=0,c13=0,c14=0,c15=0,c16=0,c17=0;
char c18=0,c19=0,c20=0,c21=0,c22=0,c23=0,c24=0,c25=0,c26=0,c27=0,c28=0,c29=0,c30=0,c31=0,c32=0,c33=0;
char c34=0,c35=0,c36=0,c37=0,c38=0,c39=0,c40=0,c41=0,c42=0,c43=0,c44=0,c45=0,c46=0,c47=0,c48=0,c49=0;
char c50=0,c51=0,c52=0,c53=0,c54=0,c55=0,c56=0,c57=0,c58=0,c59=0,c60=0,c61=0,c62=0,c63=0,c64=0,c65=0;
char c66=0,c67=0,c68=0,c69=0,c70=0,c71=0,c72=0,c73=0,c74=0,c75=0,c76=0,c77=0,c78=0,c79=0,c80=0,c81=0;
char c82=0,c83=0,c84=0,c85=0,c86=0,c87=0,c88=0,c89=0,c90=0;
//INICIO DE PROGRAMA
VOID main(VOID) {
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
setup_oscillator(False);
//PROGRAMA PRINCIPAL
WHILE (TRUE) {
c1=0,c2=0,c3=0,c4=0,c5=0,c6=0,c7=0,c8=0,c9=0,c10=0,c11=0,c12=0,c13=0,c14=0,c15=0,c16=0,c17=0;
c18=0,c19=0,c20=0,c21=0,c22=0,c23=0,c24=0,c25=0,c26=0,c27=0,c28=0,c29=0,c30=0,c31=0,c32=0,c33=0;
c34=0,c35=0,c36=0,c37=0,c38=0,c39=0,c40=0,c41=0,c42=0,c43=0,c44=0,c45=0,c46=0,c47=0,c48=0,c49=0;
c50=0,c51=0,c52=0,c53=0,c54=0,c55=0,c56=0,c57=0,c58=0,c59=0,c60=0,c61=0,c62=0,c63=0,c64=0,c65=0;
c66=0,c67=0,c68=0,c69=0,c70=0,c71=0,c72=0,c73=0,c74=0,c75=0,c76=0,c77=0,c78=0,c79=0,c80=0,c81=0;
c82=0,c83=0,c84=0,c85=0,c86=0,c87=0,c88=0,c89=0,c90=0;
delay_ms(500);
printf("AT+CLIP=1\n\r"); // inicia identificador de llamada
DELAY_MS(1000);
c1=getch();c2=getch();c3=getch();c4=getch();c5=getch();c6=getch();c7=getch();c8=getch();c9=getch();c10=getch();
c11=getch();c12=getch();c13=getch();c14=getch();c15=getch(); c16=getch();c17=getch();c18=getch();c19=getch();
c20=getch();c21=getch();c22=getch();c23=getch();c24=getch();c25=getch();c26=getch();c27=getch();c28=getch();
//*******************************************************************************
//*******************************************************************************
if (c25=='6') // IDENTIFICO Nº
{
delay_us(100);
//*******************************************************************************
//*******************************************************************************
if (c26=='2') // IDENTIFICO Nº
{
delay_us(100);
//*******************************************************************************
//*******************************************************************************
if (c27=='4') // IDENTIFICO Nº
{
delay_us(100);
//*******************************************************************************
//*******************************************************************************
if (c28=='9') // IDENTIFICO Nº
{
output_high(pin_B2); //
delay_us(500);
//*******************************************************************************
//si el Nª entrante es el correcto pone un alto en salida B2
//
//
//*******************************************************************************
}
}
}
}
}
}
struct{
boolean TEND: 1; //Bandera que indica cuando el tiempo ha terminado
boolean TON : 1; //Bandera de activación del temporizador
boolean NA : 2; //Bits no usados( puedes implementarlo para algo )
boolean TIME: 4; //Tiempo = TIME * 15ms. De 5ms a 75ms( Puedes variarlo a tu gusto)
}FLAGS
// Interrupción para el timer0 o rtcc( aproximádamente 5ms@4Mhz )
#int_RTCC
RTCC_isr(){
set_rtcc( 100 ); // 5ms de carga
if( FLAGS.TON ){
if( !FLAGS.TIME ){ // Checamos que el tiempo no sea 0
FLAGS.TON = 0; // Si es así deshabilitamos el tiempo
FLAGS.TEND = 1; // Habilitamos la bandera de finalización
}else FLAGS.TIME--; // Si es mayor 0 Decrementamos en 1 y salimos
}
}
void main(void){
set_rtcc( 0 );
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_32);
enable_interrupts(INT_RTCC);
enable_interrupts(GLOBAL);
FLAGS = 0; //Borramos la bandera para no generar errores
//etc.....
do{
//etc...
FLAGS.TIME = 1; //Esperamos 5ms
FLAGS.TON = 1; //Activamos el tiempo
while(!kbhit()&&FLAGS.TEND);//Esperamos a recibir o finalizar el temporizado
if( FLAGS.TEND ){ //Checamos si fue el fin del tiempo
FLAGS.TEND = 0; //Si es así borramos la bandera
//etc...tratamos el error //imlementamos alguna rutina para el error
}else //Si no fue el tiempo, es el caracter recibido
VARXX = getc(); //Guardamos la variable y continuamos el programa
//.....
}while( TRUE );
#use rs232 (options)
TIMEOUT=X
To set the time getc() waits for a byte in milliseconds. If no character comes in within this time the RS232_ERRORS is set to 0 as well as the return value form getc(). This works for both UART and non-UART ports.