View Single Post
Old 08-11-2011, 05:32 PM   #1
fanliver
Nhập môn đệ tử
 
Tham gia ngày: Oct 2011
Bài gửi: 2
:
Cho hỏi về cách xây dựng hàm có đối số bất định trong CCS C cho Pic16f877a

Em dùng CCS C để code cho Pic6f877a. Em code lần đầu tiên :-D
Em xem trong file stdarg.h thì các khai báo hàm có đối số bất định giống như trong visual studio và Dev C++ nhưng sao e làm tương tự như thế thì không được.
Code:
void MultiLedOn(int n,...)
{
	int i,x,y,z,*ArgList;
	ArgList = int malloc(n*3);
	va_list List;
	va_start(List,n);
	for (i=0;i<3*n;i++)
	{
		x=va_arg(List,int);
		y=va_arg(List,int);
		z=va_arg(List,int);
		LedOn(x,y,z,10);
	}
	free(ArgList);	
}
Hàm LedOn e đã xây dựng phía trên để bật Led rùi. Chương trình chỉ bảo lỗi là List chưa được khai báo mỗi khi dùng đến List thôi. trong lệnh khai báo va_list List thì cũng bị báo lỗi. Hàm free() cũng lỗi. e mới làm bên Pic lần đầu nền không bít là cú pháp sai chỗ nào.
Mong các a nào đã làm thử giúp đỡ e cách khai báo và xây dựng hàm có đối số bất định trong CCS C
fanliver vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn