我使用beaglebone开发板,修改并调试StarteWare里面的定时器例程。具体描述如下:
1. 配置两个定时器DMTimer2和DMTimer3,都是自动重装载,其中DMTimer2设置10us中断一次(自动重装载值0xFFFFFFFF - 240),DMTimer3设置1秒中断一次(自动重装载值0xFFFFFFFF - 24000000).两个中断的优先级分别为0和1.
2. DMTimer2中断处理函数中只对一个变量cntValue进行自加操作
3. DMTimer3中断处理函数中通过串口输出cntValue的值,并将cntValue清零
调试发现输出的cntValue每次都只有74600多,按理论计算1秒时间内10us中断应触发100000次才对,这个差距太大了。将DMTimer2定时值修改为20us,30us,丢失的中断会少很多,但还是存在。
请问这究竟是怎么回事?AM335x的中断响应时间应该是非常短才对呀。 |