|
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 |
28-10-2008, 04:32 PM | #1 |
Đệ tử 4 túi
Tham gia ngày: Jan 2007
Bài gửi: 79
: |
Hỏi về kiểu dữ liệu fractional trong ADC của dspic
Chào các bạn.
Mình dùng dspic30f6014A, và đang làm phần biến đổi ADC tín hiệu âm thanh. ADC của dspic30f6014a là ADC 12 bits và dạng dữ liệu đưa ra bus thuộc 4 dạng : integer, signed integer, fractional và signed fractional. Mình đã đọc kỹ trong datasheet của nó và đã hình dung được cách lưu 12 bits đó trong thanh ghi 16 bits của dspic ra sao nhưng vẫn không hiểu kiểu fractional là như thế nào. Cách sử dụng nó ra sao. Và tại sao người ta phải lưu nó dưới dạng này thì mới sử dụng như là các toán hạng trong xử lý số (ma trận,v.v....). Mình đã search trên diễn đàn, nhưng đa phần nhiều bạn hiểu về vấn đề này rồi thì lại không nói ra. Mong mọi người giúp đỡ. Nhân đây cho mình hỏi luôn : Các câu lệnh Code:
extern fractional inputSignal[NUMSAMP]; extern int doFilterFlag; extern fractional* iPtr; volatile unsigned int * adcPtr; Cảm ơn mọi người. |
25-04-2012, 10:22 PM | #2 |
Nhập môn đệ tử
Tham gia ngày: May 2011
Bài gửi: 3
: |
Theo mình biết thì từ khóa Extern nghĩa là biến được khai báo sẽ được phép dùng trong các file link với file bạn đang viết.
Với volatile : Trong các chương trình dịch thường có các chức năng optimize,tối ưu hóa bộ nhớ, nên nếu các biến khai báo thông thường,nếu trong chương trình chính bạn không dùng đến nó thì Optimize sẽ xóa nó đi, lúc đó chương trình không đúng nữa. còn khi khai báo volatile nghĩa là biến được cố tình tạo ra và yêu cầu Optimize không được xóa khi dịch chương trình. |
|
|