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

Em đã sửa lại chương trình theo hướng này rồi.
Nhưng em không biết tại sao có vẫn báo lỗi : "Previous identifier must be a pointer"
Code:
#include <16F877A.h>
#device *=16 ADC=8
#fuses NOWDT,HS,NOPROTECT
#use delay(clock=20000000)
#use fast_io(b)
#use fast_io(c)

//============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();
//============================================//
//==================ham chinh==================//
void main()
{
 while(1)
 {
  set_tris_b(0);output_b(0x00);
  set_tris_c(0);output_c(0x00);
  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++)
    {
     output_b(led[i]);
     delay_ms(50);
    }output_b(0);
   for(i=0;i<8;i++)
    {
     output_c(led[i]);
     delay_ms(50);
    }output_c(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--)
    {
     output_c(led[i-1]];
     delay_ms(50);
    }output_c(0);
   for(i=8;i>=1;i--)
    {
     output_b(led[i-1]);
     delay_ms(50);
    }
 }
Nếu khai báo biến cục bộ như chỗ in đậm thì không có lỗi. CÒn đưa ra biến toàn cục thì lỗi như vậy tại những chỗ in đậm (i, i-1) .Em lục hết mấy bài viết rồi thấy ai viết output_B(led[i ])cũng chạy cả mà sao em lại không chạy. Các bác giúp em với.
dvnccbmacbt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn