PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 07-05-2009, 10:59 PM   #1
phandinh
Đệ tử 6 túi
 
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Di Linh
Bài gửi: 131
:
Unhappy Lại thắc mắc lệnh printf("%u",val_adc) , ADC 10 bit

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
phandinh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-05-2009, 10:09 AM   #2
thienthanhomenh
Đệ tử 2 túi
 
Tham gia ngày: Mar 2007
Bài gửi: 36
:
bạn xem kỷ lại xem trong hàm printf("%u",val_adc) biến nhập vào (val_adc) là dạng biến ji theo mình nó là unsigned char trong ccs nó là unsigned int8 do bạn
biến nhập hiện tại bạn đua vào là int16 báo lổi là chính xác %u là cho u int8

chú ý là bạn nên khai báo chình xác unsigned int16
hoặc là signed int16 thì se dùng:
printf("%Lu",val_adc) hoặc printf("%Lu",val_adc)
xem bảng này nha
//=============
c
Character

s
String or character

u
Unsigned int

d
Signed int

Lu
Long unsigned int

Ld
Long signed int

x
Hex int (lower case)

X
Hex int (upper case)

Lx
Hex long int (lower case)

LX
Hex long int (upper case)

f
Float with truncated decimal

g
Float with rounded decimal

e
Float in exponential format

w
Unsigned int with decimal place inserted. Specify two numbers for n. The first is a total field width. The second is the desired number of decimal places.


//=============
>>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 ?
theo mình là không ....

thay đổi nội dung bởi: thienthanhomenh, 08-05-2009 lúc 10:27 AM.
thienthanhomenh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-05-2009, 10:45 AM   #3
cskiller
Đệ tử 4 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 89
:
%u in số 8 bits không dấu
%Lu in số 16 bits không dấu

Trích:
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 ?
đang in số không dấu 8 bits -> kết quả là 255
__________________
Quang báo RG/RGB 6/8/12/16 bits màu
Phone No: 0905.034.086
Email: lmquyen@gmail.com
cskiller vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-05-2009, 10:45 AM   #4
cskiller
Đệ tử 4 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 89
:
%u in số 8 bits không dấu
%Lu in số 16 bits không dấu
__________________
Quang báo RG/RGB 6/8/12/16 bits màu
Phone No: 0905.034.086
Email: lmquyen@gmail.com
cskiller vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-05-2009, 11:54 AM   #5
phandinh
Đệ tử 6 túi
 
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Di Linh
Bài gửi: 131
:
A ! em làm dc rồi.Vui quá !!!!!!!!!!!!!!!!! Cảm ơn các bác nhiều
Thank u so much much

thay đổi nội dung bởi: phandinh, 08-05-2009 lúc 12:07 PM.
phandinh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-11-2010, 05:41 AM   #6
minhbien
Nhập môn đệ tử
 
Tham gia ngày: Sep 2009
Bài gửi: 2
:
Cho em hỏi là lệnh printf này thực hiện trong bao lâu, em tìm hoài không thấy...cảm ơn các anh trước!
minhbien vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-11-2011, 10:56 PM   #7
truongqt
Đệ tử 2 túi
 
truongqt's Avatar
 
Tham gia ngày: Apr 2007
Nơi Cư Ngụ: Quảng Trị - Đà Nẵng
Bài gửi: 43
:
Trích:
Nguyên văn bởi phandinh View Post
A ! em làm dc rồi.Vui quá !!!!!!!!!!!!!!!!! Cảm ơn các bác nhiều
Thank u so much much
Anh ơi cho em xin đoạn code đó anh nhé, em làm mãi mà không được. Em chân thành cảm ơn anh nhiều lắm.
__________________
Trường.
http://vn.myblog.yahoo.com/nguyenvantruongqt
truongqt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 08:01 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam