你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 9616|回复: 14

何谓STM32 定时器的 “COM事件”【悬赏问答】

[复制链接]

11

主题

64

回帖

0

蝴蝶豆

初级会员

最后登录
2018-6-22
发表于 2012-7-13 08:15:45 | 显示全部楼层 |阅读模式
请教各位高手:何谓STM32 定时器的 “COM事件”
回复

使用道具 举报

25

主题

446

回帖

0

蝴蝶豆

中级会员

最后登录
2019-12-10
发表于 2012-7-13 12:32:55 | 显示全部楼层

RE:何谓STM32 定时器的 “COM事件”【悬赏问答】

正好这个有玩过,控制过电机,对这个深有体会,我打个比方说:
比如无刷电机换向时,一般是三相要同时换向的,但是你在软里设置换向时肯定是一次只能设置一相,这就达不到三相同时换向了不。其实简单的办法就是启用STM32的COM事件,你先逐个设置好每相的换向(注意:此时虽然设置了,但实际上并不会进行换向),然后再调用COM事件,此时,三相将同时换向,就这么来的。阿呆版主,这够清楚了吧
回复 支持 2 反对 0

使用道具 举报

0

主题

16

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-7-13 12:44:31 | 显示全部楼层

回复:何谓STM32 定时器的 “COM事件”【悬赏问答】

COM时间是communication交换事件吧
 
111.jpg
参考下以下代码
用手动的方式产生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);

 
22223333.jpg
回复 支持 1 反对 0

使用道具 举报

48

主题

209

回帖

0

蝴蝶豆

金牌会员

最后登录
1970-1-1
发表于 2012-7-13 08:35:33 | 显示全部楼层

RE:何谓STM32 定时器的 “COM事件”

COM事件是专门为电机控制用的,它只出现在高级定时器TIM1和TIM8中,普通定时器TIM2~TIM4没有COM事件。
回复 支持 反对

使用道具 举报

89

主题

485

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2012-7-13 11:55:06 | 显示全部楼层

回复:何谓STM32 定时器的 “COM事件”【悬赏问答】

高手们能举例说明一下么?
回复 支持 反对

使用道具 举报

1

主题

39

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-7-13 14:01:31 | 显示全部楼层

RE:何谓STM32 定时器的 “COM事件”【悬赏问答】

COM事件是用于同时控制所有通道的输出转换,在电机控制中同时转换所有通道的输出是十分必要的。
回复 支持 反对

使用道具 举报

0

主题

11

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-7-13 15:20:38 | 显示全部楼层

RE:何谓STM32 定时器的 “COM事件”【悬赏问答】

事件还是其它一些操作的触发源,比如DMA,还有TIM中影子寄存器的传递与更新;而中断是不能触发这些操作的,所以要把事件与中断区分开。
回复 支持 反对

使用道具 举报

3

主题

185

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-7-13 17:44:37 | 显示全部楼层

回复:何谓STM32 定时器的 “COM事件”【悬赏问答】

原来是这样啊,学学习了,谢谢
回复 支持 反对

使用道具 举报

25

主题

446

回帖

0

蝴蝶豆

中级会员

最后登录
2019-12-10
发表于 2012-7-13 17:54:33 | 显示全部楼层

回复:何谓STM32 定时器的 “COM事件”【悬赏问答】

回复第 3 楼 于2012-07-13 11:55:06发表:
高手们能举例说明一下么?
 

应阿呆版主的要求,我已经取例了哈
回复 支持 反对

使用道具 举报

89

主题

485

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2012-7-13 18:19:04 | 显示全部楼层

回复:何谓STM32 定时器的 “COM事件”【悬赏问答】

回复第 9 楼 于2012-07-13 17:54:33发表:
回复第 3 楼 于2012-07-13 11:55:06发表:
高手们能举例说明一下么?
 

应阿呆版主的要求,我已经取例了哈
 

哈,很有料的栗子~
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版