主题:EM9170如何使用GPIO14的脉冲计数输入功能? 共有66218人关注过本帖 |
---|
chang |
1楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
EM9170如何使用GPIO14的脉冲计数输入功能? Post By:2013-4-17 2:34:00 [显示全部帖子]
请问如何进行脉冲计数,相关的API函数是什么?
脉冲达到预定数量后能否产生中断? 谢谢
|
单帖管理 | 引用 | 回复 |
chang |
2楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-4-18 0:38:00 [显示全部帖子]
脉冲间隔最小5ms.
|
单帖管理 | 引用 | 回复 |
chang |
3楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-4-18 0:41:00 [显示全部帖子]
以下是引用yy在2013-4-17 9:28:00的发言: 你一定要使用GPIO14来进行脉冲计数吗?9170的IRQ1为GPIO10即CN13的11号针脚,光盘里有提供IRQ的例程,可用于脉冲计数。 不是我一定要用, 你们的数据手册里写了GPIO14是脉冲输入啊,所以我硬件按照GPIO14来设计的。没有相关API支持吗? 如果用IRQ,可以用IRQ2吗? |
单帖管理 | 引用 | 回复 |
chang |
4楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-4-19 4:36:00 [显示全部帖子]
我的应用中需要对脉冲进行计数,脉冲的周期在5-10ms,占空比20%-80%。我不需要测量脉宽,只是要准确计数。
我在评估板上测试了一下,用PWM1输出占空比50%的方波,用IRQ1计数,程序使用光盘中的例程稍加修改。发现PWM频率在10Hz以上(100ms周期)IRQ计数就跟不上了,漏了很多。 IRQ1的驱动程序究竟能有多快的响应? 另外,函数WaitForIRQ( HANDLE hIrq, DWORD dwTimeout )中的dwTimeout,按字面理解,应该是超过此预设时间之后没有接受到中断就退出阻塞,对吧?单位是ms吗?我试着设了一下,没看出效果。
|
单帖管理 | 引用 | 回复 |
chang |
5楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-4-20 6:07:00 [显示全部帖子]
程博士,曹工,yy各位,多谢支持!我把新内核刷到板子上试了一下,似乎没有明显改善。
请帮忙看看究竟是哪里有问题。再次感谢!
|
单帖管理 | 引用 | 回复 |
chang |
6楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-4-21 19:33:00 [显示全部帖子]
情况更新:
我一直是用remote display显示屏幕数据,昨天尝试了不开remote display,直接将捕获的中断数量写入一个文件再事后检查,发现中断数量基本正常了。 在200Hz以上明显开始有偏差,但由于确切的脉冲数量我手头没有工具测量(完全依赖于板上PWM输出频率和时间计算),所以并不确定是中断响应不上还是脉冲数本来就是那么多。 无论如何,从目前单个线程的情况来看应该可以满足项目的要求了。接下来会继续测试,也请英创的各位帮忙准确测试脉冲的捕获响应实时性。 多谢各位!
|
单帖管理 | 引用 | 回复 |
chang |
7楼 信息 | 搜索 | 邮箱 | ||||||||||||||||||||||||||||||||
加好友 发短信 |
Post By:2013-4-21 19:35:00 [显示全部帖子]
结果列表:
|
||||||||||||||||||||||||||||||||
单帖管理 | 引用 | 回复 |
chang |
8楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-4-23 0:50:00 [显示全部帖子]
我是收到所有中断后一次性打印结果,不是收一个打一个。现在发现只要不开remote display就可以。只是条件所限,我现在还不能精确测试。
|
单帖管理 | 引用 | 回复 |
chang |
9楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-4-24 3:33:00 [显示全部帖子]
如果能有这样的函数就更好了,最好能提供两个方法:一个读取中断总数,一个将其清零以重新计数。
|
单帖管理 | 引用 | 回复 |