STM32 使用中断模拟计算频率

这篇博客介绍如何在STM32F105RC环境下,利用中断技术来实现频率的精确采集。通过分析main.c、LibTimer.c、LibPI.c、LibFun.c和LibVar.c等文件,详细阐述了中断模拟计算频率的方法和步骤。
摘要由CSDN通过智能技术生成

STM32 使用中断模拟计算频率

测试环境

stm32f105rc。

main.c

	LibTIM1_SysTimerInit(20,7200); 	//Init 2MS 系统计时器初始化  ((arr+1)*(psc+1))/Tclk;

LibTimer.c

/*******************************************************************************
* 定时器1中断服务程序
*******************************************************************************/
void TIM1_UP_IRQHandler(void)   //TIM1中断
{
   
	u8 i=0;
	if (TIM_GetITStatus(TIM1, TIM_IT_Update) != RESET) //检查指定的TIM中断发生与否:TIM 中断源 
	{
   
		TIM_ClearITPendingBit(TIM1, TIM_IT_Update);  //清除TIMx的中断待处理位:TIM 中断源 

		//系统运行逻辑定时器10个
		LibVarSystemIntTimer2Ms[0]++;
		LibVarSystemIntTimer2Ms[1]++;
		LibVarSystemIntTimer2Ms[2]++;
		LibVarSystemIntTimer2Ms[3]++;
		LibVarSystemIntTimer2Ms[4]++;
		LibVarSystemIntTimer2Ms[5]++;
		LibVarSystemIntTimer2Ms[6]++;
		LibVarSystemIntTimer2Ms[7]++;
		LibVarSystemIntTimer2Ms[8]++;
		LibVarSystemIntTimer2Ms[9]++;	
		LibVarSystemIntTimer2Ms[10]++;		
		//系统时间
		LibVarSystemTimer2Ms++;
		LibVarSystemTimer10Ms = LibVarSystemTimer2Ms/5;
		//50MS
		if((LibVarSystemTimer2Ms%25)==0)
		{
   
				LibVarPiCounterArray[19] = LibVarPiCounterArray[18];
				LibVarPiCounterArray[18] = LibVarPiCounterArray[17];
				LibVarPiCounterArray[17] = LibVarPiCounterArray[16];
				LibVarPiCounterArray[16] = LibVarPiCounterArray[15];
				LibVarPiCounterArray[15] = LibVarPiCounterArray[14];
				LibVarPiCounterArray[14] = LibVarPiCounterArray[13];
				LibVarPiCounterArray[13] = LibVarPiCounterArray[12];
				LibVarPiCounterArray[12] = LibVarPiCounterArray[11];
				LibVarPiCounterArray[11] = LibVarPiCounterArray[10];
				LibVarPiCounterArray[10] = LibVarPiCounterArray[9];
				LibVarPiCounterArray[9] = LibVarPiCounterArray[8];
				LibVarPiCounterArray[8]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值