STM8S TIM4 不能定时1us吗?
void TIM4_Config(void)
{
/* Time base configuration */
// TIM4_TimeBaseInit(TIM4_PRESCALER_128, TIM4_PERIOD);// TIM4_PRESCALER_128 -->>TIM4_PRESCALER_8 TIM4_PERIOD 有124 -->>1
TIM4_TimeBaseInit(TIM4_PRESCALER_4, 3); //用来产生us级1
/* Clear TIM4 update flag */
TIM4_ClearFlag(TIM4_FLAG_UPDATE);
/* Enable update interrupt */
TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);
/* enable interrupts */
enableInterrupts();
/* Enable TIM4 */
TIM4_Cmd(ENABLE);
}
这样程序会死在 TIM4_Cmd(ENABLE);里。如果用TIM4_TimeBaseInit(TIM4_PRESCALER_128, 124);
TIM4_PERIOD 有124 -->>1 产生1ms可以正常。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
然后10us可以不?
然后继续减少,就知道最少得多少时间了。
---------------------------------
THANK YOU,我仿真时候感觉仅仅while(n--);就用了差不多100us,(n=1时)。
---------------------------------
这够慢的 了...
n--要1us....
一周热门 更多>