32F103测频


使用STM32F103ZET6 精确测频2HZ————100KHZ,误差范围低于0.01.
资源截图
代码片段和文件信息
/*********************/
/*  STM32工程模板    */
/*********************/                  
/* Includes ------------------------------------------------------------------*/
#include “stm32f10x.h“
#include “sys.h“
#include “delay.h“
#include “usart.h“ 
#include “led.h“
#include “lcd.h“
#include “freq.h“


//定时器3初始化
void TIM3_Int_Init(u16 arru16 psc)
{
  TIM_TimebaseInitTypeDef  TIM_TimebaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3 ENABLE); //时钟使能

//定时器TIM3初始化
TIM_TimebaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值
TIM_TimebaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值
TIM_TimebaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
TIM_TimebaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
TIM_TimebaseInit(TIM3 &TIM_TimebaseStructure); //根据指定的参数初始化TIMx的时间基数单位
 
TIM_ITConfig(TIM3TIM_IT_UpdateENABLE ); //使能指定的TIM3中断允许更新中断

//中断优先级NVIC设置
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //TIM3中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //先占优先级0级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //从优先级3级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
NVIC_Init(&NVIC_InitStructure);  //初始化NVIC寄存器

TIM_Cmd(TIM3 ENABLE);  //使能TIMx  
}
//定时器3中断服务程序
void TIM3_IRQHandler(void)   //TIM3中断
{
if(TIM_GetITStatus(TIM3 TIM_IT_Update) != RESET)  //检查TIM3更新中断发生与否
{
     Show_flag=1;
 TIM_ClearITPendingBit(TIM3 TIM_IT_Update);  //清除TIMx更新中断标志       
}
}

int main(void)
 {

  NVIC_Configuration();  //设置NVIC中断分组2
  delay_init();          //初始化延时函数
LCD_Init();
TIM3_Int_Init(19997199);
uart_init(19200);      //初始化串口1
LED_Init();            //初始化LED
//  RS485_Init(9600);      //初始化串口2 / 485
  LCD_Clear(CYAN);
LCD_display_char24(00BLUEBACK_COLOR“STM32 频率测试“); 
  LCD_display_char24(030BLUEBACK_COLOR“频率值: “);
  TIM5_Cap_Init(0XFFFF72-1); //以1Mhz的频率计数 
  while(1)
  {
   Freq_Sample();
    if(Show_flag==1)
    {
     show_frequency();
    }
  }
 }


#ifdef  USE_FULL_ASSERT
/**
  * @brief  Reports the name of the source file and the source line number
  *         where the assert_param error has occurred.
  * @param  file: pointer to the source file name
  * @param  line: assert_param error line source number
  * @retval None
  */
void assert_failed(uint8_t* file uint32_t line)

  /* User can add his own implementation to report the file name and line number
     ex: printf(“Wrong parameters value: file %s on line %d
“ file line) */

  /* Infinite loop */
  while (1)
  {
  }
}
#endif

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-11-18 10:32  频率测试程序
     文件      245178  2014-11-17 16:52  频率测试程序JlinkLog.txt
     文件         578  2014-10-16 15:51  频率测试程序JlinkSettings.ini
     目录           0  2014-11-17 16:05  频率测试程序List
     文件      166778  2014-11-17 16:51  频率测试程序ListProject.map
     文件       63557  2014-11-17 09:43  频率测试程序Liststartup_stm32f10x_hd.lst
     目录           0  2014-11-17 16:51  频率测试程序Obj
     文件        3550  2014-11-17 09:43  频率测试程序Objcore_cm3.crf
     文件         108  2014-11-17 09:43  频率测试程序Objcore_cm3.d
     文件       10436  2014-11-17 09:43  频率测试程序Objcore_cm3.o
     文件      289341  2014-11-17 16:11  频率测试程序Objdelay.crf
     文件         947  2014-11-17 16:11  频率测试程序Objdelay.d
     文件      309600  2014-11-17 16:11  频率测试程序Objdelay.o
     文件         423  2014-11-17 16:11  频率测试程序Objdelay.__i
     文件          19  2014-11-14 10:26  频率测试程序ObjExtDll.iex
     文件      301254  2014-11-17 16:51  频率测试程序Objfreq.crf
     文件        1001  2014-11-17 16:51  频率测试程序Objfreq.d
     文件      318476  2014-11-17 16:51  频率测试程序Objfreq.o
     文件         415  2014-11-17 16:51  频率测试程序Objfreq.__i
     文件      325514  2014-11-17 16:21  频率测试程序Objlcd.crf
     文件        1199  2014-11-17 16:21  频率测试程序Objlcd.d
     文件      379460  2014-11-17 16:21  频率测试程序Objlcd.o
     文件         411  2014-11-17 16:21  频率测试程序Objlcd.__i
     文件      288913  2014-11-17 16:11  频率测试程序Objled.crf
     文件         899  2014-11-17 16:11  频率测试程序Objled.d
     文件      308412  2014-11-17 16:11  频率测试程序Objled.o
     文件         411  2014-11-17 16:11  频率测试程序Objled.__i
     文件      304900  2014-11-17 16:16  频率测试程序Objmain.crf
     文件        1165  2014-11-17 16:16  频率测试程序Objmain.d
     文件      320192  2014-11-17 16:16  频率测试程序Objmain.o
     文件      288428  2014-11-17 16:11  频率测试程序Objmisc.crf
............此处省略259个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)