⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 STM8s
💻 C
字号:

/*
PD4对应TIM2通道1
将pd4------- HS1101
  


*/



#include "stm8s.h"
#include "stm8s_gpio.h"
#include "stm8s_tim2.h"
#include "stm8s_clk.h"

#include "stm8s_uart2.h"

u16 t1,t2,f;
u16 t=0;






void main()
{  

	// CLK_HSECmd(ENABLE);
	 //对系统时钟进行配置
	 //CLK_HSICmd(ENABLE);
	// CLK_HSECmd(ENABLE);
	CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2);  //HSI为16M,2分频8m
	// CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV2);
	
	//初始化TIM2时钟,通道1,上升沿等参数配置
	 TIM2_ICInit(TIM2_CHANNEL_1, TIM2_ICPOLARITY_RISING, TIM2_ICSELECTION_DIRECTTI, TIM2_ICPSC_DIV8, 0);  
	   TIM2_Cmd(ENABLE);   //使能TIM2计数
   
  
	TIM2_ClearFlag(TIM2_FLAG_CC1);
	
		   UART2_DeInit();
	//初始化串口
	UART2_Init(38400,UART2_WORDLENGTH_8D,UART2_STOPBITS_1,UART2_PARITY_NO, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TX_ENABLE);
	//串口发送串口初始化完成信息
		putStrLine("Yes,The serialport is ok already?");
		
		/* wait a capture on CC1 */
	 while((TIM2->SR1 & TIM2_FLAG_CC1) != TIM2_FLAG_CC1);

/* Get CCR1 value*/

   t1 = TIM2_GetCapture1();

    TIM2_ClearFlag(TIM2_FLAG_CC1);
		
		
  
/* wait a capture on CC1 */
  while((TIM2->SR1 & TIM2_FLAG_CC1) != TIM2_FLAG_CC1);

  /* Get CCR1 value*/

   t2 = TIM2_GetCapture1();

   TIM2_ClearFlag(TIM2_FLAG_CC1);
   
	 t=t2-t1;
	

	
	f=8*8000000/t;
	

	
	putInt(f);
		putChr('\r');
	putChr('\n');
	

		
	 
   while(1)
   {	
u32 i=50000;

/* wait a capture on CC1 */
while((TIM2->SR1 & TIM2_FLAG_CC1) != TIM2_FLAG_CC1);

/* Get CCR1 value*/

   t1 = TIM2_GetCapture1();

    TIM2_ClearFlag(TIM2_FLAG_CC1);
		
		
  
/* wait a capture on CC1 */
  while((TIM2->SR1 & TIM2_FLAG_CC1) != TIM2_FLAG_CC1);

  /* Get CCR1 value*/

   t2 = TIM2_GetCapture1();

   TIM2_ClearFlag(TIM2_FLAG_CC1);
   
	 t=t2-t1;
	

	
	f=8*8000000/t;
	

	
	putInt(f);
		putChr('\r');
	putChr('\n');
	while(i--);  //延迟一段时间
   }
	 
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -