打印
[STM8]

中断周期设置为20us会不会不够时间运行?

[复制链接]
3015|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tieguanyin2008|  楼主 | 2010-8-19 23:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 tieguanyin2008 于 2010-8-19 23:15 编辑

STM8S使用16M时钟。 TIM1 TIM2有其他用。因为要产生一个脉冲宽度从200到1000us可调(用程序控制)的周期1ms (1kHz固定)的信号,的TIM4 中断周期设置为20us, 里面几个变量计数,TIM4同时给20us计数,作为0.1S, 0.2S,0.5S,1S定时器。不知道20us这么短的时间会不会导致其他程序没法运行。请大侠解答。多谢
沙发
IJK| | 2010-8-20 09:33 | 只看该作者
20us的中断时间太短了,对于STM8S这样的8位MCU确实够呛

使用特权

评论回复
板凳
xsgy123| | 2010-8-20 12:29 | 只看该作者
为啥要设置为20us呢

使用特权

评论回复
地板
jgphu| | 2010-8-20 16:55 | 只看该作者
这要看你的CPU时钟了,要是你的CPU时钟没有分频,机器周期就是62.5nS.那你要定是20us = 62.5*320
可以说只要你中断里的代码简洁,还是没有问题的。

使用特权

评论回复
5
tieguanyin2008|  楼主 | 2010-8-20 21:28 | 只看该作者
CPU时钟用HSI, 16MHz.

中断里面只是一些计数的指令,设置对应时间标志就退出。

使用特权

评论回复
6
tieguanyin2008|  楼主 | 2010-8-20 21:51 | 只看该作者
为啥要设置为20us呢
xsgy123 发表于 2010-8-20 12:29



因为要得到一频率固定1kHz,脉宽为200us到1000us可改变的脉冲信号。

使用特权

评论回复
7
香水城| | 2010-8-21 10:04 | 只看该作者
通常情况下20us确实比较短,但如果满足以下条件,也还可以接受:

1)中断程序里做的事情不多
2)程序写得好,比较精炼
3)其他程序没有非常严格的时间要求

使用特权

评论回复
8
今晚捉肥仔| | 2010-8-21 10:24 | 只看该作者
为什么不直接用PWM输出呢?

使用特权

评论回复
9
tieguanyin2008|  楼主 | 2010-8-21 10:56 | 只看该作者
之前的硬件已经做好,引脚固定了。只能用软件的方式

使用特权

评论回复
10
tieguanyin2008|  楼主 | 2010-8-21 10:57 | 只看该作者
多谢各位的解答。

使用特权

评论回复
11
tieguanyin2008|  楼主 | 2010-9-7 23:22 | 只看该作者
试过OK!!

使用特权

评论回复
12
尚善励挚| | 2014-11-27 16:31 | 只看该作者
?怎么弄的

使用特权

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

本版积分规则

15

主题

90

帖子

1

粉丝