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 Bài Trong Ngày Vi điều khiển

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 07-05-2008, 04:57 AM   #10
tyhon
Đệ tử 1 túi
 
Tham gia ngày: Nov 2007
Bài gửi: 22
:
Trích:
Nguyên văn bởi vandungevn View Post
ADC trong PIC có 10bit. adcHI là chứa 5 bits cao của 10 bits, còn adcLO chứa 5 bit thấp như vậy là ghép lại thành 10 bit ad rồi đó:d. còn '>>' có nghĩa là dịch trai 1111100000 >> 5 = 0000011111 => giá trị của adcHI được đưa vào 1 byte là 00011111, như vậy có 5 bit cao của adc 10 bit . x 0x1f, giữ nguyên giá trị của 5 bit cao để khỏi lẫn giá trị của byte thấp, em thử lấy 1 phép toán nào đó làm ví dụ thì thấy ngay. adcLO việc bit 7 của adcLO được bật để phân biệt adcHI và adcLO khi chuyển lên nếu ko thì ko biết mình nhận nó là byte thấp hay byte cao.
Anh cho em hỏi:
code
Trích:
Nguyên văn bởi tyhon View Post
while(TRUE)
{
adcValue = read_adc(); // Get ADC reading

adcHI = (char)((adcValue >> 5)& 0x1f);
adcLO = (char)((adcValue & 0x1f)|0x80);

putc(adcHI);
putc(adcLO);

delay_ms(10); // Preset delay, repeat every 10ms
}
}.
Thế ở đây không biết dịch bit để làm gì anh nhỉ ? Tại sao không cho adcHI nhận luôn 5 bit cao của adc trong PIC

thay đổi nội dung bởi: tyhon, 07-05-2008 lúc 05:07 AM.
tyhon vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


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à 07:03 AM.


Đượ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