![]() |
|
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 |
![]() |
#18 |
Nhập môn đệ tử
Tham gia ngày: Jun 2009
Bài gửi: 5
: |
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. |
![]() |
![]() |
Tags |
configuration, dspic30f, dspic33f |
|
|