智能车制作

标题: lmptr脉冲计数,怎么上线是100啊,怎么改啊?求大神讲解啊~ [打印本页]

作者: 阿乾    时间: 2014-4-19 20:02
标题: lmptr脉冲计数,怎么上线是100啊,怎么改啊?求大神讲解啊~
void lptmr_counter_init(LPT0_ALTn altn, u16 count, u8 PrescaleValue, LPT_CFG cfg)
{

    if(PrescaleValue > 0x0f)PrescaleValue = 0x0f;

    //设置输入管脚
    if(altn == LPT0_ALT1)
    {
        SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK;  //打开 PORTA 时钟
        PORTA_PCR19 = PORT_PCR_MUX(0x6);    //在PTA19上使用 ALT6
    }
    else if(altn == LPT0_ALT2)
    {
        SIM_SCGC5 |= SIM_SCGC5_PORTC_MASK;  //使能 PORTC 时钟
        PORTC_PCR5 = PORT_PCR_MUX(0x4);     //在PTC5上使用 ALT4
    }
    else                                    //不可能发生事件
    {
        assert_failed(__FILE__, __LINE__);  //设置管脚有误?
    }

    /* 开启模块时钟 */
    SIM_SCGC5 |= SIM_SCGC5_LPTIMER_MASK;    //使能LPT模块时钟

    /* 清状态寄存器 */
    LPTMR0_CSR = 0x00;                      //先关了LPT,这样才能设置时钟分频等

    /* 设置累加计数值  */
    LPTMR_CMR_REG(LPTMR0_BASE_PTR)  =   LPTMR_CMR_COMPARE(count);                       //设置比较值

    /* 时钟选择 */
    LPTMR_PSR_REG(LPTMR0_BASE_PTR)  =   LPTMR_PSR_PCS(0x1) | LPTMR_PSR_PBYP_MASK  |  LPTMR_PSR_PRESCALE(PrescaleValue);        //使用 LPO clock 且 bypass glitch filter
    //                                                        开启和配置脉冲滤波器:2^n个时钟上升沿才识别

    /* 管脚设置、使能中断  */
    LPTMR_CSR_REG(LPTMR0_BASE_PTR)  =   LPTMR_CSR_TPS(altn) | LPTMR_CSR_TMS_MASK  | ( cfg == LPT_Falling ?  LPTMR_CSR_TPP_MASK :   0  )  | LPTMR_CSR_TEN_MASK  | LPTMR_CSR_TIE_MASK  ;
    //                                       选择输入管脚        选择脉冲计数                                   下降沿       上升沿           使能LPT
    // TFC = 0,即计数值等于比较值时,计数值复位

    enable_irq(LPTMR_irq);                        //开引脚的IRQ中断
}
作者: 黯伤人    时间: 2014-4-20 02:57
调用的时候count位置改成别的数,lptmr_counter_init(LPT0_ALT1,1000,2,LPT_Rising); 这个上限1000
作者: 1412972384    时间: 2014-4-20 08:27
。。。
作者: abacrya、军    时间: 2014-4-29 21:04
黯伤人 发表于 2014-4-20 02:57
调用的时候count位置改成别的数,lptmr_counter_init(LPT0_ALT1,1000,2,LPT_Rising); 这个上限1000

请教一下   怎么读取  技术器里的值呢?   谢谢啦
作者: 黯伤人    时间: 2014-4-29 23:22
直接将LPTMR0_CNR赋给变量,然后清零
作者: liming77    时间: 2016-3-1 13:13
把你的countde值改掉就可以了




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2