![]() |
|
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 |
![]() |
#10 |
Đệ tử 1 túi
Tham gia ngày: Dec 2008
Bài gửi: 25
: |
nếu ADCBUF0 >> 1 của em là 0x01F8 là 504
và POSCNT là 124 xung/10ms (0x007C xung/10ms) ==> POSCNT*0x0003 = 327 ( 0x0174) vậy ControlHistory[n] = fooPID.controlReference - fooPID.measuredOutput = 0x01F8 - 0x0174 = 0x0084 = 132 ControlHistory[n] là số frac thì kết quả như này có đúng ko EM giả sử controlOutput[n] = controlHistory[n] * abcCoefficient[0] (coi các hệ số khác = 0) khi đó controlHistory[n] là số frac nhân với abcCoefficient[0] là số Q15 ví dụ abcCoefficient[0] = 0,7 controlOutput[n] là số frac khi đó controlOutput[n] = 0x0084 * 0,7 thì ra dạng số j, có phải là số frac ko, và nó có giá trị bằng bao nhiêu, em muốn chuyển sang số int để đưa vào thanh ghi PDC1 thì làm thế nào. còn số abcCoefficient[0] là số Q15 thì em muốn khai báo 1 số lơn hơn 1 thì làm thế nào Mong các bác nhiệt tình giúp em với, em đang bị bí phần này quá |
![]() |
![]() |
|
|