• 大小: 6.17MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-12
  • 语言: 其他
  • 标签: C语言  

资源简介

使用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\r\n“ 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  频率测试程序\List\Project.map
     文件       63557  2014-11-17 09:43  频率测试程序\List\startup_stm32f10x_hd.lst
     目录           0  2014-11-17 16:51  频率测试程序\Obj\
     文件        3550  2014-11-17 09:43  频率测试程序\Obj\core_cm3.crf
     文件         108  2014-11-17 09:43  频率测试程序\Obj\core_cm3.d
     文件       10436  2014-11-17 09:43  频率测试程序\Obj\core_cm3.o
     文件      289341  2014-11-17 16:11  频率测试程序\Obj\delay.crf
     文件         947  2014-11-17 16:11  频率测试程序\Obj\delay.d
     文件      309600  2014-11-17 16:11  频率测试程序\Obj\delay.o
     文件         423  2014-11-17 16:11  频率测试程序\Obj\delay.__i
     文件          19  2014-11-14 10:26  频率测试程序\Obj\ExtDll.iex
     文件      301254  2014-11-17 16:51  频率测试程序\Obj\freq.crf
     文件        1001  2014-11-17 16:51  频率测试程序\Obj\freq.d
     文件      318476  2014-11-17 16:51  频率测试程序\Obj\freq.o
     文件         415  2014-11-17 16:51  频率测试程序\Obj\freq.__i
     文件      325514  2014-11-17 16:21  频率测试程序\Obj\lcd.crf
     文件        1199  2014-11-17 16:21  频率测试程序\Obj\lcd.d
     文件      379460  2014-11-17 16:21  频率测试程序\Obj\lcd.o
     文件         411  2014-11-17 16:21  频率测试程序\Obj\lcd.__i
     文件      288913  2014-11-17 16:11  频率测试程序\Obj\led.crf
     文件         899  2014-11-17 16:11  频率测试程序\Obj\led.d
     文件      308412  2014-11-17 16:11  频率测试程序\Obj\led.o
     文件         411  2014-11-17 16:11  频率测试程序\Obj\led.__i
     文件      304900  2014-11-17 16:16  频率测试程序\Obj\main.crf
     文件        1165  2014-11-17 16:16  频率测试程序\Obj\main.d
     文件      320192  2014-11-17 16:16  频率测试程序\Obj\main.o
     文件      288428  2014-11-17 16:11  频率测试程序\Obj\misc.crf
............此处省略259个文件信息

评论

共有 条评论