打印
[STM8]

STM8s tim1 计频 问题

[复制链接]
5957|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wgggjfg|  楼主 | 2010-5-11 22:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想用stm8s的 外部时钟源模式2 进行计频,我调用了tim1的库函数,我从外部引脚([TIM1_ETR] AIN3/PB3)发信号,TIM1使终不计数,也没进中断,有人能解决一下吗?或都有人用过该模试的发个源码上来。
源程序如下:
TIM1_DeInit();
TIM1_ETRClockMode2Config(TIM1_EXTTRGPSC_DIV4,TIM1_EXTTRGPOLARITY_INVERTED,1);
TIM1_TimeBaseInit(0,TIM1_COUNTERMODE_UP,100,0x2);
TIM1_ITConfig(TIM1_IT_UPDATE,ENABLE);
TIM1_Cmd(ENABLE);
沙发
wenshu20| | 2010-5-12 15:25 | 只看该作者
改变选项字节,PB3备选功能为TIM1_ETR!

使用特权

评论回复
板凳
gxgclg| | 2010-5-12 20:00 | 只看该作者
从两个方面找,一个是信号进来没,二是中断到底开了没,也就是说配置好了没

使用特权

评论回复
地板
wgggjfg|  楼主 | 2010-5-12 20:18 | 只看该作者
说细点好吗?
是在GPIO里配置,还是在TIM1中了?
手册上是这样说的:
11.7.1复用功能输入
部分I/O口可以被用作复用功能输入。例如:可以被用来作为输入到定时器的输入捕捉口。复用的输入功能是不会自动选择的,用户可以通过写相应的外设寄存器的控制位来选择复用功能。

使用特权

评论回复
5
xsgy123| | 2010-5-12 20:24 | 只看该作者
首先检查的是中断的配置

使用特权

评论回复
6
wenshu20| | 2010-5-12 20:40 | 只看该作者
你确定备选功能改了吗?

使用特权

评论回复
7
wgggjfg|  楼主 | 2010-5-12 22:50 | 只看该作者
在调试窗口中可看到Tim1没有计数,跟开没开中断没有关系吧。
我对GPIO模块没设置,但默认就是输入。
备选功能是不是说的这里(手册资料):
位6 ECE:外部时钟使能
该位用于使能外部时钟模式2。
0:禁止外部时钟模式2;
1:使能外部时钟模式2,计数器的时钟为ETRF的有效沿。

ECE 已在"TIM1_ETRClockMode2Config"置1了

使用特权

评论回复
8
wenshu20| | 2010-5-13 10:32 | 只看该作者
//选项字节
        FLASH_Unlock(FLASH_MEMTYPE_DATA);
        FLASH_ProgramOptionByte(0x4803,0x20);//端口B3备选功能为TIM1_ETR
        status = FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA);
        if (status == FLASH_STATUS_SUCCESSFUL_OPERATION)
        {
       
        }
                FLASH_Lock(FLASH_MEMTYPE_DATA);

去看看你所用芯片的手册中的选项字节!

使用特权

评论回复
9
CrazyST| | 2010-5-16 10:25 | 只看该作者
跟我之前犯的错误一样,没有改IO复用第二功能选项字节没有改,STVP改最方便

使用特权

评论回复
10
jiachenglong01| | 2013-3-28 12:31 | 只看该作者
CrazyST 发表于 2010-5-16 10:25
跟我之前犯的错误一样,没有改IO复用第二功能选项字节没有改,STVP改最方便 ...

你好,我刚接触stm8,用的STVD+COSMIC,stm8s103f3p6。检测高电平宽度快一周了还是捕获不了,很急,能不能给个捕捉的    库操作   工程文件,谢谢。1032186673@qq.com

使用特权

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

本版积分规则

个人签名:专业人做专业事!高效充电。

65

主题

438

帖子

3

粉丝