В своей программе для PIC хочу использовать кусок кода, написанный для ATmega162.
На AVR код такой:
Код
volatile char BufSms[BPRSMS];//буфер приема анализа содержимого
.........
SIGNAL(USART1_RXC_vect ) //принят байт по USART1
{
FlagIn=1;
uin1=UDR1;
indpr++;
if (indpr>=BPRSMS) indpr=0;//ограничение
BufSms[indpr]=uin1;
//проверка принятого символа на сообщение устанавливает биты в SUsart1
for(i=0; i<8; i++)
{
if(PP[i][s[i]]==uin1)
{
s[i]++;
if(PP[i][s[i]]==0)
{
SUsart1 |= maska[i];
s[i]=0;
}
}
else s[i]=0;
}
}
.........
SIGNAL(USART1_RXC_vect ) //принят байт по USART1
{
FlagIn=1;
uin1=UDR1;
indpr++;
if (indpr>=BPRSMS) indpr=0;//ограничение
BufSms[indpr]=uin1;
//проверка принятого символа на сообщение устанавливает биты в SUsart1
for(i=0; i<8; i++)
{
if(PP[i][s[i]]==uin1)
{
s[i]++;
if(PP[i][s[i]]==0)
{
SUsart1 |= maska[i];
s[i]=0;
}
}
else s[i]=0;
}
}
После переноса в среду для PIC, мой компилятор MicroC ругается на определение:
Код
volatile char BufSms[BPRSMS];//буфер приема анализа содержимого
А именно подчеркивает BPRSMS.
Ошибка такая: Undeclared identifier 'BPRSMS' in expression.
Правильность кода для AVR проверить не могу, нет компилятора.
Но зашитый в МК код работает.
Моего опыта программирования не хватает, на то. что бы понять в чем причина.