2014-04-01 62 views
1

我对单声道和C#非常陌生,但我想使用套接字通过CAN打开通信。问题在于许多协议都是由地址族实现的,但目前为止,单声道并不支持CAN。系统内核支持它,但我不可能以这种方式修补文件以进入SystemCall级别。所以,如果有人读到这个人是非常好的单声道开发社区的一员,请帮助我和其他许多需要此功能的人。自从三个星期以来,我搜索了任何内容,并试图找到自己的解决方法来实现它,但直到现在还没有成功。即使我的问题不会在stackvoerflow的这个问题上得到解决,我希望能够激励那些比我更好地改进单声道和硬代码的人,这样其他人就可以用CAN和单声道轻松工作。 S我认为基本问题是,变量AF_CAN和PF_CAN不是以单声道实现的。我尽力通过添加PF_CAN和AF_CAN与价值29调整这些文件,但它并没有为我工作使用单声道的SocketCAN C#

.../mono-3.2.8/mono/metadata/socket-io.c 
.../mono-3.2.8/mcs/class/System/System.Net.Sockets/AddressFamily.cs 
.../mono-3.2.8/mcs/class/System/System.Net.Sockets/ProtocolFamily.cs 

我希望帮助,因为它都在那里,但我不能把它放在一起。有了C,很容易以这种方式打开一个插座,而CAN总线工作正常,但单声道一个小石头不见了,以使其一切工作。

问候 本

回答

1

最简单的解决办法是用C来写一个图书馆,一个处理SocketCAN的东西,然后就调用从C#代码库的调用。请参阅tutorial

另外,你可以看看socketcand并实现其基于TCP的API。