69 lines
1.6 KiB
C
69 lines
1.6 KiB
C
![]() |
#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);
|
|||
|
#endif
|