![]() |
|
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ử 4 túi
Tham gia ngày: Mar 2009
Bài gửi: 64
: |
Cấu hình chạy với baudrate 19200 đây
Code:
unsigned int UxMODEvalue,UxSTAvalue,ubrg; UxMODEvalue = UART_EN&UART_IDLE_CON&UART_IrDA_DISABLE&UART_MODE_FLOW& UART_UEN_00&UART_DIS_WAKE&UART_DIS_LOOPBACK&UART_DIS_ABAUD& UART_UXRX_IDLE_ONE&UART_BRGH_SIXTEEN&UART_NO_PAR_8BIT&UART_1STOPBIT; UxSTAvalue=UART_INT_TX&UART_IrDA_POL_INV_ZERO&UART_SYNC_BREAK_DISABLED&UART_TX_ENABLE& UART_TX_BUF_NOT_FUL&UART_INT_RX_CHAR&UART_ADR_DETECT_DIS&UART_RX_OVERRUN_CLEAR; ubrg = 0x81; //UART1 configuration OpenUART1(UxMODEvalue,UxSTAvalue,ubrg); //UART1 interrupts ConfigIntUART1 (UART_RX_INT_DIS&UART_TX_INT_DIS); //disable interrupts Ngắt hay ko ngắt là tùy bạn cấu hình và tùy vào ứng dụng của bạn. Nếu bạn chỉ dùng mỗi UART thì chẳng cần ngắt, cứ dùng hàm này Code:
char BusyUART1(void) { return(!U1STAbits.TRMT); } UART BAUD RATE GENERATOR trong section 17 với dspic33F (hoặc để ý chữ refer to section bao nhiêu đó, ở dưới cấu hình các thanh ghi liên quan) |
![]() |
![]() |
![]() |
#2 |
Nhập môn đệ tử
Tham gia ngày: Jun 2009
Bài gửi: 3
: |
xin lỗi câu hỏi của em ngoài luồng 1 chút ạ, em không nhìn thấy mấy công thức toán học ở bài đầu tiên, nó báo phải cài mimetex.cgi, e dùng firefox rồi, xin các anh hướng dẫn e với ạ,thanks
|
![]() |
![]() |
![]() |
#3 |
Nhập môn đệ tử
Tham gia ngày: May 2010
Bài gửi: 10
: |
anh Nam cho em hỏi đoạn code sau có gì sai mà không thấy chạy.
em dung C30 cua mplap //////////////////////////////////////// #include "p33FJ256MC710.h" _FOSCSEL(FNOSC_PRIPLL & IESO_OFF & TEMP_OFF); _FOSC(FCKSM_CSDCMD & OSCIOFNC_OFF & POSCMD_XT); _FWDT(FWDTEN_OFF); _FPOR(PWMPIN_ON); _FGS(GCP_OFF); int i,m; void init_TMR2(); void init_port() { TRISA = 0x0000; TRISC = 0xFFFF; LATA = 0x0000; } void init_TMR2() /*______ ham khoi tao timer va ngat______*/ { TMR2 = 0; //Xoa so dem trong TMR2 PR2 = 2; //Dat nguong ngat _T2IF = 0; //Xoa co ngat cua Timer 2 _T2IE = 1; //Cho phep ngat Timer 2 T2CON = 0x8002; //dung TCK dem } void _ISR _T2Interrupt() /*______ ham ngat______*/ { _T2IF = 0; //Xoa co ngat LATA++; } int main() { _PLLDIV=38; // M=40 _PLLPRE=0; // N1=2 _PLLPOST=0; // N2=2 init_port(); init_TMR2(); while(1) {} } |
![]() |
![]() |
![]() |
#4 | |
Đệ tử 2 túi
Tham gia ngày: Jun 2010
Bài gửi: 29
: |
Trích:
Chương trình của cậu có một số lỗi như sau: -Khai báo cấu hình sai:TEMP_OFF không được định nghĩa trong file .h của dspic33FJ256MC710.(test chương trình đơn giản không cần khai báo nhiều thế đâu!) -Hàm ngắt Timer2 có nhiều cách khai báo nhưng mà nên để ý tới cái psv.Nên xác định rõ psv hay auto_psv để bỏ hẳn cái warning đáng ghét đi (không cũng không sao!) -Mình không mang mạch theo nên không debug cho cậu được.Cậu thử xem thế nào nhé thay đổi nội dung bởi: ak47, 04-12-2010 lúc 07:56 PM. |
|
![]() |
![]() |
![]() |
#5 |
Nhập môn đệ tử
Tham gia ngày: May 2010
Bài gửi: 10
: |
cảm ơn anh!
em thấy trong file dspic33FJ256MC710.h đã định nghĩa TEMP_OFF rồi chứ ạ. mà em bỏ đi hay thêm vào cái đó cũng không sao cả, nó vẫn không chạy. trước đó em có viết ct ngắt timer dùng dao động nội thì chạy tốt chương chình này chỉ khác là em dùng dao động bên ngoài qua TCK nên em nghĩ hai ct chỉ khác nhau ở điểm: đối với dao động nội cần khai báo T2CON = 0x8000 còn với dao động qua TCK thì khai báo T2CON = 0x8002. không biết chỉ thế là đủ chưa, mong anh giúp đỡ. |
![]() |
![]() |
![]() |
#6 |
Nhập môn đệ tử
Tham gia ngày: May 2010
Bài gửi: 10
: |
ai có thể chỉ cho mình được không?????
hay chắc là do phần cứng nhỉ.???? |
![]() |
![]() |
![]() |
#7 |
Nhập môn đệ tử
Tham gia ngày: Apr 2009
Bài gửi: 9
: |
anh F ơi, viết tiếp đi anh, đang hay mà lâu rồi ko thấy gì nữa vậy ???
|
![]() |
![]() |
![]() |
#8 |
Nhập môn đệ tử
Tham gia ngày: Mar 2011
Bài gửi: 1
: |
có mem nào có tài liệu dsPIC33F Family Reference Manual mà có phần về dspic33FJ12MC201/202 chỉ e với. trên http://www.microchip.com có dsPIC33F FRM nhưng mà thiếu mất Part II ( phần danh cho con dspic33FJ12MC201/202 ) ??
|
![]() |
![]() |
![]() |
#9 |
Nhập môn đệ tử
Tham gia ngày: Jan 2010
Bài gửi: 9
: |
Tiếp đi các anh ơi,em cũng đang tìm hiểu
|
![]() |
![]() |
![]() |
#10 |
Nhập môn đệ tử
Tham gia ngày: Nov 2011
Bài gửi: 2
: |
Thiệt tình là bực mình dễ sợ
![]() Bài viết đang rất hay và dễ hiễu...Thế mà các bác vào hỏi ngoài luồn làm hỏng hết ![]() Những người mới tìm hiểu như chúng em rất cần những bài viết như thế này ![]() |
![]() |
![]() |
![]() |
#11 |
Nhập môn đệ tử
Tham gia ngày: Apr 2012
Bài gửi: 1
: |
mình tìm sơ đồ mạch nạp cho dspic33f 1nhưng tìm hoài không thấy. mọi người nếu có ai biết thì xin chia se cho mình với. cảm ơn
|
![]() |
![]() |
![]() |
#12 |
Nhập môn đệ tử
Tham gia ngày: Sep 2012
Bài gửi: 3
: |
bác cho em hỏi trong dispic33f32mc204 không đề cập hệ số chia tầng pll thì thạch anh dùng 80mhz nếu muốn 40mips hả bác
thay đổi nội dung bởi: tuanlovetien, 13-11-2013 lúc 12:28 AM. |
![]() |
![]() |
![]() |
#13 |
Nhập môn đệ tử
Tham gia ngày: Sep 2012
Bài gửi: 3
: |
có ai giúp em với đi
|
![]() |
![]() |
![]() |
#14 |
Nhập môn đệ tử
Tham gia ngày: Nov 2009
Bài gửi: 10
: |
Chào các bạn! Tôi đang nghiên cứu về ứng dụng PWM trên dspic33fj06gs202.
tôi tìm datasheet thì nó giới thiệu chung về họ dspic33fj06/16gs02/04. vì vậy không rõ ràng lắm là con dspic33fj06gs202 có mấy bộ PWM. Khi tôi lập trình bằng MPLAB IDE 8.92 khai báo với module PWM, khi dịch ra luôn báo lỗi: error: 'PWMCON3bits' undeclared (first use in this function) (Each undeclared identifier is reported only once for each function it appears in.) 'IOCON3bits' undeclared (first use in this function) 'PDC3' undeclared (first use in this function) 'SDC3' undeclared (first use in this function) Namqn, falleaf và các bạn có thể giúp tôi giải quyết lỗi này? Xin cảm ơn! code phần khai báo PWM như sau: void initPWM(void) { PTCON2bits.PCLKDIV =0; PTCONbits.EIPU = 1; PTPER = 18859; PHASE2 = 9430; PWMCON1bits.CAM = 0; PWMCON2bits.CAM = 0; PWMCON1bits.IUE = 1; PWMCON2bits.IUE = 1; PWMCON1bits.DTC = 0; PWMCON2bits.DTC = 0; PWMCON1bits.MDCS = 0; PWMCON2bits.MDCS = 0; PWMCON1bits.ITB = 0; PWMCON2bits.ITB = 0; IOCON1bits.PENH = 1; IOCON1bits.PENL = 1; IOCON2bits.PENH = 1; IOCON2bits.PENL = 1; IOCON1bits.POLH = 0; IOCON1bits.POLL = 0; IOCON2bits.POLH = 0; IOCON2bits.POLL = 0; IOCON1bits.PMOD = 0; IOCON2bits.PMOD = 0; DTR1 = 95; ALTDTR1 = 95; DTR2 = 95; ALTDTR2 = 95; PDC1 = 0; PDC2 = 0; TRGCON1bits.TRGDIV = 0; TRGCON1bits.TRGSTRT = 0; TRGCON2bits.TRGDIV = 0; TRGCON2bits.TRGSTRT = 0; TRIG1 = 1000; TRIG2 = 1000; PWMCON3bits.ITB = 0; PWMCON3bits.IUE = 1; IOCON3bits.PENH = 0; IOCON3bits.PENL = 0; IOCON3bits.PMOD = 3; IOCON3bits.OVRDAT = 0; IOCON3bits.OVRENH = 1; IOCON3bits.OVRENL = 1; PDC3 = 0; SDC3 = 0; PTCONbits.PTEN =1; } |
![]() |
![]() |
![]() |
#15 |
Nhập môn đệ tử
Tham gia ngày: Sep 2015
Bài gửi: 1
: |
thật sự thì rất bực mấy bác vào phá... hỏi thì vào luồng khác được không, luông này đang tìm hiểu về cơ bản về dspic cho những người mới học.. bài viết đang hay mà k được tiếp tục , những người mới như em phải làm sao
![]() |
![]() |
![]() |
![]() |
Tags |
configuration, dspic30f, dspic33f |
Ðiều Chỉnh | |
Xếp Bài | |
|
|