主题:EM9170如何使用GPIO14的脉冲计数输入功能? 共有66210人关注过本帖 |
---|
yy |
1楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-4-17 9:28:00 [显示全部帖子]
你一定要使用GPIO14来进行脉冲计数吗?9170的IRQ1为GPIO10即CN13的11号针脚,光盘里有提供IRQ的例程,可用于脉冲计数。
|
单帖管理 | 引用 | 回复 |
yy |
2楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-4-18 9:45:00 [显示全部帖子]
我们的数据手册里,IRQ1是GPIO10,对应CN13的11号针脚。IRQ2是GPIO11,对应CN13的12号针脚啊。
IRQ2是可以使用的,见光盘的IRQ例程,里面有段注释的说明,要使用IRQ2需要调用SetIRQ(1);然后重启板子,之后就可以正常调用IRQ2了,不需要再调用SetIRQ(1);了。
|
单帖管理 | 引用 | 回复 |
yy |
3楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-4-22 9:30:00 [显示全部帖子]
你的意思是你每收到一个中断就用printf打印到屏幕上,然后通过远程桌面查看结果吗?
这样是一定会有问题的,因为printf打印的命令行每次变动都会重新刷新一次屏幕,正常的屏幕刷新10几次到20几次,当你一秒尝试刷新200来次是一定会导致CPU资源不够用的。你要么降低下屏幕打印的频率,要么用其他手段打印信息。
|
单帖管理 | 引用 | 回复 |
yy |
4楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-4-23 16:33:00 [显示全部帖子]
远程桌面大概会占大概50%的CPU资源,当CPU资源被全部消耗光就可能导致线程不能及时获取中断信息。
我们计划添加一个方法读取产生的中断总数,这样即使没有及时处理中断事件,依然可能通过该函数获得期间的中断计数。
|
单帖管理 | 引用 | 回复 |
yy |
5楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-4-24 9:36:00 [显示全部帖子]
最新内核已经修改了,我测试了下好的,你关注下我们网站,应该会整理下发布信息及最新下载的。
hIRQ为IRQ句柄 DWORD len; int inum; ReadFile(hIRQ, &inum, 4, &len, NULL); 就可以读出IRQ的总计数inum,每次调用ReadFile函数,这个计数就会清0重新计数。这样即使没有及时调用WaitForIRQ响应中断事件,也能记录IRQ中断数。 [此贴子已经被作者于2013-4-24 9:36:43编辑过]
|
单帖管理 | 引用 | 回复 |