📄 lpld_lptmr_pulseacc.c
字号:
/*
* 测试硬件平台: LPLD_K60 Card
* 版权所有: 北京拉普兰德电子技术有限公司
* 网络销售: http://laplenden.taobao.com
* 公司门户: http://www.lpld.cn
*
* 说明: 本工程基于Kintis K60开源底层开发包开发,
* 所有开源驱动代码均在"LPLD"文件夹下,调用说明见文档[#LPLD-003-N]
*
* 文件名: LPLD_LPTMR_PulseAcc.c
* 用途: LPTMR低功耗定时中断模块例程 脉冲累加功能
*
* LPLD_K60 Card 硬件配置说明:
* PTC1输出PWM接入到PTC5的脉冲累加输入口,变量GetFreq存放频率值
*
*
*/
#include "common.h"
#include "HAL_PIT.h"
#include "HAL_FTM.h"
#include "HAL_LPTMR.h"
#define PIT_TIMER_PERIOD 1000 //1ms
uint16_t GetFreq;
uint16_t GetCnt;
void pit_isr0();
/********************************************************************/
void main (void)
{
//注意:采集的频率必须大于100HZ
LPLD_FTM0_PWM_Init(100000); //100Khz
LPLD_FTM0_PWM_Open(0,5000);
LPLD_PIT_Init(0, PIT_TIMER_PERIOD, pit_isr0);
LPLD_LPTMR_Init(1,0,2,0,NULL);
GetFreq=0;
GetCnt=0;
EnableInterrupts;
while(1)
{
}
}
void pit_isr0()
{
static uint32_t temp=0;
if(GetCnt>2)
{
GetFreq=temp/3;
temp=0;
GetCnt=0;
}
else
{
temp+=LPLD_LPTMR_GetPulseAcc();
GetCnt++;
}
LPLD_LPTMR_Reset(); //Reset LPTMR0
LPLD_LPTMR_Init(1,0,2,0,NULL);
}
/********************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -