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

[复制链接]
4257|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
可以说只要你中断里的代码简洁,还是没有问题的。
 楼主| tieguanyin2008 发表于 2010-8-20 21:28 | 显示全部楼层
CPU时钟用HSI, 16MHz.

中断里面只是一些计数的指令,设置对应时间标志就退出。
 楼主| tieguanyin2008 发表于 2010-8-20 21:51 | 显示全部楼层
为啥要设置为20us呢
xsgy123 发表于 2010-8-20 12:29



因为要得到一频率固定1kHz,脉宽为200us到1000us可改变的脉冲信号。
香水城 发表于 2010-8-21 10:04 | 显示全部楼层
通常情况下20us确实比较短,但如果满足以下条件,也还可以接受:

1)中断程序里做的事情不多
2)程序写得好,比较精炼
3)其他程序没有非常严格的时间要求
今晚捉肥仔 发表于 2010-8-21 10:24 | 显示全部楼层
为什么不直接用PWM输出呢?
 楼主| tieguanyin2008 发表于 2010-8-21 10:56 | 显示全部楼层
之前的硬件已经做好,引脚固定了。只能用软件的方式
 楼主| tieguanyin2008 发表于 2010-8-21 10:57 | 显示全部楼层
多谢各位的解答。
 楼主| tieguanyin2008 发表于 2010-9-7 23:22 | 显示全部楼层
试过OK!!
尚善励挚 发表于 2014-11-27 16:31 | 显示全部楼层
?怎么弄的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

90

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部