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

查看: 2448|回复: 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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版