![]() |
|
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 |
|
![]() |
#1 |
Đệ tử 2 túi
Tham gia ngày: Sep 2008
Nơi Cư Ngụ: Tp. HCM
Bài gửi: 38
: |
Em có một vấn đề không hiểu khi thực hiện biến đổi FFT trong C30, đó là các hệ số twiddle trong lý thuyết là các số phức, vậy khi sử dụng hàm
FFTComplexIP ( int log2N, fractcomplex* srcCV, fractcomplex* twidFactors, int factPage ); thì các hệ số này khai báo làm sao để được số phức? Em xem một số ví dụ thì thấy người ta chỉ khai báo như là các số nguyên 16bit thông thường (các hệ số này thường là số thực chứ ko nguyên?)? Em xin cám ơn. thay đổi nội dung bởi: npbaoduy, 16-10-2009 lúc 11:56 PM. |
![]() |
![]() |
![]() |
#2 |
Đệ tử 2 túi
Tham gia ngày: Sep 2008
Nơi Cư Ngụ: Tp. HCM
Bài gửi: 38
: |
Cuối cùng mình cũng đã hiểu, xin trình bày luôn để giúp những ai có thắc mắc giống mình.
Thật ra đó là những số phức, word thứ nhất là phần thực, word kế tiếp là phần ảo của nó. |
![]() |
![]() |
![]() |
#3 |
Đệ tử 2 túi
Tham gia ngày: Sep 2008
Nơi Cư Ngụ: Tp. HCM
Bài gửi: 38
: |
Cho em hỏi thêm một câu, trong C30 có hàm đổi từ chuỗi ra số nguyên và ngược lại hay không?
Cám ơn rất nhiều. |
![]() |
![]() |
![]() |
#4 | |
Đệ tử 4 túi
Tham gia ngày: Mar 2009
Bài gửi: 64
: |
Trích:
char *str1 = "Testing UARTx..."; Khi dùng thì viết putsUART1((unsigned int *)str1); Các bác cho em hỏi với, em dùng icd2 để nạp và debug nhé. Nhưng em ko biết cách cấu hình ID memory trong phần configure, với 1 con bất kỳ thì xem ID memory ở đâu (em tìm cả buổi trên google mà vẫn chưa thông...Hơi kém chút). Nên nó báo lỗi loạn nên. Khi chọn debug thì thấy debug rất chậm. Không biết nạp xong có phải reset hay ko mà có mỗi nháy led mà lúc được lúc không. Khoảng thời gian từ khi nạp xong đển khi bộ PLL được lock là bao nhiêu. Còn phần cấu hình secure segment thì chọn như thế nào Em dùng dsPIC33FJ128MC804. |
|
![]() |
![]() |
![]() |
#5 |
Đệ tử 4 túi
Tham gia ngày: Mar 2009
Bài gửi: 64
: |
Tự trả lời bài viết của mình vậy. Khi dùng debug bằng IDC2 (mà bằng cái gì cũng thế thôi)thì trong phần project/build configuration phải để là mode debug (khônng phải là release).
Nếu nạp bằng phân programmer, nhớ import file .hex vào, khi nạp xong thì vào programmer chọn phần release from reset để chạy. Còn khi nạp lại chỉ vào phần hold in reset. Còn vấn đề nữa là. Dùng các thư viện ngoại vi sẵn có của C30 bằng cách include thêm file.h. Nhưng khi debug thì không thể nhảy vào hàm được. Nếu include cả file .c thì nhảy vào hàm được nhưng trong thư viện của C30, nó tách mỗi hàm thành 1 file .c như vậy mỗi khi dịch lại link 1 đống các file. Vậy có cách nào dồn đống hàm đó vào 1 file không? + Cách 1: Chịu khó gom thủ công thành 1 file .c (cái này em làm rồi, ok ngon) + Cách 2: Tạo ra 1 file .lib (không biết làm thế nào ) Vấn đề là em muốn tạo ra 1 cái file thư viện để khi debug có thể nhảy vào hàm (có thể dịch sang object-file .o rồi include vào project cũng được) |
![]() |
![]() |
![]() |
|
|