View Single Post
Old 22-06-2007, 01:58 AM   #1
dvnccbmacbt
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 65
:
HỎi về "Previous identifier must be a pointer"?

Đây là chương trinh của em dùng chạy led?
Code:
#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.
dvnccbmacbt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn