OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子全套STM32/FPGA开发资料,上千讲STM32视频教程,RT1052教程免费下载啦...
查看: 5260|回复: 13

定时器1的CC1事件

[复制链接]

  离线 

36

主题

148

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
318
金钱
318
注册时间
2012-1-21
在线时间
2 小时
发表于 2012-8-31 22:01:23 | 显示全部楼层 |阅读模式
定时器1的CC1事件是什么事件?  怎么产生的?

比如Timerx_Init(5000,7199);//10Khz的计数频率,计数到5000为500ms

是计数到5000就产生CC1事件吗?
回复

使用道具 举报

  离线 

516

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
134732
金钱
134732
注册时间
2010-12-1
在线时间
1316 小时
发表于 2012-8-31 23:37:21 | 显示全部楼层
CC1事件是指定时器通道1的所有事件,包含了很多种类型,关键看你的配置,比如捕获/溢出/比较匹配/更新等.
你说的这个,Timerx_Init,我们是用来产生500ms定时的,属于更新事件.就是说计数到5000就产生一次更新,从而进入到中断服务函数.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 1 反对 0

使用道具 举报

  离线 

36

主题

148

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
318
金钱
318
注册时间
2012-1-21
在线时间
2 小时
 楼主| 发表于 2012-9-1 10:27:55 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
那比如ADC1是可以用定时器1的CC1事件触发的,是不是这个更新事件就可以用来触发了,就是说500MS一到就触发ADC1?
回复 支持 反对

使用道具 举报

  离线 

36

主题

148

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
318
金钱
318
注册时间
2012-1-21
在线时间
2 小时
 楼主| 发表于 2012-9-1 10:28:26 | 显示全部楼层
回复【3楼】a312835782:
---------------------------------
前提是ADC1已经设置了定时器1CC1触发
回复 支持 反对

使用道具 举报

  离线 

516

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
134732
金钱
134732
注册时间
2010-12-1
在线时间
1316 小时
发表于 2012-9-1 11:42:58 | 显示全部楼层
当然可以了
回复 支持 反对

使用道具 举报

  离线 

36

主题

148

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
318
金钱
318
注册时间
2012-1-21
在线时间
2 小时
 楼主| 发表于 2012-9-1 12:58:35 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
如果我用AD采样,AD采样率开到较高,0.8M左右。(不想用外部AD,因为内部AD0.8M够用)

开连续转换模式,那我不是要一边采样,一边读数据?  这样读数据的时间不是会影响采样率了?
回复 支持 反对

使用道具 举报

  离线 

516

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
134732
金钱
134732
注册时间
2010-12-1
在线时间
1316 小时
发表于 2012-9-1 13:53:28 | 显示全部楼层
你可以通过控制采样时间和转换周期,来自动控制转换速率.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

  离线 

36

主题

148

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
318
金钱
318
注册时间
2012-1-21
在线时间
2 小时
 楼主| 发表于 2012-9-1 14:20:41 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
ADC有一个连续转换模式,是怎么个连续转换法,

比如我在主程序大循环里有一句adcx=Get_Adc(ADC_CH0);

从结果寄存器里读出数据,还有其他的程序。会影响这个连续转换模式吗?
回复 支持 反对

使用道具 举报

  离线 

516

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
134732
金钱
134732
注册时间
2010-12-1
在线时间
1316 小时
发表于 2012-9-1 19:09:57 | 显示全部楼层
回复【8楼】a312835782:
---------------------------------
你这个不是连续转换。。。
连续转换是转换一次后立即开启第二次转换。
这种一般和DMA结合用。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

  离线 

1

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2013-9-3
在线时间
0 小时
发表于 2013-9-9 09:55:19 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
http://www.openedv.com/posts/list/11720.htm根据这个帖子的说法,是CCR触发了ADC进行采集数据。也就是一个边沿触发。原子哥:那CC1事件就不是指T1的所有事件了。那更新事件并不能触发ADC采集数据。求解。。。。。。还有一个疑问:PWM的频率就是ADC的采集数据的频率,如果是CCR触发了ADC采集数据,那就跟ADC采集数据的频率应该是受占空比控制的啊!我的理解错了?
回复 支持 反对

使用道具 举报

  离线 

1

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2013-9-3
在线时间
0 小时
发表于 2013-9-9 10:03:08 | 显示全部楼层
回复【10楼】逆流而上901458:
---------------------------------
如果PWM波每个周期的占空比都在变化,那么ADC频率就变化了哦
回复 支持 反对

使用道具 举报

  离线 

516

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
134732
金钱
134732
注册时间
2010-12-1
在线时间
1316 小时
发表于 2013-9-9 16:51:14 | 显示全部楼层
回复【10楼】逆流而上901458:
---------------------------------
这个得看《STM32参考手册》
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

  离线 

516

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
134732
金钱
134732
注册时间
2010-12-1
在线时间
1316 小时
发表于 2013-9-9 16:52:07 | 显示全部楼层
回复【11楼】逆流而上901458:
---------------------------------
至于你要PWM控制ADC采用,那你改变PWM的占空比,只是改变采样的时间点而已,下一次采样时间,会跟着提前或者延后,只要频率没变就可以了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

  离线 

2

主题

15

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2018-4-24
在线时间
8 小时
发表于 2018-7-12 17:30:51 | 显示全部楼层
本帖最后由 huiye丶666 于 2018-7-12 17:33 编辑

我们最近做一个模拟示波器,用TIM1 CC1事件触发ADC采集,然后ADC请求DMA传输。然后将DMA传送来的数据放入一个缓冲区中,在TFT_LCD屏幕上慢慢的刷出来。由于刷显示屏比较慢,而DMA传送速度快。因此显示屏显示波形并不完整,中间会有很多断层。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则




关闭

正点原子双11大促销上一条 /1 下一条

正点原子公众号

QQ|联系我们|手机版|官方淘宝店|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-11-16 19:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表
/* */