| 
									
										
										
										
											2023-10-06 18:47:05 +08:00
										 |  |  |  | #ifndef TIMER_CFG_H_
 | 
					
						
							|  |  |  |  | #include "base/define.h"
 | 
					
						
							|  |  |  |  | #include "stm32f10x_tim.h"
 | 
					
						
							|  |  |  |  | typedef  void (*Timerupdatefunc)(void ); | 
					
						
							|  |  |  |  | typedef  void (*TimerTriger)(uint8_t ); | 
					
						
							|  |  |  |  | //停止超时定时器计数
 | 
					
						
							|  |  |  |  | void RunTimeoutStop(void); | 
					
						
							|  |  |  |  | /*
 | 
					
						
							|  |  |  |  | @brief 发送时钟校准波形 | 
					
						
							|  |  |  |  | @param pre_us 发送的周期 | 
					
						
							|  |  |  |  | @param count 发送周期的个数 | 
					
						
							|  |  |  |  | */ | 
					
						
							|  |  |  |  | void FireBus_ClkAmend(uint16_t pre_us,uint16_t trigger_us,uint16_t count,void *p_fun); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | /*
 | 
					
						
							|  |  |  |  | @brief 超时定时器,单位0.1ms | 
					
						
							|  |  |  |  | @param ms 最大可设置6553。 | 
					
						
							|  |  |  |  | @param  pfunc 超时回调函数,注意回调函数中不能做长延时任务 | 
					
						
							|  |  |  |  | */ | 
					
						
							|  |  |  |  | void RunTimeOut_Timer(uint16_t ms,Timerupdatefunc pfunc ); | 
					
						
							|  |  |  |  | //获取超时定时器计数值
 | 
					
						
							|  |  |  |  | uint16_t GetRunTimeOutCount(void); | 
					
						
							|  |  |  |  | /*
 | 
					
						
							|  |  |  |  | 延时定时器初始化,单次向上计数 | 
					
						
							|  |  |  |  | */ | 
					
						
							|  |  |  |  | void DelayTimer_Init(void); | 
					
						
							|  |  |  |  | /*
 | 
					
						
							|  |  |  |  | 延时定时器初始化,单次向上计数 | 
					
						
							|  |  |  |  | */ | 
					
						
							|  |  |  |  | void TimerCount_Init(void); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | /* 
 | 
					
						
							|  |  |  |  | @breif 等待定时器计数值大于设定值 | 
					
						
							|  |  |  |  | @param 等待定时器的结束值,单位0.1ms | 
					
						
							|  |  |  |  | */ | 
					
						
							|  |  |  |  | void WaitDelayEnd(uint16_t wait_time); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | /*
 | 
					
						
							|  |  |  |  | @brief 重启延时定时器 | 
					
						
							|  |  |  |  | */ | 
					
						
							|  |  |  |  | void StartDelayTime(void); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | #define GET_COUNTTIM_VAL()   (TIM2->CNT)
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | /*
 | 
					
						
							|  |  |  |  | @brief 获取当前定时器计数值,单位1us。并重启计数 | 
					
						
							|  |  |  |  | @rtv   返回上次的计数值 | 
					
						
							|  |  |  |  | */ | 
					
						
							|  |  |  |  | uint16_t Get1usCount(void); | 
					
						
							|  |  |  |  | /*
 | 
					
						
							|  |  |  |  | @brief 获取当前定时器计数值,单位10us。并重启计数 | 
					
						
							|  |  |  |  | @rtv   返回上次的计数值 | 
					
						
							|  |  |  |  | */ | 
					
						
							|  |  |  |  | uint16_t Get10usCount(void); | 
					
						
							|  |  |  |  | /*
 | 
					
						
							|  |  |  |  | @brief 获取当前定时器计数值,单位0.1ms。并重启计数 | 
					
						
							|  |  |  |  | @rtv   返回上次的计数值 | 
					
						
							|  |  |  |  | */ | 
					
						
							|  |  |  |  | uint16_t Get100usCount(void); | 
					
						
							|  |  |  |  | /*
 | 
					
						
							|  |  |  |  | @brief 直接获取定时器的值 | 
					
						
							|  |  |  |  | */ | 
					
						
							|  |  |  |  | uint16_t GetCountTimerCnt(void); | 
					
						
							|  |  |  |  | /*
 | 
					
						
							|  |  |  |  | 使用轮询的方式检测校准结束 | 
					
						
							|  |  |  |  | */ | 
					
						
							|  |  |  |  | void FireBus_ClkAmendCycle(void); | 
					
						
							| 
									
										
										
										
											2023-11-13 17:34:05 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | // 复位并关闭定时器
 | 
					
						
							|  |  |  |  | void TimerCount_Off(void); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-10-06 18:47:05 +08:00
										 |  |  |  | #endif
 |