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 Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc 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 25-11-2009, 04:42 PM   #1
tahi
Đệ 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
Với UART chắc chỉ quan tâm đến baud rate, parity, data bit
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);
}
Muốn tính tốc độ thì dựa vào phần
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)
tahi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-09-2010, 06:04 PM   #2
minhthaitn
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
minhthaitn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-12-2010, 07:25 PM   #3
manhdungmta
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)
{}
}
manhdungmta vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-12-2010, 07:51 PM   #4
ak47
Đệ tử 2 túi
 
Tham gia ngày: Jun 2010
Bài gửi: 29
:
Trích:
Nguyên văn bởi manhdungmta View Post
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)
{}
}
Chào!
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.
ak47 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-12-2010, 07:13 PM   #5
manhdungmta
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 đỡ.
manhdungmta vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-12-2010, 12:26 AM   #6
manhdungmta
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ỉ.????
manhdungmta vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-12-2010, 08:56 PM   #7
thanh000
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 ???
__________________
Lưu Nghĩa Thành
Phone: 0944 799 452
Email: thanh.nghia89@yahoo.com.vn
thanh000 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-08-2011, 05:08 PM   #8
nckh
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 ) ??
nckh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-10-2011, 10:32 PM   #9
thanh_30april
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
thanh_30april vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-04-2012, 01:34 PM   #10
kubom10x
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ợ hik...
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
kubom10x vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-04-2012, 01:22 PM   #11
tenznam
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
tenznam vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-11-2013, 07:06 PM   #12
tuanlovetien
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.
tuanlovetien vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-11-2013, 07:40 PM   #13
tuanlovetien
Nhập môn đệ tử
 
Tham gia ngày: Sep 2012
Bài gửi: 3
:
có ai giúp em với đi
tuanlovetien vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-03-2014, 02:31 AM   #14
thuhuong
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;

}
thuhuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-09-2015, 11:32 PM   #15
gaparaytqn
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
gaparaytqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Tags
configuration, dspic30f, dspic33f

Ðiều Chỉnh
Xếp Bà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à 02:40 AM.


Đượ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