主题:EM9170 使用COM的问题 共有91801人关注过本帖 |
---|
![]() shtupc |
1楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
EM9170 使用COM的问题 ![]()
使用EM9170的COM4扩展成RS485接口,485芯片的数据方向使用RTS4(GPIO8)控制,经测量,RTS4始终为高电平(3.3V左右),这样就无法正常的收发,请问是什么原因?
|
单帖管理 | 引用 | 回复 ![]() |
![]() lqk |
2楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
需要使能串口的RTS_CONTROL_TOGGLE功能,在EM9170数据手册第10页有详细描述。http://www.emtronix.com/download/em9170_data.pdf
|
单帖管理 | 引用 | 回复 ![]() |
![]() shtupc |
3楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]() 我看到说明上说是需要执行如下操作,dcb.fRtsControl = RTS_CONTROL_TOGGLE 我使用的是VS2005中的vb.net,不是c#,在vb.net中怎么操作呢 |
单帖管理 | 引用 | 回复 ![]() |
![]() yy |
4楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
.net库里好像没有RTS的设置功能,只能通过API来调用了。这样效率不是很高,可以考虑用C写个动态链接库然后给VB去调用。
|
单帖管理 | 引用 | 回复 ![]() |
![]() shtupc |
5楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]() 查了一天资料,网上倒是很多实用vb.net调用API实现设置RTS的例子,也可以设置 fRtsControl = RTS_CONTROL_TOGGLE,但还是不行,RTS4管脚一直是高电平,EM9170的COM4只能接受数据,无法向外发送,谁能帮着看一下怎么解决啊,用C写动态库我也不会啊。
另外光盘上的c#例子中,关于串口的示例,COM4 也是只能接收,不能发送,我看了一下,使用的是c#的串口控件,能否改写成正常收发的程序。
英创的工程师能给写一个么?着急用啊,可以直接联系我。 [此贴子已经被作者于2013-1-19 10:46:06编辑过]
|
单帖管理 | 引用 | 回复 ![]() |
x10 |
6楼 |
![]() |
![]()
在我们底板上的RS485电路,采用的是自动方向切换的方式,不需要用硬件RTS。c#的现有API肯定是不能操作DCB设置的,但可以用c#调用DeviceIoControl来设置RTS_CONTROL_TOGGLE,从而实现控制RTS管脚的目的。因为今天周末,我先联系一下我们C#的工程师,如果不行的话,周一上班一定解决。
|
单帖管理 | 引用 | 回复 ![]() |
![]() shtupc |
7楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]() 我设计的板子是用RTS管脚控制数据流的方向的,所以没办法,尽快帮我解决一下吧,最好能编写个动态链接库,我用VB.Net调用,不然实在没招了。 |
单帖管理 | 引用 | 回复 ![]() |
x10 |
8楼 |
![]() |
![]()
孙老师,我们工程师来了,他很快会把我们做的一个COM组件发给你。该组件目前只支持简单的数据收发,需要事件的话,我们周一改好后,再给你发去。
|
单帖管理 | 引用 | 回复 ![]() |
![]() yy |
9楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
我先发你邮箱一个串口的COM组件(C代码+dll)给你,默认是使用了RTS控制的。但是不是事件机制,你必须用轮询的方式去查看串口是否有数据。就4个接口,OpenPort,WritePort,ReadPort,ClosePort。
我准备周一写一个带事件的COM组件,和一个C#直接调API的例程给你,周末你可以先用COM组件这个试试。
|
单帖管理 | 引用 | 回复 ![]() |
![]() shtupc |
10楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
邮件没收到啊?是发到 shtupc@163.com ?
|
单帖管理 | 引用 | 回复 ![]() |
![]() yy |
11楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
我发到congc624@163.com这个邮箱了,我又发了一次,你查收下。
|
单帖管理 | 引用 | 回复 ![]() |