打印
[STM8]

关于ST8S207的捕捉问题

[复制链接]
2676|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kuailebuyi|  楼主 | 2009-6-25 21:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
三合一开发板上其中一个KEY与TIM1_CH4连接
用KEY来产生一个脉冲信号,来试验TIM1的捕获功能,但始终读不出捕获值。
程序如下:
TIM1_CCMR4 |= 0x01;//引脚选作输入
TIM1_CCER2 |= 0x30;//下降沿有效
TIM1_CCR4 = 0x00;
TIM1_PSCR = 0xffff;//最大分频
TIM1_CR1 |= 0x01;//启动TIM1
While((TIM1_SR1 & 0x10) |= 0x10);//查询捕获中断标志位,(调试时,提示程序死在这一句)
M = TIM1_CCR4;//读结果
TIM1_SR1 & = ~0x10;  //清标志位

换成中断来做也不行,为什么?
沙发
汉之云| | 2009-6-26 10:02 | 只看该作者

re:

While((TIM1_SR1 & 0x10) |= 0x10);//查询捕获中断标志位,(调试时,提示程序死在这一句)

至少里面 "|" 应该是"!".

使用特权

评论回复
板凳
kuailebuyi|  楼主 | 2009-6-26 16:08 | 只看该作者

re

While((TIM1_SR1 & 0x10) |= 0x10);//查询捕获中断标志位,(调试时,提示程序死在这一句)

至少里面 "|" 应该是"!".

这里“|”是打错了,在实际程序中是“!”

现在的问题是,再按下KEY后,捕捉中断标志位没有置 1
请高手帮我分析分析

谢谢

使用特权

评论回复
地板
walnutcy| | 2009-6-27 20:01 | 只看该作者

IO 对应的IO设置成输入了没?

使用特权

评论回复
5
zz2513| | 2009-6-28 09:37 | 只看该作者

时钟源

还有一个很重要的问题: TIM1的预分频时钟源 为内部时钟(Fmaster)的话,需要设置相关寄存器吗 ? 

我总觉得是 时钟源不对。

高手赐教啊   

使用特权

评论回复
6
kuailebuyi|  楼主 | 2009-6-28 13:17 | 只看该作者

问题已解决

为TIM1_EGR没有配置
谢谢各位的指点

使用特权

评论回复
7
zz2513| | 2009-6-28 14:31 | 只看该作者

太好了

我今天在办公室里调试了下TIM1的PWM输出,也调出来了。 也是有寄存器没设置好。根本不是时钟源的问题。 

 

使用特权

评论回复
8
371388224| | 2009-7-6 18:08 | 只看该作者

请教TIME问题

各位兄弟:
    我在调试TIME的时候,也碰到了类似的问题,While((TIM1_SR1 & 0x10) |!= 0x10);//查询捕获中断标志位,(调试时,提示程序死在这一句),请各位具体指教一下为感。

使用特权

评论回复
9
ddllxxrr| | 2009-8-29 15:51 | 只看该作者
是否就支持第一道,和第二道呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

粉丝