Проблема с определением номера звонящего

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 1
Зарегистрирован: Вт июн 22, 2010 06:50:08

Сообщение niktool »

Добрый день,
Помогите разобраться проблемой - пытаюсь определить номер звонящего, не могу понять в чем дело.
В Proteus все проходит отлично (на ATMEGA16), с ПС тоже (на ATMEGA162), но с телефоном алгоритм определения номера работать отказывается, но при этом алгоритм считывания номеров телефонов из СИМ карты работает нормально ((

Пользую CodeVisionAVR
Chip type : ATmega162
Program type : Application
AVR Core Clock frequency: 8,000000 MHz



Части кода

// USART0 Receiver buffer
#define RX_BUFFER_SIZE0 100
char rx_buffer0[RX_BUFFER_SIZE0];

char telz[100];
char tel[] = "917*******";

настраиваю телефон так:
printf("ATE0\x0d");
printf("\n\r");
printf("AT+CLIP=1");
printf("\n\r");

определяю номер звонящего:

if (rx_counter>20)
{
#asm("cli");
gets(telz,rx_counter);

for (i=0;i<strlen(telz);i++)
{
if(telz==tel[0] && telz[i+1]==tel[1] && telz[i+2]==tel[2] && tezl[i+3]==tel[3] && telz[i+4]==tel[4] && telz[i+5]==tel[5] && telz[i+6]==tel[6] && telz[i+7]==tel[7] && telz[i+8]==tel[8] && telz[i+9]==tel[9])
{
PORTD.3=1;
delay_ms(100);
PORTD.3=0;
delay_ms(100);
PORTD.3=1;
delay_ms(100);
PORTD.3=0;

printf("ATH\x0d");
memset(line,'',100);
}
#asm("sei");
}
memset(telz,'',100);
}
//**************************************************************
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»