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

[复制链接]
1698|29
heweibig 发表于 2019-7-30 21:41 | 显示全部楼层

你把中断设置成电平触发.
然后拉高1s,
每次进中断就加1然后退出.就会连续中断.这个估计会高很多.
 楼主| wuhany 发表于 2019-7-30 21:43 | 显示全部楼层

修改程序后已经达到了每秒钟99585次中断,我的中断是用定时器10us触发一次的。a9+Linux能达到这么多?
 楼主| wuhany 发表于 2019-7-30 21:44 | 显示全部楼层
我想达到的目的是1秒钟能准确地响应100000次10us定时中断,而且在中断中处理一些事情。目前看不可能,因为A8开始执行中断处理函数前要做太多事情,导致即使响应了中断也没多少时间在中断处理函数中做其它事情。中断响应速度这方面A8连M3都不如啊,我用同样的程序在STM32上执行,1秒钟能响应99726次中断,而且中断处理函数中随便加减语句都没什么影响。
heweibig 发表于 2019-7-30 21:45 | 显示全部楼层
m系列是a系列的删节版.我不认为a系列在这里会做复杂操作.

你确认编译器优化级别够了吗?你等中断响应完成再打印.
 楼主| wuhany 发表于 2019-7-30 21:47 | 显示全部楼层
我有一个疑问,设置了一个定时器自动重装载,当定时器溢出并产生中断后,是立即重装载并继续执行,还是要等清除中断标志位后才进行重装载并继续执行?
spark周 发表于 2019-7-30 21:48 | 显示全部楼层
这个是自己重新转入的   它只判断溢出标志   与中断标志没关系
 楼主| wuhany 发表于 2019-7-30 21:49 | 显示全部楼层
解决了,原因是要产生10us中断,定时器重装载值应设置为(0xFFFFFFFF -  240 + 1),这样定时器溢出时才是准确的10us
dengdc 发表于 2019-7-30 21:56 | 显示全部楼层

为什么要用定时器中断?
jiaxw 发表于 2019-7-30 21:57 | 显示全部楼层
这样会影响程序的处理效率的。
 楼主| wuhany 发表于 2019-7-30 21:59 | 显示全部楼层

好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先        
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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