发新帖我要提问
12
返回列表
打印
[MCU]

AM335x能够准确响应的最短定时中断是多少?

[复制链接]
楼主: wuhany
手机看帖
扫描二维码
随时随地手机跟帖
21
heweibig| | 2019-7-30 21:41 | 只看该作者 回帖奖励 |倒序浏览

你把中断设置成电平触发.
然后拉高1s,
每次进中断就加1然后退出.就会连续中断.这个估计会高很多.

使用特权

评论回复
22
wuhany|  楼主 | 2019-7-30 21:43 | 只看该作者

修改程序后已经达到了每秒钟99585次中断,我的中断是用定时器10us触发一次的。a9+Linux能达到这么多?

使用特权

评论回复
23
wuhany|  楼主 | 2019-7-30 21:44 | 只看该作者
我想达到的目的是1秒钟能准确地响应100000次10us定时中断,而且在中断中处理一些事情。目前看不可能,因为A8开始执行中断处理函数前要做太多事情,导致即使响应了中断也没多少时间在中断处理函数中做其它事情。中断响应速度这方面A8连M3都不如啊,我用同样的程序在STM32上执行,1秒钟能响应99726次中断,而且中断处理函数中随便加减语句都没什么影响。

使用特权

评论回复
24
heweibig| | 2019-7-30 21:45 | 只看该作者
m系列是a系列的删节版.我不认为a系列在这里会做复杂操作.

你确认编译器优化级别够了吗?你等中断响应完成再打印.

使用特权

评论回复
25
wuhany|  楼主 | 2019-7-30 21:47 | 只看该作者
我有一个疑问,设置了一个定时器自动重装载,当定时器溢出并产生中断后,是立即重装载并继续执行,还是要等清除中断标志位后才进行重装载并继续执行?

使用特权

评论回复
26
spark周| | 2019-7-30 21:48 | 只看该作者
这个是自己重新转入的   它只判断溢出标志   与中断标志没关系

使用特权

评论回复
27
wuhany|  楼主 | 2019-7-30 21:49 | 只看该作者
解决了,原因是要产生10us中断,定时器重装载值应设置为(0xFFFFFFFF -  240 + 1),这样定时器溢出时才是准确的10us

使用特权

评论回复
28
dengdc| | 2019-7-30 21:56 | 只看该作者

为什么要用定时器中断?

使用特权

评论回复
29
jiaxw| | 2019-7-30 21:57 | 只看该作者
这样会影响程序的处理效率的。

使用特权

评论回复
30
wuhany|  楼主 | 2019-7-30 21:59 | 只看该作者

好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先        

使用特权

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

本版积分规则