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

查看: 2497|回复: 9

初学者,请版主耐心解答一下,谢谢!

[复制链接]

5

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2011-11-2 10:34:59 | 显示全部楼层 |阅读模式
1.JPG
1、请问这个 URS 是不是写错了,我感觉应该是 UDIS 。URS 是控制是否产生更新事件标志,而不是控制后半句所说的产生更新事件。
2.JPG
2、请问从模式的复位模式是不是当检测到外部触发条件后,硬件对 UG 位进行了一次置位。手册中没这么说,但是所举的例子中当检测到TI1的上升沿以后,UG 位被置1。
 
3.JPG
3、根据前面的介绍,理解将 CEN 置位一个时钟周期以后产生真正的使能信号 CNT_EN,这之后内部时钟就送到Prescaler里以至后面的计数器就开始计数了。而在门控模式中是不是又多了一层限制?因为门控模式下必须将CEN置位,但是这个置位并不能启动计数器,也就是不能产生真正的使能信号 CNT_EN,只有外部触发信号满足相应的电平以后,才能产生真正的使能信号 CNT_EN,计数器才会计数。请问这种理解对不对。
 
4.JPG
4、请问触发模式里的描述是不是有些问题,例子中说要检测TI2的上升沿,可配置中将CC2P写1,检测低电平。
 
 
回复

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2011-11-2 11:45:10 | 显示全部楼层

RE:初学者,请版主耐心解答一下,谢谢!

1、是说如果URS位为低,一个更新时间发生。设置TIMx_CR1寄存器中的UDIS位,可以禁止更新事件。
2、控制电路和向上计数器在一般模式下,不带预分频器时的操作。只有开启以后才会将UG为设置
3、置TIMx_CR1寄存器中CEN=1,启动计数器。在门控模式下,如果CEN=0,则计数器不能启动,不论触发输入电平如何。
4、配置通道2检测TI2的上升沿。配置输入滤波器带宽(本例中,不需要任何滤波器,保持IC2F=0000)。触发操作中不使用捕获预分频器,不需要配置。CC2S位只用于选择输入捕获源,置TIMx_CCMR1寄存器中CC2S=01。置TIMx_CCER寄存器中CC2P=1以确定极性(只检测低电平)。
回复 支持 反对

使用道具 举报

5

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2011-11-2 13:34:29 | 显示全部楼层

回复:初学者,请版主耐心解答一下,谢谢!

回复第 2 楼 于2011-11-02 03:45:10发表:
1、是说如果URS位为低,一个更新时间发生。设置TIMx_CR1寄存器中的UDIS位,可以禁止更新事件。
2、控制电路和向上计数器在一般模式下,不带预分频器时的操作。只有开启以后才会将UG为设置
3、置TIMx_CR1寄存器中CEN=1,启动计数器。在门控模式下,如果CEN=0,则计数器不能启动,不论触发输入电平如何。
4、配置通道2检测TI2的上升沿。配置输入滤波器带宽(本例中,不需要任何滤波器,保持IC2F=0000)。触发操作中不使用捕获预分频器,不需要配置。CC2S位只用于选择输入捕获源,置TIMx_CCMR1寄存器中CC2S=01。置TIMx_CCER寄存器中CC2P=1以确定极性(只检测低电平)。
 

 
        版主您好,感谢您的回答,不过感觉您是把与我问题相关的那一部分手册翻译了一下。关于我问题所涉及到的部分,中英手册我都看过了,多数问题都是感觉手册可能写的有问题,你单纯帮我翻译一下没能帮我解决疑惑啊。还是麻烦您仔细帮我看看,先谢谢了。
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2011-11-2 14:31:57 | 显示全部楼层

RE:初学者,请版主耐心解答一下,谢谢!

这个有时候也需要自我理解,然后再动手测试,就明白了。光说理论,是不行的。
你还有哪个不明白,你说一下,我们慢慢讨论。
1、UDIS是使能位,开启或者关闭更新事件产生。URS是当产生更新事件以后这以为被拉低,他是个状态指示位。
2、UG:产生更新事件 (Update generation)。该位由软件置’1’,由硬件自动清’0’。这个是用来重新初始化计数器的,在设置的时候会用到。
3、CEN:使能计数器。在软件设置了CEN位后,外部时钟、门控模式和编码器模式才能工作。触发模式可以自动地通过硬件设置CEN位。
回复 支持 反对

使用道具 举报

5

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2011-11-2 17:30:26 | 显示全部楼层

回复:初学者,请版主耐心解答一下,谢谢!

回复第 4 楼 于2011-11-02 06:31:57发表:
这个有时候也需要自我理解,然后再动手测试,就明白了。光说理论,是不行的。
你还有哪个不明白,你说一下,我们慢慢讨论。
1、UDIS是使能位,开启或者关闭更新事件产生。URS是当产生更新事件以后这以为被拉低,他是个状态指示位。
2、UG:产生更新事件 (Update generation)。该位由软件置’1’,由硬件自动清’0’。这个是用来重新初始化计数器的,在设置的时候会用到。
3、CEN:使能计数器。在软件设置了CEN位后,外部时钟、门控模式和编码器模式才能工作。触发模式可以自动地通过硬件设置CEN位。

 
 
那先说第一个问题。UDIS位和您讲的没有异议,它就是一个允许/不允许产生更新事件的控制位。我对URS的理解是如果允许产生UEV了,URS来控制哪种事件(1、计数器上下溢;2、设置UG位;3、从模式控制器产生的更新)引起的UEV才允许设置中断标志UIF。URS = 0:三种事件都可以;URS = 1:只有计数器上下溢可以。
1.JPG
 
