2019-07-14 19:59发布
啊小鬼 发表于 2016-12-30 09:18 能说的更详细一些嘛,刚刚接触,有点不懂,最好有具体程序看看
啊小鬼 发表于 2016-12-30 13:38 好的,谢谢
最多设置5个标签!
我元旦期间给你回个简单代码哈
- /*******************************************************************************
- * 名称: Time4_Init
- * 功能: 定时器4初始化
- * 形参: 无
- * 返回: 无
- * 说明: 定时器4用来一个2ms的时间基准
- ******************************************************************************/
- void Time4_Init(void)
- {
- TIM4_TimeBaseInit(TIM4_PRESCALER_128, 249);//理论定时中断时间8us*250=2MS
- TIM4_PrescalerConfig(TIM4_PRESCALER_128, TIM4_PSCRELOADMODE_IMMEDIATE);
- TIM4_ARRPreloadConfig(ENABLE);
- TIM4_ClearFlag(TIM4_FLAG_UPDATE);
- TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);
- TIM4_Cmd(ENABLE);
- }
- INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler, 23)
- {//2MS
- /* In order to detect unexpected events during development,
- it is recommended to set a breakpoint on the following instruction.
- */
- LedDrive(adFlag);
- TIM4_ClearITPendingBit(TIM4_IT_UPDATE);
- }
-
- void LedDrive(u8 flag)
- {
- static u8 ledTime = 0;
- if( 0 == Flag )
- {
- ledTime = 0;
- GPIO_WriteLow(GPIOD, GPIO_PIN_3);//针对写低灭灯的接法
- return;
- }
- ledTime++;
- if( ledTime > 250 )
- {
- GPIO_WriteReverse(GPIOC, GPIO_PIN_7);//根据具体的灯接口改一下这个
- ledTime = 0;
- }
- }
- void main(void)
- {
- while(1)
- {
- if(adValue < ADNUM)
- adFlag = 1;
- else
- adFlag = 0;
- }
- }
复制代码我直接写的一个,大概意思就是这样的。
一周热门 更多>