在线时间18 小时
UID79320
注册时间2008-10-3
NXP金币0
该用户从未签到
注册会员

- 积分
- 138
- 最后登录
- 2022-5-9
|
KL25低功耗脉冲计数程序,初始化如下,但是就是没有计数
//SIM_SOPT1 |= SIM_SOPT1_OSC32KSEL(0) ;
SIM_SCGC5 |= SIM_SCGC5_LPTMR_MASK; //使能LPT模块时钟
//设置输入管脚
if(altn == LPT0_ALT1)
{
port_init(PTA19, ALT6 ); //在PTA19上使用 ALT6
}
else if(altn == LPT0_ALT2)
{
port_init(PTC5, ALT4 ); //在PTC5上使用 ALT4
}
else //不可能发生事件
{
ASSERT((altn == LPT0_ALT1 ) || (altn == LPT0_ALT2 )); //设置管脚有误?
}
// 清状态寄存器
LPTMR0_CSR = 0x00; //先关了LPT,这样才能设置时钟分频,清空计数值等
// 设置累加计数值
LPTMR0_CMR = LPTMR_CMR_COMPARE(count); //设置比较值
// 设置计数值
LPTMR0_PSR = (0
|LPTMR_PSR_PCS(0x02)
|LPTMR_PSR_PBYP_MASK
|LPTMR_PSR_PRESCALE(0x01));
// 管脚设置、使能中断
LPTMR0_CSR = (0
| LPTMR_CSR_TPS(altn) // 选择输入管脚 选择
| LPTMR_CSR_TMS_MASK // 选择脉冲计数 (注释了表示时间计数模式)
| ( cfg == LPT_Falling ? LPTMR_CSR_TPP_MASK : 0 ) //脉冲计数器触发方式选择:0为高电平有效,上升沿加1
| LPTMR_CSR_TEN_MASK //使能LPT(注释了表示禁用)
| LPTMR_CSR_TIE_MASK //中断使能
//| LPTMR_CSR_TFC_MASK //0:计数值等于比较值就复位;1:溢出复位(注释表示0)
);
|
|