何谓STM32 定时器的 “COM事件”【悬赏问答】
请教各位高手:何谓STM32 定时器的 “COM事件”RE:何谓STM32 定时器的 “COM事件”【悬赏问答】
正好这个有玩过,控制过电机,对这个深有体会,我打个比方说:比如无刷电机换向时,一般是三相要同时换向的,但是你在软里设置换向时肯定是一次只能设置一相,这就达不到三相同时换向了不。其实简单的办法就是启用STM32的COM事件,你先逐个设置好每相的换向(注意:此时虽然设置了,但实际上并不会进行换向),然后再调用COM事件,此时,三相将同时换向,就这么来的。阿呆版主,这够清楚了吧
回复:何谓STM32 定时器的 “COM事件”【悬赏问答】
COM时间是communication交换事件吧参考下以下代码
用手动的方式产生COM事件和换Step
1、禁止所有中断,也就是禁止在SysTick中断中产生COM事件
/* System Clocks Configuration */
RCC_Configuration();
/* NVIC Configuration */
//NVIC_Configuration();
/* GPIO Configuration */
GPIO_Configuration();
/* SysTick Configuration */
//SysTick_Configuration();
2、手动添加COM信号和换step,增加如下代码
temp = 0;
while (1)
{
if(temp==1)
{
/* Generate TIM1 COM event by software */
TIM_GenerateEvent(TIM1, TIM_EventSource_COM);
temp=0;
}
if(temp==2)
{
/* 换step */
TIM1_TRG_COM_IRQHandler();
temp=0;
}
}
经过上述步骤之后,仿真调试,设置temp为1,程序没有有效输出,设置temp为2,换step,立即出现波形,注意这时并没有产生COM时间。
在TIM1的初始化代码中,设置了使能预装载功能的
TIM_CCPreloadControl(TIM1, ENABLE);
RE:何谓STM32 定时器的 “COM事件”
COM事件是专门为电机控制用的,它只出现在高级定时器TIM1和TIM8中,普通定时器TIM2~TIM4没有COM事件。回复:何谓STM32 定时器的 “COM事件”【悬赏问答】
高手们能举例说明一下么?RE:何谓STM32 定时器的 “COM事件”【悬赏问答】
COM事件是用于同时控制所有通道的输出转换,在电机控制中同时转换所有通道的输出是十分必要的。http://cache.ourdev.cn/bbs_upload782111/files_11/ourdev_506414.GIF
RE:何谓STM32 定时器的 “COM事件”【悬赏问答】
事件还是其它一些操作的触发源,比如DMA,还有TIM中影子寄存器的传递与更新;而中断是不能触发这些操作的,所以要把事件与中断区分开。回复:何谓STM32 定时器的 “COM事件”【悬赏问答】
原来是这样啊,学学习了,谢谢回复:何谓STM32 定时器的 “COM事件”【悬赏问答】
回复第 3 楼 于2012-07-13 11:55:06发表:高手们能举例说明一下么?
应阿呆版主的要求,我已经取例了哈
回复:何谓STM32 定时器的 “COM事件”【悬赏问答】
回复第 9 楼 于2012-07-13 17:54:33发表:回复第 3 楼 于2012-07-13 11:55:06发表:
高手们能举例说明一下么?
应阿呆版主的要求,我已经取例了哈
哈,很有料的栗子~
页:
[1]
2