回复帖子:(yy)远程桌面大概会占大概50%的CPU资源,当CP...

用户名:   *您没有注册?
密码:   *忘记论坛密码?    标题采用“回复:XXX....”
验证码 点击获取验证码
主题标题:  *不得超过 200 个汉字
当前心情
上一页 发帖表情 下一页
内容
  

主题最新回顾(发布时间:2013-4-24 9:36:00)
--  作者:yy
--  
最新内核已经修改了,我测试了下好的,你关注下我们网站,应该会整理下发布信息及最新下载的。

hIRQ为IRQ句柄
DWORD len;
int inum;
ReadFile(hIRQ, &inum, 4, &len, NULL);
就可以读出IRQ的总计数inum,每次调用ReadFile函数,这个计数就会清0重新计数。这样即使没有及时调用WaitForIRQ响应中断事件,也能记录IRQ中断数。
[此贴子已经被作者于2013-4-24 9:36:43编辑过]

主题最新回顾(发布时间:2013-4-24 3:33:00)
--  作者:chang
--  
如果能有这样的函数就更好了,最好能提供两个方法:一个读取中断总数,一个将其清零以重新计数。

主题最新回顾(发布时间:2013-4-23 16:33:00)
--  作者:yy
--  
远程桌面大概会占大概50%的CPU资源,当CPU资源被全部消耗光就可能导致线程不能及时获取中断信息。
我们计划添加一个方法读取产生的中断总数,这样即使没有及时处理中断事件,依然可能通过该函数获得期间的中断计数。

主题最新回顾(发布时间:2013-4-23 0:50:00)
--  作者:chang
--  
我是收到所有中断后一次性打印结果,不是收一个打一个。现在发现只要不开remote display就可以。只是条件所限,我现在还不能精确测试。

主题最新回顾(发布时间:2013-4-22 9:30:00)
--  作者:yy
--  
你的意思是你每收到一个中断就用printf打印到屏幕上,然后通过远程桌面查看结果吗?
这样是一定会有问题的,因为printf打印的命令行每次变动都会重新刷新一次屏幕,正常的屏幕刷新10几次到20几次,当你一秒尝试刷新200来次是一定会导致CPU资源不够用的。你要么降低下屏幕打印的频率,要么用其他手段打印信息。

主题最新回顾(发布时间:2013-4-21 19:35:00)
--  作者:chang
--  
结果列表:

Freq (Hz)Time (s)IRQ Generated
(Assume PWM is accurate)
IRQ captured
500031500014653
500315001485
3003900895
2003600599
1503450451
1003300301
200601200011978

主题最新回顾(发布时间:2013-4-21 19:33:00)
--  作者:chang
--  
情况更新:

我一直是用remote display显示屏幕数据,昨天尝试了不开remote display,直接将捕获的中断数量写入一个文件再事后检查,发现中断数量基本正常了。

在200Hz以上明显开始有偏差,但由于确切的脉冲数量我手头没有工具测量(完全依赖于板上PWM输出频率和时间计算),所以并不确定是中断响应不上还是脉冲数本来就是那么多。

无论如何,从目前单个线程的情况来看应该可以满足项目的要求了。接下来会继续测试,也请英创的各位帮忙准确测试脉冲的捕获响应实时性。

多谢各位!

主题最新回顾(发布时间:2013-4-20 6:07:00)
--  作者:chang
--  
程博士,曹工,yy各位,多谢支持!我把新内核刷到板子上试了一下,似乎没有明显改善。IRQ在5Hz以上的频率就不能很好的计数了。多次测试在100Hz时,500个脉冲只采集到112-120个。我的简易测试程序已发到曹工邮箱,使用PWM1输出100Hz,50%的信号,持续5秒,开单独的线程由IRQ1计脉冲数。我在底板上用10K电阻把PWM1和IRQ1短接。

请帮忙看看究竟是哪里有问题。再次感谢!

主题最新回顾(发布时间:2013-4-19 9:58:00)
--  作者:cx(171.217.*.*)
--  

chang:新内核文件及相关资料已发您邮箱,请查收。


主题最新回顾(发布时间:2013-4-19 9:00:00)
--  作者:x10(182.138.*.*)
--  
我们原来的中断计数判得太严格了。已修改了驱动,更新一下内核,IRQ1是完全可以胜任你要求的脉冲计数功能的。请留一个邮件地址,我们把新的内核发给你。谢谢。