phandinh
07-05-2009, 10:59 PM
Em đã làm dc giao tiếp ADC 8 bit gởi lên PC , bây giờ e đang làm 10 bit nhưng đang bí mong các bác chỉ giúp các thắc mắc sau:
#############thắc mắc 1 ##################
int16 val_adc ; //biến đọc 10 bit ADC
.....
val_adc = read_adc();
printf("%u",val_adc);// khi dịch thì chương trình báo lỗi " printf format type is invalid "
// nếu em khai báo " int val_adc; " thì không báo lỗi.
trong C thì int có kích thước là 2 byte. CCS thì int có kích thước 1 byte, int16 có kích thước 2 byte.Thực hư là thế nào ?
Vậy với yêu cầu đọc ADC 10 bit em khai báo " int16 val_adc ;" là đúng chứ ?
mà sao khi dịch thì bị báo lỗi như trên.
############ thắc mắc 2 ###################
Ví dụ: val_adc = 1023 ;
printf("%u",val_adc); // có phải sẽ gửi lần lượt gửi 1 ,0 , 2 , 3, không ?
Rất mong các bác chỉ giúp
thanks
#############thắc mắc 1 ##################
int16 val_adc ; //biến đọc 10 bit ADC
.....
val_adc = read_adc();
printf("%u",val_adc);// khi dịch thì chương trình báo lỗi " printf format type is invalid "
// nếu em khai báo " int val_adc; " thì không báo lỗi.
trong C thì int có kích thước là 2 byte. CCS thì int có kích thước 1 byte, int16 có kích thước 2 byte.Thực hư là thế nào ?
Vậy với yêu cầu đọc ADC 10 bit em khai báo " int16 val_adc ;" là đúng chứ ?
mà sao khi dịch thì bị báo lỗi như trên.
############ thắc mắc 2 ###################
Ví dụ: val_adc = 1023 ;
printf("%u",val_adc); // có phải sẽ gửi lần lượt gửi 1 ,0 , 2 , 3, không ?
Rất mong các bác chỉ giúp
thanks