各路大神求救啊,怎么产生单脉冲

2019-07-20 15:57发布

请问下如何在无外部触发的情况下产生单个脉冲?
请大神们贴点源码看下,网上看到很多都是通过另一个定时器触发的。
谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
likunxue
1楼-- · 2019-07-20 18:00
本帖最后由 likunxue 于 2017-3-22 21:07 编辑

一般的定时器都有这个功能的呀!
/********************************************************************************************
函数名: 定时器7初始化函数
调  用: MOTOR_TIM7_Init(void)
参  数: 无  
返回值: 无
********************************************************************************************/
void MOTOR_TIM7_Init(void)
     {            
     RCC->APB1ENR |= 1<<5;                         //TIM7时钟使能   
     TIM7->ARR = 250;                                  //设定计数器自动重装值,刚好24KHZ
     TIM7->PSC = 5;                                     //预分频器6,得到6MHZ的计数时钟          
     TIM7->DIER |= 1<<0;                            //允许更新中断         
     MY_NVIC_Init(2,0,TIM7_IRQn,4);             //抢占2,子优先级0,组4
     BIT_ADDR((u32)& TIM7->SR,0) = 0;         //清除中断标志  
     BIT_ADDR((u32)& TIM7->CR1,3)= 1;         //单脉冲模式        
     BIT_ADDR((u32)& TIM7->CR1,0)= 0;         //关定时器
     }  

使能定时器一次,中断一次自动关闭


mxiaotao
2楼-- · 2019-07-20 21:24
 精彩回答 2  元偷偷看……
lycreturn
3楼-- · 2019-07-21 00:36
不一定要通过另一个定时器来触发,配置为单脉冲模式,使能定时器也就可以产生一个脉冲了

一周热门 更多>