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 25-12-2008, 11:52 AM   #3
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
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
Đây là khai báo của macro Q15 trong dsp.h
Code:
#define Q15(X) \
   ((X < 0.0) ? (int)(32768*(X) - 0.5) : (int)(32767*(X) + 0.5))
Q15 thực chất là biểu diễn số thực dấu chấm tĩnh ở dạng số nguyên với 1 bit dấu và 15 bit sau dấu phẩy. Thực chất công việc này quy ước với nhau rằng dấu chấm nằm ở bên trái 15 bit, còn lại dạng biểu diễn y như số nguyên.

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
Theo như công thức kết quả của phép chuyển đổi sẽ bị tràn

Bạn nên bỏ cái Q15 đi.
__________________
- Xin đọc trước khi post bài

Xin đặt code trong thẻ [ code ] [ /code ]

thay đổi nội dung bởi: bien_van_khat, 25-12-2008 lúc 02:38 PM.
bien_van_khat 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à 11:30 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