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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 17-05-2009, 01:59 AM   #16
robotden
Đệ tử 5 túi
 
robotden's Avatar
 
Tham gia ngày: May 2007
Bài gửi: 102
:
hihi. em cũng muốn tham gia diễn đàn này.
em vừa mới bắt đầu tìm hiểu dsPic, mong anh Namqn chỉ dạy.
em làm với dsPIC30f4011, em lập trình như ví dụ 2-1 của anh mà sao khi mô phỏng bằng MPLAB SIM thì chạy không đúng anh Namqn ạ. em đã tính toán là chu kỳ timer1 là 0.5s, thế mà nó ra đến và giây thì TMR1 mới lên 1 đơn vị.
hôm nay em tính ra HOANG HOA THAM mua con pic về mô phỏng mạch thật mà hết hàng, chán thật.
a Namqn nói giùm em cái mplab sim cái, em cấu hình mục setting là thạch anh 8 MHZ,
a cũng nói luôn cho em cách cấu hình cho dspic dùng bộ dao động nội và bộ dao động ngoài với thạch anh 8 Mhz nhé.
thanhk a!!
robotden vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-05-2009, 11:12 PM   #17
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi robotden View Post
hihi. em cũng muốn tham gia diễn đàn này.
em vừa mới bắt đầu tìm hiểu dsPic, mong anh Namqn chỉ dạy.
em làm với dsPIC30f4011, em lập trình như ví dụ 2-1 của anh mà sao khi mô phỏng bằng MPLAB SIM thì chạy không đúng anh Namqn ạ. em đã tính toán là chu kỳ timer1 là 0.5s, thế mà nó ra đến và giây thì TMR1 mới lên 1 đơn vị.
hôm nay em tính ra HOANG HOA THAM mua con pic về mô phỏng mạch thật mà hết hàng, chán thật.
a Namqn nói giùm em cái mplab sim cái, em cấu hình mục setting là thạch anh 8 MHZ,
a cũng nói luôn cho em cách cấu hình cho dspic dùng bộ dao động nội và bộ dao động ngoài với thạch anh 8 Mhz nhé.
thanhk a!!
Trong mã nguồn của ví dụ 2-1, tôi đã chú thích là clock = 32 MHz. Để mô phỏng code ví dụ, bạn cần thiết lập tần số trong MPLAB SIM cũng là 32 MHz.

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
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-05-2009, 11:58 AM   #18
robotden
Đệ tử 5 túi
 
robotden's Avatar
 
Tham gia ngày: May 2007
Bài gửi: 102
:
dạ, em đã thiết lập rùi mà nó không có được anh nam ạ.
đây là chuơng trình của em nè:
#include "p30f4011.h"


//khai bao 4 bo thong so cho dsPic
_FOSC(CSW_FSCM_OFF & FRC_PLL4); //tat FSCM va dung tan so noi FRC voi PLL4, CSW CLock Switch:co kha nang tu dong chuyen doi giau cac nguon xung clock
//FSCM: giam sat su lam viec cua clock ngoai, neu bi loi se tu dong chuyen vao dung clock internal, o day OFF ca 2
_FWDT(WDT_OFF); //tat Cho giu nha
_FBORPOR(PBOR_OFF & MCLR_EN & PWMxL_ACT_HI & PWMxH_ACT_HI);//cho pep reset MCLR, nobrownout
_FGS(CODE_PROT_OFF); //ko bao ve code



#define LED _LATD0

void kt_port(void);
void kt_timer1(void);
//ct chinh
void main(void)
{
kt_port();
kt_timer1();

while(1){};///cho ngat
}


//ct con khoi tao cac cong vao ra noi voi led
void kt_port()
{
LATD=0;
//_TRISD0=0;//D0 la ngo ra
TRISD=0xFFFE;
}
void kt_timer1()
{
TMR1=0;//xoa thanh ghi dem timre1 ve 0
PR1=0xF424;
_T1IF=0;//xoa co ngat
T1CON=0x8020;//1:64(10), T1ON=1
_T1IE=1;//cho phep ngat

}


//ct xu ly ngat
void _ISR_T1Interrupt(void)
{
_T1IF=0;//xoa ngat
_LATD0^=1;//xor bit


}
robotden vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-08-2009, 04:23 PM   #19
thanhgand
Nhập môn đệ tử
 
