Почему функция не возвращает значение (компилятор микроСи) кусочек текста ниже :
unsigned short Z1 , Z2 , Z3 , Z4 , Z5 , P[16] ;
unsigned short raz()
{
unsigned short Z5 ;
P[16]={1,1,1,1,0,0,0,0,0, 0,0,0,0,1,1,1};
return P[16] ;
}
void main ()
{
unsigned short S ;
unsigned int k , e ;
Z5=0b001000010000000 0;
Z4=0b010100001100011 1;
Z3=0b010000000000000 0;
Z2=0b110000000000000 0;
Z1=0b001000000000000 0;
PORTA=1 ; // FSYNC
TRISA=0 ;
Delay_ms(10) ;
PORTB=1 ; //SCLK
TRISB=0;
Delay_ms(10) ;
PORTC=0; //SDATA
TRISC=0;
Delay_ms(3000);
S=Z5;
raz(Z5) ;
for(e=0;e<16;e++)
{
k=15-e ;
PORTB=0; //SCLK=0 старт 1-го бита
PORTC=P[k]; //SDATA=DBn
Delay_ms(100);
PORTB=1; //SCLK=1
Delay_ms(100);
}
PORTA=1;
PORTB=1;
Delay_ms(300);
}