amobbs.com 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
回复: 6

[求助帖]STM8S的tim4定时器最高周期33K,这是什么原因

[复制链接]
(3284879)

打赏出0元收入0元

发表于 2020-5-31 18:20:10 | 显示全部楼层 |阅读模式

定时器设置后最高速度只有15us  ,定时器时钟和自动装载的初始值就算设置的再高也没有用,不知道这是什么原因

正常表现的设置
  TIM4_PSCR=3;          //8分频得到2Mhz的定时器时钟,定时器加1就是0.5us
  TIM4_ARR=29;          //理论30时是15us
  TIM4_IER_UIE=1;
  TIM4_CR1_ARPE=1;
  TIM4_CR1_CEN=1;  
这种设置下,定时器溢出中断是就是理论值15us   

异常情况
正常表现的设置
  TIM4_PSCR=3;          //8分频得到2Mhz的定时器时钟,定时器加1就是0.5us
  TIM4_ARR=10;          //理论10时是5us  实际却还是15us
  TIM4_IER_UIE=1;
  TIM4_CR1_ARPE=1;
  TIM4_CR1_CEN=1;  
这种设置下,定时器溢出中断是就不是理论值5us   ,却还是15us

同样的保持装载值不变,提高定时器的时钟 也没有用,

请问这是什么原因,谢谢各位,希望能够指出,谢谢!
(3281187)

打赏出0元收入0元

发表于 2020-5-31 19:21:42 | 显示全部楼层
怎么测量的? 该不会是定时器溢出中断里面翻转IO口吧?
(3268510)

打赏出0元收入0元

 楼主| 发表于 2020-5-31 22:52:59 | 显示全部楼层
20061002838 发表于 2020-5-31 19:21
怎么测量的? 该不会是定时器溢出中断里面翻转IO口吧?

谢谢回复,
是的,在中断溢出里翻转IO口,IO口配置为推挽输出,输出速度10MHz  然后用逻辑分析仪测量的
(3264576)

打赏出0元收入0元

发表于 2020-5-31 23:58:33 | 显示全部楼层
lewisreed 发表于 2020-5-31 22:52
谢谢回复,
是的,在中断溢出里翻转IO口,IO口配置为推挽输出,输出速度10MHz  然后用逻辑分析仪测量的 ...

进出中断的时候,让另外一个IO口输出一个脉冲,跟你翻转的那个IO口做下比较,应该能够发现什么
(2518761)

打赏出0元收入0元

 楼主| 发表于 2020-6-9 15:08:48 | 显示全部楼层
20061002838 发表于 2020-5-31 23:58
进出中断的时候,让另外一个IO口输出一个脉冲,跟你翻转的那个IO口做下比较,应该能够发现什么 ...

谢谢指教,我晚上回去了调试下看,现在看代码里是是没什么的,就两个if语句,
(2486794)

打赏出0元收入0元

发表于 2020-6-10 00:01:35 | 显示全部楼层
本帖最后由 hecat 于 2020-6-10 00:02 编辑

STM8的中断效率很低,进中断很费时间。

这有可能是编译器的问题,没用STM8跑过汇编。
(2406268)

打赏出0元收入0元

 楼主| 发表于 2020-6-10 22:23:41 | 显示全部楼层
hecat 发表于 2020-6-10 00:01
STM8的中断效率很低,进中断很费时间。

这有可能是编译器的问题,没用STM8跑过汇编。 ...

谢谢指教!现在看来确实有这个可能,因为从进中断到处中断只用了3uS ,而出中断后再进中断需要耗时13uS    ,不知道是不是哪里没设置好
回帖提示: 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号-1 )

GMT+8, 2020-7-8 18:48

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表