реклама на сайте
подробности

 
 
> PIC18 и ШИМ
bornbash
сообщение Apr 5 2012, 13:41
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 79
Регистрация: 15-06-10
Пользователь №: 57 933



Доброго времени суток!
Уважаемые, кто-нибудь отлаживал в MPLAB работу в ШИМ-режиме модулей CCP1,CCP2 и CCP3? По CCP1 вопросов нет - все работает как должно. МК- PIC18F45K22. Компилер С18. МPLAB 8.84.
Расклад такой:
CCP1 работает от TMR2,
CCP2 работает от TMR4,
CCP3 работает от TMR6,
CCP4 работает от TMR6,
CCP5 работает от TMR4.
В конфигурационных битах в качестве выводов для CCP2 и CCP3 настроены выводы по умолчанию (RC1 and RB5).
При отладке TMR4 и TMR6 не запускаются и не считают (смотрю в окне watch). При этом сигналы ШИМ от CCP4 и CCP5 в окне Logic Analyzer наблюдаю (каким то образом???), а от модулей CCP2 и CCP3 (к которым подключены эти же таймеры!!!) ничего нет.
Кроме того, если даже к модулям CCP2 и CCP3 подключить TMR2 (достоверно работающий, т.к. с CCP1 сигнал есть), то на их выходах опять же ничего нет.
Это столь серьезные недоработки отладчика????

Код
              TRISCbits.RC2 = 0;            // Drv1
    TRISCbits.RC1 = 0;            // Drv2
    TRISBbits.RB5 = 0;            // Drv3
    TRISDbits.RD1 = 0;        // Drv4
    TRISEbits.RE2 = 0;            // Drv5
    CCPTMRS0 = 0b10001000;        // CCP1 - tmr2,CCP2 - tmr4,CCP3 - tmr6
    CCPTMRS1 = 0b00000110;        // CCP4 - tmr6,CCP5 - tmr4
    PR2 = 0x80;            // period pwm
    PR4 = 0x90;
    PR6 = 0x90;
    CCP1CON = 0b00001100;        // pwm mode ccp module
    CCP2CON = 0b00001100;
    CCP3CON = 0b00001100;
    CCP4CON = 0b00001100;
    CCP5CON = 0b00001100;
    CCPR1L = 0x04;            // duty cycle
    CCPR2L = 0x04;
    CCPR3L = 0x04;
    CCPR4L = 0x60;
    CCPR5L = 0x40;
    PIR1bits.TMR2IF = 0;
    PIR5bits.TMR4IF = 0;
    PIR5bits.TMR6IF = 0;
    TMR2 = 0;
    TMR4 = 0;
    TMR6 = 0;
    T2CONbits.T2CKPS = 0x02;                   // tmr prescaler 1:16
    T4CONbits.T4CKPS = 0x02;
    T6CONbits.T6CKPS = 0x02;

    T2CONbits.TMR2ON = 1;    
    T4CONbits.TMR4ON = 1;    
    T6CONbits.TMR6ON = 1;

Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 02:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01341 секунд с 7
ELECTRONIX ©2004-2016