Đâ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 đỡ.