TIM_TimeBaseInitStruct.TIM_Period =60000; //TIM update rate =TIM counter clock/TIM_Period =6MHz/60000=100Hz
TIM_TimeBaseInitStruct.TIM_Prescaler =1001; //TIM counter clock =TIMxCLK/(Prescaler +1) =72MHz/12=6MHz
TIM_TimeBaseInitStruct.TIM_ClockDivision = 0; //时钟倍频
TIM_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Up;//计数方向向上计数
TIM_TimeBaseInit(TIM4, &TIM_TimeBaseInitStruct);
试试我的代码 安 发表于 2014-11-6 14:42
TIM_TimeBaseStructInit(&TIM_TimeBaseInitStruct);
TIM_TimeBaseInitStruct.TIM_Period =60000; ...
恩,小问题而已,改天试一试,只是希望神舟能够重视一下,是否是例程的问题我不在乎,只要我发的500多块大洋买的板子没问题就行! 没错,是0.5s中断一次的: 外部晶振25M用神舟 的system_stm32f4xx.c文件 生成的PCLK1是42MHZ的(用RCC_GetClocksFreq(&Sysclock);函数读取时钟), 而TIM时钟是二倍频的84MHZ,加上配置:
TIM_Period = (10000 - 1);
TIM_Prescaler= (4500 - 1);
中断一次的时间就是:10000/(84M/4500) 约等于 0.5s
页:
1
[2]