Tham gia ngày: Jun 2009
Bài gửi: 5
:
chào các bác.cho em hỏi một chút về c30.các bác có thể diễn giải giúp em dòng code sau được không : " extern volatile T2CONBITS T2CONbits __attribute__((__sfr__));"
em không hiểu __attribute__((__sfr__)) là gì.
rồi một loạt các khai báo tương tự thế trong các thư viện của c30.
__attribute__((__sfr__,__deprecated__,__unsafe__))
vvv
em đã đọc qua help của c30 mà không hiểu mấy, mong các bác chỉ giúp.em mới tìm hiểu c30.
thanhgand vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-09-2009, 01:17 PM   #20
tahi
Đệ tử 4 túi
 
Tham gia ngày: Mar 2009
Bài gửi: 64
:
Trích:
Nguyên văn bởi thanhgand View Post
chào các bác.cho em hỏi một chút về c30.các bác có thể diễn giải giúp em dòng code sau được không : " extern volatile T2CONBITS T2CONbits __attribute__((__sfr__));"
em không hiểu __attribute__((__sfr__)) là gì.
rồi một loạt các khai báo tương tự thế trong các thư viện của c30.
__attribute__((__sfr__,__deprecated__,__unsafe__))
vvv
em đã đọc qua help của c30 mà không hiểu mấy, mong các bác chỉ giúp.em mới tìm hiểu c30.
Chỗ này chắc là khai báo địa chỉ của các thanh ghi T2CON (hoặc cấp phát bộ nhớ gì đó, nói chung là chưa rõ )

Mấy cái _sfr_ , _unsafe_ được khai báo địa chỉ trong support/dspic33f/gld (nếu dùng dspic33)
Mấy cái này em cũng chưa hiểu rõ lắm. Ví dụ chỗ này nhé:
Code:
__extension__ typedef struct tagCLKDIVBITS {
  union {
    struct {
      unsigned PLLPRE:5;
      unsigned :1;
      unsigned PLLPOST:2;
      unsigned FRCDIV:3;
      unsigned DOZEN:1;
      unsigned DOZE:3;
      unsigned ROI:1;
    };
    struct {
      unsigned PLLPRE0:1;
      unsigned PLLPRE1:1;
      unsigned PLLPRE2:1;
      unsigned PLLPRE3:1;
      unsigned PLLPRE4:1;
      unsigned :1;
      unsigned PLLPOST0:1;
      unsigned PLLPOST1:1;
      unsigned FRCDIV0:1;
      unsigned FRCDIV1:1;
      unsigned FRCDIV2:1;
      unsigned :1;
      unsigned DOZE0:1;
      unsigned DOZE1:1;
      unsigned DOZE2:1;
    };
  };
} CLKDIVBITS;
Chỗ này là sao unsigned :1;
unsigned PLLPRE:5; // PLLPRE chia 5 hay PLLPRE gồm 5 bít ?, lôi nó ra như thế nào
Muốn dùng từng bít của thanh ghi CLKDIV thì làm thế nào ? Hoặc muốn cấu hình PLLDIV, PLLPOST hoặc PLLPRE thì làm thế nào ?
Giả sử em muốn cấu hình dùng thạch anh ngoài sao cho FCY= 40MIPS, em tính ra các hệ số M=32, N1=N2=2, thì thiết lập các thông số này ở đâu ?
Mấy cái configuration bit nữa , nếu cấu hình trong đó thì ko phải code nữa có phải ko ạ ?
Ngoài các biến của C chuẩn, C30 còn có các loại biến nào khác không ?
tahi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-10-2009, 03:44 PM   #21
Vinhrpic
Nhập môn đệ tử
 