而我最开始的一个问题的关键点是,手册里写“如果URS位是低的话,产生一个UEV事件”我感觉应该是说“如果UDIS位是低的话,产生一个UEV事件”,因为控制产不产生UEV的位是UDIS而不是URS,URS是控制中断标志的。
回复 支持 反对

使用道具 举报

5

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2011-11-2 17:49:10 | 显示全部楼层

回复:初学者,请版主耐心解答一下,谢谢!

回复第 4 楼 于2011-11-02 06:31:57发表:
这个有时候也需要自我理解,然后再动手测试,就明白了。光说理论,是不行的。
你还有哪个不明白,你说一下,我们慢慢讨论。
1、UDIS是使能位,开启或者关闭更新事件产生。URS是当产生更新事件以后这以为被拉低,他是个状态指示位。
2、UG:产生更新事件 (Update generation)。该位由软件置’1’,由硬件自动清’0’。这个是用来重新初始化计数器的,在设置的时候会用到。
3、CEN:使能计数器。在软件设置了CEN位后,外部时钟、门控模式和编码器模式才能工作。触发模式可以自动地通过硬件设置CEN位。
 

 
    关于第二个问题,我开始理解的UG位要干4件事:
    ①初始化计数器(根据计数方向,选择将counter清0或者写ARR值);
    ②清零预分频器;
    ③产生更新事件(如果UDIS = 0);
    ④硬件对UG位清0。
    手册中也说了,该位由软件设置,硬件清0。
    对于从模式复位模式的描述中,如果产生了触发条件,也是干这么几件事:
    ①初始化计数器(根据计数方向,选择将counter清0或者写ARR值);
    ②清零预分频器;
    ③产生更新事件(如果UDIS = 0)。
    而且截图中,在产生了一个上升沿以后,UG位被置位随后又被清零。清零是硬件干的,那么置位呢,应该也是硬件干的吧。所以我第二个问题想问,是不是在满足了触发条件时,硬件执行了一次对UG位的置位过程。
回复 支持 反对

使用道具 举报

5

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2011-11-2 18:00:39 | 显示全部楼层

回复:初学者,请版主耐心解答一下,谢谢!

回复第 4 楼 于2011-11-02 06:31:57发表:
这个有时候也需要自我理解,然后再动手测试,就明白了。光说理论,是不行的。
你还有哪个不明白,你说一下,我们慢慢讨论。
1、UDIS是使能位,开启或者关闭更新事件产生。URS是当产生更新事件以后这以为被拉低,他是个状态指示位。
2、UG:产生更新事件 (Update generation)。该位由软件置’1’,由硬件自动清’0’。这个是用来重新初始化计数器的,在设置的时候会用到。
3、CEN:使能计数器。在软件设置了CEN位后,外部时钟、门控模式和编码器模式才能工作。触发模式可以自动地通过硬件设置CEN位。
 

 
    第三个问题主要是想弄清楚 CEN 和 CNT_EN 的关系。手册中说过,从软件设置 CEN 到产生真正的使能信号 CNT_EN 需要一个时钟周期。所以我理解程序只能设置 CEN位,但是设置了该位计数器不会使能,只有一个时钟周期以后产生了真正的使能信号 CNT_EN 后,计数器才被使能并开始计数。
    而从模式的门控模式好像是一个特例,图中我标出的那部分主要意思是:想使用从模式必须要满足两个条件
    ①将CEN位置1;
    ②外部触发符合你所设置的电平。
    如果按照一开始的理解,正常模式下,满足①在一个时钟周期后计数器就已经使能并开始计数了,而从模式门控模式下则不行,设置了CEN以后不会产生真正的使能信号CNT_EN,而是需要外部触发也满足设定的电平,硬件才会将CNT_EN置位。
回复 支持 反对

使用道具 举报

5

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2011-11-2 18:04:19 | 显示全部楼层

回复:初学者,请版主耐心解答一下,谢谢!

回复第 4 楼 于2011-11-02 06:31:57发表:
这个有时候也需要自我理解,然后再动手测试,就明白了。光说理论,是不行的。
你还有哪个不明白,你说一下,我们慢慢讨论。
1、UDIS是使能位,开启或者关闭更新事件产生。URS是当产生更新事件以后这以为被拉低,他是个状态指示位。
2、UG:产生更新事件 (Update generation)。该位由软件置’1’,由硬件自动清’0’。这个是用来重新初始化计数器的,在设置的时候会用到。
3、CEN:使能计数器。在软件设置了CEN位后,外部时钟、门控模式和编码器模式才能工作。触发模式可以自动地通过硬件设置CEN位。
 

 
    关于问题4,我是想问,描述中明明说“触发条件是检测到TI2上的上升沿”可是下面描述中又说配置CC2P=1(只检测低电平),我感觉是比较明显的矛盾,想问一下是不是手册写错了。
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2011-11-3 09:45:23 | 显示全部楼层

RE:初学者,请版主耐心解答一下,谢谢!

URS:This bit is set and cleared by software to select the UEV event sources.
这一位在软件选择UEV事件源以后,被清除。这一位置1说明当前产生了一个UEV事件。这以为是一个状态位,而不是控制位,这个不需要我们来设置,而由硬件在产生。
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2011-11-3 09:52:44 | 显示全部楼层

RE:初学者,请版主耐心解答一下,谢谢!

2、置位是软件设置以后,由硬件再几个周期以后清除。
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版