dvnccbmacbt
22-06-2007, 01:58 AM
Đây là chương trinh của em dùng chạy led?
#include <16F877A.h>
#device *=16 ADC=8
#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=20000000)
#use fast_io(b)
#use fast_io(c)
#byte pb=0x106
#byte pa=0x05
#byte pc=0x07
//============Khai bao bien toan cuc====================//
int8 const led[]={1,2,4,8,16,32,64,128};
int i;
//=============khai bao ham====================//
void led();
void led1();
//============================================//
void main()
{
while(1)
{
set_tris_b(0);pb=0;
set_tris_c(0);pc=0;
led ();
led1 ();
}
}
//=============chuong trinh con=================//
//===========nhay 1 chieu tu B-C============//
void led()
{// int8 const led[]={1,2,4,8,16,32,64,128},a;
for(i=0;i<8;i++)
{
pb=led[i];
delay_ms(50);
}pb=0;
for(i=0;i<8;i++)
{
pc=led[i];
delay_ms(50);
}pc=0;
}
//=============nhay 1 chieu tu C-B===========//
void led1()
{// int8 const led[]={1,2,4,8,16,32,64,128},a;
for(i=8;i>=1;i--)
{
pc=led[i-1];
delay_ms(50);
}pc=0;
for(i=8;i>=1;i--)
{
pb=led[i-1];
delay_ms(50);
}
}
Nó báo lỗi "Previous identifier must be a pointer" ở những chổ pb=led[i-1];
pc=led[i];
Chương trình trên nếu em khai báo int8 const led[]={1,2,4,8,16,32,64,128},a;
ở mỗi hàm con thì không bị lỗi nhưng khi đưa ra khai báo toàn cục thì lỗi như vậy. Mấy bác cao thủ giúp em với. Em cảm ơn nhiều.
#include <16F877A.h>
#device *=16 ADC=8
#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=20000000)
#use fast_io(b)
#use fast_io(c)
#byte pb=0x106
#byte pa=0x05
#byte pc=0x07
//============Khai bao bien toan cuc====================//
int8 const led[]={1,2,4,8,16,32,64,128};
int i;
//=============khai bao ham====================//
void led();
void led1();
//============================================//
void main()
{
while(1)
{
set_tris_b(0);pb=0;
set_tris_c(0);pc=0;
led ();
led1 ();
}
}
//=============chuong trinh con=================//
//===========nhay 1 chieu tu B-C============//
void led()
{// int8 const led[]={1,2,4,8,16,32,64,128},a;
for(i=0;i<8;i++)
{
pb=led[i];
delay_ms(50);
}pb=0;
for(i=0;i<8;i++)
{
pc=led[i];
delay_ms(50);
}pc=0;
}
//=============nhay 1 chieu tu C-B===========//
void led1()
{// int8 const led[]={1,2,4,8,16,32,64,128},a;
for(i=8;i>=1;i--)
{
pc=led[i-1];
delay_ms(50);
}pc=0;
for(i=8;i>=1;i--)
{
pb=led[i-1];
delay_ms(50);
}
}
Nó báo lỗi "Previous identifier must be a pointer" ở những chổ pb=led[i-1];
pc=led[i];
Chương trình trên nếu em khai báo int8 const led[]={1,2,4,8,16,32,64,128},a;
ở mỗi hàm con thì không bị lỗi nhưng khi đưa ra khai báo toàn cục thì lỗi như vậy. Mấy bác cao thủ giúp em với. Em cảm ơn nhiều.