STM8定时时长搞不清楚
static void CLK_Config(void){
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV8);//内部高速振荡器8分频16M/8=2M
}
static void TIM4_Config(void)
{
TIM4_TimeBaseInit(TIM4_PRESCALER_2, TIM4_PERIOD); //2分频装载值为100-1
}
按STM8单片机定时时长 T = (TIM_Period+1)*(TIM_Prescaler+1)/TIMxCLK
我计算上面应该是100uS定时,但程序原作者却说是1ms定时,谁能帮我看一下,到底时长是多少?不胜感激
刚开始学STM8单片机,对其中的定时时长搞不清楚
#define TIM4_PERIOD 99
static void CLK_Config(void)
{
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV8);//内部高速振荡器8分频16M/8=2M
}
static void TIM4_Config(void)
{
TIM4_TimeBaseInit(TIM4_PRESCALER_2, TIM4_PERIOD); //2分频装载值为100-1
}
按STM8单片机定时时长 T = (TIM_Period+1)*(TIM_Prescaler+1)/TIMxCLK
我计算上面应该是100uS定时,但程序原作者却说是1ms定时,谁能帮我看一下,到底时长是多少?不胜感激 跑个程序验证一下不就知道了吗,还需要在这纠结?
不是说原作者就不会错,学校的课本都可能错,程序出错很正常。 toofree 发表于 2019-6-19 09:50
跑个程序验证一下不就知道了吗,还需要在这纠结?
不是说原作者就不会错,学校的课本都可能错,程序出错很 ...
程序跑了,确实是1ms 但我计算是100us,百思不得其解,用的 TIM4~8位基本定时 离愁别绪 发表于 2019-6-19 09:54
程序跑了,确实是1ms 但我计算是100us,百思不得其解,用的 TIM4~8位基本定时
那只能说你给的程序不全,把你认为的东西给出来了,没告诉真相。
从错误的前提,给出正确的结果,真的做不到。 :)学习学习 应该还有些信息你没注意到。按照你说的不配置,我试了下,确实是100us。 所以一定漏掉了某个条件。再看看寄存器配置:)
页:
[1]