Microchip
直播中

仲娜娜

8年用户 184经验值
私信 关注
[问答]

为什么SMT设置为门控计数器模式总是0?

嗨,SMT设置为门控计数器模式,信号输入连接到比较器输出,窗口连接到逻辑单元。所有输入都用示波器检查,但是SMT计数器总是0。怎么了?MCC生成的SMT init:void SMT1_Initialize(void){//WPOL高/上升沿启用;STP翻转到24'h000000;SPOL高/上升沿启用;EN启用;SMT1PS 1:1预分频器;CPOL上升沿;SMT1CON0=0x80;//SMT1REPEAT重复数据获取;SMT1MODE门控计数器;SMT1GO禁用;SMT1CON1=0x49;//SMT1CPWUPSMT1CPELC1_OUT_OUT_OUT_sync;SMT1SIG=0x01;//SMT1CPRUPSMT1CPRUPSMT1CPRUPSMT1T1T1T1PR0;SMT1CPRUPSMT1T1CPRUPSMT1T1PR更新完成;RST1SMT1STAT1STAT1STAT1T1T1T1T1T1R1UPSMT1T1T1T1T1T1RR1更新完成;SMT1STASTASTAT1STAT1STAT1STAT=0X00;//SMT1STASTASTASTASTASTASTASTASTASTASTAT1STAT;SMT1CLT1CLT1CLCSELFOSC;//SMT1CLT1CLT1CLT1CLT1CLT1CLC1OUK=0x00;//SMT1T1CLT1CLT1CLT1CLT1CLSMT1PR 0;SMT1PRH=0x00;//SMT1PR 0;SMT1PRL=0x00;/ /启用SMT1脉冲宽度获取中断。PIE4BITS.SMT1PWAIE=1;//通过写入SMTXGO位SMT1CON1BITS.SMT1GO=1启动SMT模块;} THX,Bela

以上来自于百度翻译


      以下为原文

    Hi,
SMT set up to gated counter mode, Signal In connected to comparator out, Window connected to logic cell.
All input checked with oscilloscope, but SMT counter always 0.
What a wrong?
MCC generated SMT init:
void SMT1_Initialize(void)
{
    // WPOL high/rising edge enabled; STP rolls over to 24'h000000; SPOL high/rising edge enabled; EN enabled; SMT1PS 1:1 Prescaler; CPOL rising edge;
    SMT1CON0 = 0x80;
    // SMT1REPEAT Repeat Data Acquisition; SMT1MODE Gated counter; SMT1GO disabled;
    SMT1CON1 = 0x49;
    // SMT1CPWUP SMT1CPW1 update complete; SMT1CPRUP SMT1PR1 update complete; RST SMT1TMR1 update complete;
    SMT1STAT = 0x00;
    // SMT1CSEL FOSC;
    SMT1CLK = 0x00;
    // SMT1WSEL CLC1OUT;
    SMT1WIN = 0x09;
    // SMT1SSEL C1_OUT_sync;
    SMT1SIG = 0x01;
    // SMT1PR 0;
    SMT1PRU = 0x00;
    // SMT1PR 0;
    SMT1PRH = 0x00;
    // SMT1PR 0;
    SMT1PRL = 0x00;
    // Enabling SMT1 pulse width acquisition interrupt.
    PIE4bits.SMT1PWAIE = 1;
    // Start the SMT module by writing to SMTxGO bit
    SMT1CON1bits.SMT1GO = 1;   
}

Thx,
Bela

更多回帖

发帖
×
20
完善资料,
赚取积分