![]() |
|
Tài trợ cho PIC Vietnam |
dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#3 |
...Damned...
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
: |
Code:
fooPID.controlReference = Q15(ADCBUF0 >> 1) ; // controlReference la dai luong dat // O day la toc do dc dat tu bien tro dieu chinh toc do thong qua bo ADC fooPID.measuredOutput = Q15(POSCNT * 0x0003) ; // measuredOutput dai luong do ve Code:
#define Q15(X) \ ((X < 0.0) ? (int)(32768*(X) - 0.5) : (int)(32767*(X) + 0.5)) Macro này dùng chuyển từ số thực dấu chấm động (float, double), hoặc hằng số trong khoảng từ -1 đến 1 - 2^(-15) sang Q15. Mình ko hiểu tại sao bạn lại gọi Code:
fooPID.controlReference = Q15(ADCBUF0 >> 1) ; // controlReference la dai luong dat // O day la toc do dc dat tu bien tro dieu chinh toc do thong qua bo ADC fooPID.measuredOutput = Q15(POSCNT * 0x0003) ; // measuredOutput dai luong do ve Bạn nên bỏ cái Q15 đi. thay đổi nội dung bởi: bien_van_khat, 25-12-2008 lúc 02:38 PM. |
![]() |
![]() |
|
|