虫虫首页|资源下载|资源专辑|精品软件|心愿单
m 登录|注册

Kinetis_K60开源底层驱动开发包(20120328)

源代码在线查看: lpld_lptmr_pulseacc.c

软件大小: 3469 K 下载次数: 2
亚博 下载地址用户: test4
关键词: Kinetis_K 20120328 60 开源
下载地址: 电信下载 网通下载 移动下载 联通下载 VIP VIP

相关代码

					/*
					 * 测试硬件平台:  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);
					}
					
					
					
					
					
					/********************************************************************/
									

相关资源