Trích:
Nguyên văn bởi kugirl
ủ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,