震惊,原子stm32竟然会出现这样的问题!

2019-10-11 16:11发布

其实我想问一下,我建c8t6的工程,选用md的启动文件,为什么我定时器定时5ms,实际却是50ms,我延时500ms让LED闪烁,却发现是5s。这是为什么?不知道为什么,求解!代码如下
                LED0=0;
                delay_ms(500);
                LED0=1;
                delay_ms(500);

void Timer1_Init(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
        NVIC_InitTypeDef NVIC_InitStructure;
        TIM_DeInit(TIM1);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
TIM_TimeBaseStructure.TIM_Period = 49;//×Ô¶ˉÖØ×°3õÖμ£¬Ã¿200′ÎÖD¶Ïò»′Π 5MS
TIM_TimeBaseStructure.TIM_Prescaler = 7199;//pscÔ¤·ÖÆμ
TIM_TimeBaseStructure.TIM_ClockDivision = 0;//ê±Öó2»·ÖÆμ
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//ÏòéϼÆêyÄ£ê½
TIM_TimeBaseInit(TIM1, & TIM_TimeBaseStructure);
       
TIM_ARRPreloadConfig(TIM1,ENABLE);//ê1ÄüTIMxÔúARRéÏμÄԤװÔؼÄ′æÆ÷
TIM_Cmd(TIM1,ENABLE);//ê1Äü¶¨ê±Æ÷
TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE);        //ê1Äü¶¨ê±Æ÷ÖD¶Ï
       
  NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQn;//éèÖÃí¨μàêy
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;//Ö÷óÅÏ輶
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;//′óóÅÏ輶
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);       
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
正点原子
1楼-- · 2019-10-11 18:05
你代码跑的8M,老大,你得配置时钟。不会配置的话,学习或者论坛搜索。  
思恋尘缘
2楼-- · 2019-10-11 19:06
求大神回答啊
d1z1y2
3楼-- · 2019-10-11 19:07
跟定时器有什么关系?
wenzh3333
4楼-- · 2019-10-12 00:10
 精彩回答 2  元偷偷看……
augustedward
5楼-- · 2019-10-12 04:37
你延时是用的是哪个啊?定时器中断吗?还是systick?
xfdr0805
6楼-- · 2019-10-12 08:32
震惊,楼主竟然会出现这样的问题!

一周热门 更多>