|
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 |
|
23-04-2006, 06:47 PM | #1 |
Trưởng lão PIC bang
|
Các thắc mắc về ASM30, C30
Hiện nay đã có một số bạn quan tâm đến dsPIC, sử dụng ASM30 hay C30 để viết chương trình, và có những thắc mắc, cũng như trở ngại trong khi viết chương trình cho dsPIC. Tôi mở luồng này để các bạn có thể post những câu hỏi, những vấn đề liên quan đến việc viết chương trình cho dsPIC.
Nào các bạn, hãy cùng nhau chinh phục dsPIC đi! Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
29-04-2006, 11:36 PM | #2 |
Đệ tử 2 túi
Tham gia ngày: Jul 2005
Bài gửi: 35
: |
Khi xử dụng ADC của dsPIC và UART có ảnh hưởng gì không ?
Khi chuyển ADC on bằng lệnh (ADCON1bits.ADON =1 thì không thể set ADON =1 được .Đoạn chương trình như sau : Code:
ADPCFG =0xFFFB; ADCON1=0x0000; ADCHS = 0x0002; ADCSSL =0 ; ADCON3 =0x0002; ADCON2=0; a=100; ADCON1bits.ADON =1; if(!ADCON1bits.ADON) printf("%d", a); .. Khi kiểm tra bằng phần mềm khi vào đoạn chương trình trên lệnh printf thực hiện nên trên PC nhận giá trị 100.Các anh xem giúp đoạn trên có lỗi gì không? thay đổi nội dung bởi: namqn, 01-05-2006 lúc 07:05 PM. |
30-04-2006, 06:52 PM | #3 |
Trưởng lão PIC bang
|
Bạn mô tả thêm phần cứng: chip được sử dụng, các từ cấu hình liên quan đang dùng, các chân I/O đang được sử dụng.
Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
01-05-2006, 10:20 AM | #4 |
Đệ tử 2 túi
Tham gia ngày: Jul 2005
Bài gửi: 35
: |
Em dùng bootloader cấu himhf như sau :
Code:
#include <p30f4012.h> #include "stdio.h" #include "uart.h" _FOSC(CSW_FSCM_OFF & XT_PLL4); //Set up for crystal multiplied by 4x PLL _FWDT(WDT_OFF); //Turn off the Watch-Dog Timer. _FBORPOR(MCLR_EN & PWRT_OFF); //Enable MCLR reset pin and turn off the power-up timers. _FGS(CODE_PROT_OFF); void OpenUART1(unsigned int config1,unsigned int config2, unsigned int ubrg) .Phần giao tiếp với PC hoạt động tốt thay đổi nội dung bởi: namqn, 01-05-2006 lúc 06:50 PM. |
01-05-2006, 08:06 PM | #5 |
Trưởng lão PIC bang
|
Bạn sử dụng mã nguồn mẫu của Microchip, phần UART chạy tốt, hai lệnh bạn thêm vào để kiểm tra bit ADON không có vấn đề. Vậy các phần bạn đã post ở đây không có vấn đề gì. Tôi đã thử kiểm tra phần mã của hai lệnh bạn thêm vào do C30 dịch ra, vẫn không có vấn đề gì. Bạn thử kiểm tra xem module ADC của bạn có làm việc hay không, bằng cách dùng một tín hiệu chuẩn nào đó (pin 1.5V chẳng hạn) để xem ADC có đọc về đúng và ổn định hay không. Tôi thường không kiểm tra bit ADON đó, vì khi bật module thì các kết quả đọc được từ ADC về chứng tỏ nó đang hoạt động tốt.
Tôi sẽ thử dùng kết hợp ADC và UART, sẽ thông báo kết quả cho bạn sau. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 thay đổi nội dung bởi: namqn, 02-05-2006 lúc 06:53 PM. |
02-05-2006, 06:54 PM | #6 |
Trưởng lão PIC bang
|
Tôi đã thử dùng ADC cùng với UART, chip làm việc bình thường. Các giá trị ADC đọc được đã được truyền lên PC mà không gặp vấn đề gì. Sử dụng 2 lệnh tương tự như của bạn để kiểm tra bit ADON cho thấy bit đã được set thành công, không có thông báo được xuất lên PC thể hiện bit ADON không thể set được.
Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
06-05-2006, 10:52 AM | #7 |
Đệ tử 2 túi
Tham gia ngày: Jul 2005
Bài gửi: 35
: |
Em đã thử module ADC,do Module ADC chưa làm việc nên mới kiểm tra các thanh ghi liên quan đến ADC.Em đang tìm các tài liệu liên quan đến ADC để kiểm tra xem còn cần phải khai báo thêm lệnh gì nửa,nếu chương trình đúng thì module ADC bị hỏng.
|
06-05-2006, 08:59 PM | #8 | |
Trưởng lão PIC bang
|
Trích:
Đoạn chương trình liên quan đến thiết lập chế độ cho ADC của tôi: Code:
ADPCFG = 0xFFFE; ADCON1 = 0x0000; ADCON2 = 0x0000; ADCHS = 0x0000; ADCSSL = 0x0000; ADCON3 = 0x0002; ADCON1bits.ADON = 1; if (!ADCON1bits.ADON) printf("ADON is off"); Code:
while (1) { if (k != 0) { ADCON1bits.SAMP = 1; asm("repeat #200"); asm("nop"); ADCON1bits.SAMP = 0; while (!ADCON1bits.DONE); ADCValue = ADCBUF0; printf("\nADC Value is: %d", ADCValue); k = 0; }; Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
09-05-2006, 11:17 PM | #9 |
Đệ tử 2 túi
Tham gia ngày: Jul 2005
Bài gửi: 35
: |
Chương trình của em cũng tương tự như trên,riêng phần cứng em nối AVDD với VDD,AVSS nối với VSS.Các chân nầy nối với nhau có ảnh hưởng gì không?
Em đã thử với dspic30F4011 cũng gặp lỗi như trên. |
10-05-2006, 12:10 AM | #10 |
Trưởng lão PIC bang
|
Tôi vẫn nối AVDD vào VDD, và AVSS vào VSS trong nhiều mạch của tôi.
Tuy nhiên, một lần tôi phát hiện ra module ADC trong một mạch dsPIC của tôi không làm việc, dò phần mềm không phát hiện lỗi, cuối cùng phát hiện ra mạch in khi chạy bị đứt một phần ground plane, do đó cái ground plane của ADC và ground plane của board không nối với nhau. Sửa xong phần đó thì mạch chạy tốt. Vì thế tôi mới khuyên bạn nên đo thử trên mạch thật, biết đâu vẽ mạch thì đúng, nhưng làm mạch thì lại bị lỗi đâu đó. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
10-05-2006, 10:51 PM | #11 |
Đệ tử 2 túi
Tham gia ngày: Jul 2005
Bài gửi: 35
: |
EM đã tìm được lỗi rồi, do chương trình bootloader disable adc module.Em bỏ lệnh nầy mạch và chương trình hoạt động tốt.
Cám ơn anh nhiều ! |
10-05-2006, 11:50 PM | #12 | |
Trưởng lão PIC bang
|
Trích:
Dù sao cũng là tin tốt, em đã tìm ra lỗi và xác nhận rằng module ADC có thể làm việc bình thường với UART. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
14-05-2006, 05:21 PM | #13 |
Đệ tử 1 túi
Tham gia ngày: Aug 2005
Bài gửi: 14
: |
Cách sử dụng các hàm dsp của C30?
Bác Namqn à, em hiện đang dùng con dsPIC30F3012 nhưng đến phần sử dụng các hàm dsp thì khi em khai báo ma trận và sử dụng các hàm như Matrixadd và Matrixinvert thì lại bị báo lỗi. Mong bác chỉ cho em cách sử dụng và khai báo các hàm này. Cảm ơn bác nhiều lắm, em đang rất cần cái này.
|
14-05-2006, 07:09 PM | #14 | |
Trưởng lão PIC bang
|
Trích:
Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
15-05-2006, 12:03 AM | #15 |
Đệ tử 1 túi
Tham gia ngày: Aug 2005
Bài gửi: 14
: |
Hic, tại lúc trước em quên ko add file libdsp-coff.a nên sử dụng hàm dsp mới không được anh à. Bây giờ thì OK rồi.
Bác giải thích cho em về các thanh ghi CORCON và các thanh Accumulator, vai trò của nó trong các hàm DSP đc không? Các hàm dsp tác động tới số kiểu fractional và float thì khác nhau thế nào? Còn các thanh ghi như XMODSRT, XMODEND, YMODSRT, YMODEND có vai trò thế nào trong dsp? em thấy trong ví dụ về FIR của microchip thì họ có modified mấy thanh ghi này. Mong bác giúp đỡ. thay đổi nội dung bởi: escapevn, 15-05-2006 lúc 01:18 AM. |
|
|
Similar Threads | ||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
dsPIC Tutorial 1-Tạo và biên dịch một project (ASM30) | namqn | dsPIC - Bộ điều khiển tín hiệu số 16-bit | 16 | 22-08-2012 12:35 AM |