Tham gia ngày: Jul 2009
Bài gửi: 2
:
Em muốn lập trình dsPIC bằng C30 Cho dsPIC thay vì sử dụng CCS ,nhưng mà trong MPLAP IDEv8.33 em không biết phải sử dụng như thế nào ,nên khi biên dịch một bài đơn giản nhất cũng báo lỗi .
các Anh có thể chỉ cho em các sử dụng C30 trong MPLAB được không ?và nếu có thể cho em một bài mẫu .
Vinhrpic vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-10-2009, 07:54 PM   #22
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi Vinhrpic View Post
Em muốn lập trình dsPIC bằng C30 Cho dsPIC thay vì sử dụng CCS ,nhưng mà trong MPLAP IDEv8.33 em không biết phải sử dụng như thế nào ,nên khi biên dịch một bài đơn giản nhất cũng báo lỗi .
các Anh có thể chỉ cho em các sử dụng C30 trong MPLAB được không ?và nếu có thể cho em một bài mẫu .
Bạn đã đọc tutorial 1 cho dsPIC chưa? Tutorial này nhắm vào người học như bạn đó. Ở bước chọn trình dịch, thay vì chọn trình hợp dịch "MPLAB ASM30 Toolsuite" thì bạn chọn "MPLAB C30 Toolsuite". Cần phải cài đặt C30 một cách độc lập so với MPLAB IDE.

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
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-10-2009, 08:53 AM   #23
Vinhrpic
Nhập môn đệ tử
 
Tham gia ngày: Jul 2009
Bài gửi: 2
:
cảm ơn anh Namqn đã gúp đỡ em

Em mới cài MPLABCdsPICStdEvalv3_20_B.exe thêm vào MPLAB
Anh có thể hướng đẫn giúp em làm một bài mâu đơn giản nhất cho nó chạy được không?
Vinhrpic vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-10-2009, 11:45 PM   #24
npbaoduy
Đệ 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.
npbaoduy vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-10-2009, 09:04 AM   #25
npbaoduy
Đệ 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ó.
npbaoduy vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-10-2009, 12:18 AM   #26
npbaoduy
Đệ 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.
npbaoduy vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-10-2009, 04:07 PM   #27
tahi
Đệ tử 4 túi
 
Tham gia ngày: Mar 2009
Bài gửi: 64
:
Trích:
Nguyên văn bởi npbaoduy View Post
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.
chuyển từ string sang số int hả

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.
tahi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-10-2009, 08:57 AM   #28
tahi
Đệ 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)
tahi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-10-2009, 12:50 PM   #29
popeye_ts22
Đệ tử 2 túi
 
popeye_ts22's Avatar
 
Tham gia ngày: Jul 2008
Nơi Cư Ngụ: Hà Nội
Bài gửi: 42
:
Send a message via Yahoo to popeye_ts22
Smile Edit thư viện Xlcd

Code:
OpenXLCD(EIGHT_BIT & TWO_LINE & SEG1_50_SEG51_100
             & COM1_COM16);    //Khoi tao lcd
Không biết LCD Type ở đây là gì,không hiểu sao C30 toàn báo lỗi.
Code:
LCD162.c: In function 'main':
LCD162.c:9: warning: implicit declaration of function 'OpenXLCD'
LCD162.c:9: error: 'EIGHT_BIT' undeclared (first use in this function)
LCD162.c:9: error: (Each undeclared identifier is reported only once
LCD162.c:9: error: for each function it appears in.)
LCD162.c:9: error: 'TWO_LINE' undeclared (first use in this function)
LCD162.c:10: error: 'SEG1_50_SEG51_100' undeclared (first use in this function)
LCD162.c:10: error: 'COM1_COM16' undeclared (first use in this function)
LCD162.c:11: warning: implicit declaration of function 'PutsXLCD'
LCD162.c:13: warning: implicit declaration of function 'SetDDRamAddr'
LCD162.c:15: warning: implicit declaration of function 'DelayMs'
LCD162.c:23:2: warning: no newline at end of file
Thư viện Xlcd có dùng cho PIC24F được không ạ, khi mà bỏ hết #ifdef_RD10
__________________
Best Regard.
popeye_ts22 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-10-2009, 01:58 PM   #30
hungnk87
Nhập môn đệ tử
 
Tham gia ngày: Jun 2008
Bài gửi: 6
:
loi trong c30

Tại sao trong MPLAB(c30) khi khai báo #include<tenthuvien.h> thì nó báo lỗi là:"No such file or directory" mặc dù 2 file .h và .c đã copy vào trong thư mục project đó rồi. Thư viện này là tự viết, không phải của MicroChip.Nhưng hễ include thư viện của Microchip thi được
hungnk87 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


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à 09:00 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