View Single Post
Old 03-01-2009, 12:53 AM   #10
nvtri
Nhập môn đệ tử
 
Tham gia ngày: Jun 2008
Bài gửi: 9
:
giải thích code cho dsPIC

Đây là đoạn code để PIC nhận dữ liệu từ máy tính (từ VB truyền xuống)
Code:
float Kps=0; 
float Kis=0; 
float Kds=0; 
unsigned char InData[]
void getvalue()
{
   char hs_vel[4];   // vận tốc là số có 4 chữ số
   int len_vel;
   char hs_kp[8];    // hệ số Kp là số có 8 chữ số
   int len_kp;
   char hs_ki[8];    // 8 chữ số
   int len_ki;
   char hs_kd[8];  // 8 chữ số
   int len_kd;
   unsigned char InData[28];  // tổng cộng chuỗi có 28 chữ số
   int i;
     for (i=0;i<28;i++)
      InData[i]=getc();
      
   for (len_vel=0;len_vel<4;len_vel++)
   {   
      hs_vel[len_vel]=InData[len_vel];
      //putc(hs_vel[len_vel]);
   }   
   for (len_kp=0;len_kp<8;len_kp++)
   {  
     hs_kp[len_kp]=InData[len_kp+4];
     //putc(hs_kp[len_kp]); 
   }
   for (len_ki=0;len_ki<8;len_ki++)
   {   
      hs_ki[len_ki]=InData[len_ki+12];
      //putc(hs_ki[len_ki]);
   }      
   for (len_kd=0;len_kd<8;len_kd++)
   {
      hs_kd[len_kd]=InData[len_kd+20];
      //putc(hs_kd[len_kd]);
   }      
   
   DesiredSpeed = atol(hs_vel); //vận tốc yêu cầu
   Kps = atof(hs_kp);
   Kis =  atof(hs_ki);
   Kds = atof(hs_kd);
}
Trong hàm main em gọi hàm getsvalue();
Nhưng khi biên dịch chương trình bị lỗi sau:
c:\program files\microchip\mplab c30\bin\bin\pic30-coff-ld.exe Error: A heap is required, but has not been specified
ClosedLoopSenBLDC.o(.text+0xbe): In function `main':
C:\Documents and Settings\NVTRI_HCMUT\Desktop\ClosedLoop\ClosedLoop SenBLDC.c:131: undefined reference to `getvaule'
Link step failed. // lỗi link step này là gi vậy
BUILD FAILED: Sat Jan 03 12:48:58 2009
Mong anh Nam và mọi người giúp đỡ.

thay đổi nội dung bởi: namqn, 03-01-2009 lúc 01:14 AM.
nvtri vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn