View Single Post
Old 07-04-2009, 09:09 PM   #6
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi kugirl View Post
ủa thế khi dùng hàm printf ta phải nhận truyền theo kí tự à bác.em thấy trong tài liệu có định dạng truyền kết quả bằng số à.
VD printf("hello");truyền ký tự
printf("%u",k);truyền theo dạng số
còn nếu dùng ký tự để truyền kết quả ADC như thế nào ạ?em chưa hiểu.bác giải thích cho em với.
printf("%u", k) sẽ xuất giá trị k ở dạng chuỗi ký tự ASCII biểu diễn số k (dạng mà con người thường dùng để biểu diễn các con số). Ví dụ, nếu k của bạn là số 250 (có thể mã hóa trong một byte) thì lệnh printf() đó sẽ xuất ra các ký tự '2', '5' và '0', tức là dùng 3 byte.

Ví dụ, nếu kết quả ADC của bạn chứa trong 10 bit thì giá trị thập phân lớn nhất mà bạn có thể cần biểu diễn sẽ là 1023 (tương ứng với 0b1111111111 = 0x3FF), do đó bạn sẽ có thể cần đến 4 ký tự để gửi giá trị này đi bằng printf(). Ở phía máy tính, nếu bạn chỉ dùng để hiển thị thì chuỗi ký tự này là sẵn sàng để sử dụng, nhưng nếu bạn cần tính toán với giá trị nhận được thì bạn sẽ cần phải chuyển chuỗi ký tự này trở lại thành một số nguyên 10-bit (chứa trong một ô nhớ 16-bit chẳng hạn).

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn