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

查看: 9799|回复: 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版