PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > dsPIC - Bộ điều khiển tín hiệu số 16-bit

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

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
Prev Previous Post   Next Post Next
Old 27-12-2008, 11:09 AM   #10
ham_hoc_hoi
Đệ 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á
ham_hoc_hoi 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à 10:15 PM.


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