![]() |
nạp chuẩn ICSP đó bạn. MCLR(pin13)/VDD/VSS/PGD1(pin27)/PGC1(pin26)
chúc vui! |
Có ai cấu hình đồng thời hai bộ QEI trong 33fj64mc802 chưa.các bác cho em hỏi em cấu hình sai ở chỗ nào mà 2 con encoder không thể hoạt động đông thời .cụ thể:
mạch cưng của em như sau: A1: rb5 ;b1:rb6; a2:rb8; b2:rb9 Assign QEA1 To Pin RP5 -- noi chan A cua encoder 1 voi chan rp5 //*************************** RPINR14bits.QEA1R = 5; //*************************** // Assign QEB1 To Pin RP6 -- noi chan B cua encoder 1 voi chan rp6 //*************************** RPINR14bits.QEB1R = 6; //*************************** // Assign QEA2 To Pin RP8 -- noi chan A cua encoder 2 voi chan rp8 //*************************** RPINR16bits.QEA2R = 8; //*************************** // Assign QEB2 To Pin RP9 -- noi chan B cua encoder 2 voi chan rp9 //*************************** RPINR16bits.QEB2R = 9; // cau hinh ban dau cho cac encoder: /* QEI1 */ /*---------------------------------------------------------------------------*/ /* OpenQEI(QEI_MODE_x4_MATCH & QEI_INPUTS_NOSWAP & QEI_IDLE_STOP & QEI_NORMAL_IO & QEI_INDEX_RESET_DISABLE, QEI_QE_CLK_DIVIDE_1_128 & QEI_QE_OUT_ENABLE & POS_CNT_ERR_INT_DISABLE); */ QEI1CONbits.QEIM = 7; // QEI_MODE_x4_MATCH QEI1CONbits.SWPAB = 0; // QEI_INPUTS_SWAP QEI1CONbits.QEISIDL = 1; // QEI_IDLE_STOP QEI1CONbits.POSRES = 0; // QEI_INDEX_RESET_DISABLE QEI1CONbits.PCDOUT = 0; // QEI_NORMAL_IO QEI1CONbits.POSRES = 0; // POS_CNT_ERR_INT_DISABLE DFLT1CONbits.QECK = 6; // QEI_QE_CLK_DIVIDE_1_128 DFLT1CONbits.QEOUT = 1; // QEI_QE_OUT_ENABLE MAX1CNT = 7999; POS1CNT = 0; /*................................................. ......................QEI */ /*---------------------------------------------------------------------------*/ /* QEI2 */ /*---------------------------------------------------------------------------*/ /* OpenQEI(QEI_MODE_x4_MATCH & QEI_INPUTS_NOSWAP & QEI_IDLE_STOP & QEI_NORMAL_IO & QEI_INDEX_RESET_DISABLE, QEI_QE_CLK_DIVIDE_1_128 & QEI_QE_OUT_ENABLE & POS_CNT_ERR_INT_DISABLE); */ QEI2CONbits.QEIM = 7; // QEI_MODE_x4_MATCH QEI2CONbits.SWPAB = 0; // QEI_INPUTS_SWAP QEI2CONbits.QEISIDL = 1; // QEI_IDLE_STOP QEI2CONbits.POSRES = 0; // QEI_INDEX_RESET_DISABLE QEI2CONbits.PCDOUT = 0; // QEI_NORMAL_IO QEI2CONbits.POSRES = 0; // POS_CNT_ERR_INT_DISABLE DFLT2CONbits.QECK = 6; // QEI_QE_CLK_DIVIDE_1_128 DFLT2CONbits.QEOUT = 1; // QEI_QE_OUT_ENABLE MAX2CNT = 7999; POS2CNT = 0; em cấu hình như trên nhưng chi có encoder 1 hoạt động.(các encoder ,và chân chíp em đã test cẩn thận).khi em đảo encoder1 và 2 cho nhau thì con 2 lại hoạt động. em nghĩ cấu hình hai chân rb8,rb9 của em có vẫn đề,nhưng em đọc data sheet chưa gỡ gì được. |
Em chưa hiểu lắm về DMA RAM, mà tìm tài liêu thì mơ hồ quá. Nếu ai có khái niêm này thì có thể chia sẻ giùm em. Thanks
|
Em đang dùng dsPIC33FJ256GP510 để phát âm thanh, dùng speex_8K.h và libspeex_8K.a
và phải có file âm thanh trong bộ nhớ chương trình. Em chưa biết file âm thanh đó như thế nào, dạng file và đưa nó vào bộ nhớ chương trình như thế nào. Và cách sử dụng các file speex_8K.h và libspeex_8K.a như thế nào để phát âm thanh được theo PWM (phải khai báo như thế nào và sử dụng các hàm như thế nào). Mong các cao thủ giúp đỡ. |
Trong datasheet của dsPIC33FJxxGP trong phần chân Digital viết
-Output pins can drive from 3.0V to 3.6V -All digital input pins are 5V tolerant Em hiểu là nếu là input thì khi dùng các chân này là chân digital ta có thể cung cấp tới mức volt là 5V để có mức logic 1. Liệu có đúng không ạ? |
Trích:
Thân, |
Như vậy,nếu như em nối một chân digital nào đó với mức Volt là 5V thì chip vẫn chịu được, tuy nhiên, mức logic trong trường hơp này sẽ không còn đúng nữa, và chip sẽ không nhận được logic là 1?
|
Trích:
Bạn đã học môn học "Kỹ thuật số" chưa? Thân, |
các huynh cho đệ thỉnh giáo chút về UART.
tình hình là đệ đọc datasheet của thằng dsPIC33FJ256GP510 có mấy bit đệ không hiểu. các huynh chỉ giáo giùm nhé . xin đa tạ trước Thanh ghi UxMODE IREN: IrDA® Encoder and Decoder Enable bit . IrDA là cái gì vậy,trong datasheet không nói về cái này.em không hiểu . nếu set bit này lên 1 thì hiện tượng gì xảy ra ? LPBACK: UARTx Loopback Mode Select bit . bit chọn chế độ lặp lại nghĩa là sao. trong đây thì cái gì sẽ lặp lại ? và lặp lại như thế nào ? ABAUD: Auto-Baud Enable bit tự động chọn tốc độ truyền nhận , em muốn đặt tốc độ truyền là 9600bps thì nó có tự hiểu không ? URXINV: Receive Polarity Inversion bit theo em hiểu thì "đảo giá trị nhận được" tức là nó nhận được là LSB -> MSB . thì đảo lại là MSB -> LSB không biết có đúng không ? ở thanh ghi UxSTA UTXISEL<1:0>: Transmission Interrupt Mode Selection bits chọn chế độ ngắt truyền .em tưởng cứ truyền xong 1 byte thì ngắt chứ ? UTXBRK: Transmit Break bit không hiểu !!! UTXEN: Transmit Enable bit bật kênh truyền . em tưởng khi mà bật bit UARTEN thì cả Rx và Tx đều phải được bật chứ . ADDEN: Address Character Detect bit không hiểu thêm chút nữa. đệ không biết tốc độ truyền thì được tính thế nào . giả sử giờ đệ có thạch anh 7.3728MHz , truyền với tốc độ 9600bps thì giá trị thanh ghi UxBRG là bao nhiêu ? xin cảm ơn. |
Cấu hình chạy với baudrate 19200 đây
Code:
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) 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) |
ADC của dspic33fj12gp202
Trích:
|
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
|
Anh F đang viết mọi người hỏi sao không ra topic khác ạ. Anh F viết tiếp đi anh. Cảm ơn anh về bài giảng của anh.
|
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) {} } |
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é |
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 đỡ. |
ai có thể chỉ cho mình được không?????
hay chắc là do phần cứng nhỉ.???? |
anh F ơi, viết tiếp đi anh, đang hay mà lâu rồi ko thấy gì nữa vậy ???
|
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 ) ??
|
Tiếp đi các anh ơi,em cũng đang tìm hiểu
|
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 :( |
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
|
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
|
có ai giúp em với đi
|
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; } |
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 :(
|
Viagra online
precio viagra generico estenosis uretral recuperacion
noticias medicas recientes fractura cabeza del radio como curar la episiotomia comprar tadalafilo clases de pilates en granada muneca abierta tiempo de recuperacion kamagra jelly condilo codo fisioterapeutas granada fractura de cabeza de radio rotura codo estiramientos lumbalgia lumbalgia como sentarse comprar viagra online contrareembolso oferta limpieza facial vendo viagra lumbalgia y ciatica bolas chinas como usarlas |
Super Сasual Dating - Genuine Females
Make dating stress-free and enjoyable with the best casual dating experience.
Actual Women Supreme casual Dating |
Supreme Сasual Dating - Real Women
Discover the ultimate in relaxed romance with the best casual dating platform!
Authentic Ladies Superlative casual Dating |
Super Сasual Dating - Verified Maidens
Connect casually with like-minded individuals on the ultimate dating platform.
Authentic Ladies Finest casual Dating |
Find Sexy Womans in your city for night
|
Pretty Girls in your city for night
|
Tình yêu mới bắt đầu từ đây.
|
Xem xét lại hệ thống với các ứng dụng tình dục tốt nhất.
|
Múi giờ GMT. Hiện tại là 01:57 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam