我是一个小公司,公司现在要开发一个煤矿管理系统,现在单片机的程序研发结束了。
单片机的数据格式,命令及命令格式,都以文档的形式给我了。
我现在想用C#与其通讯。
单片机:P89V51R
单片机接口:现用的是电话线。RS-232接口同时也在开发中。
我应该如何做,给出思路,附加代码分析更好。先谢过各位了。
附加代码肯定是不可能的,你还没有阐述清楚是通过电话线通讯还是通过rs232通讯,按理针对这样的应用,RS232通讯可能性不高的,不过你可以使用透明协议设备来中继RS232
如果是RS232的话,直接使用.NET中的SerialPort组件即可
只要有办法让电脑与单片机通信,C#就能做。
如果有电脑与单片机通信的API,C#直接调用API就可以了。如果没有,你可以试着自己做这个API,因为你手头上有资料,你可以用C/C++做个串口、并口通信的函数库,然后利用这个函数库封装一个单片机的控制库(由于你已经有了数据格式、命令以及命令格式,因此这个实现并不会太难)。最后,在C#中用p/invoke调用这个控制库即可。
cnming
为什么RS232通讯可能性不高呢?
现在单片机与PC数据的传输用的是电话线。
如果用RS232,vs2005自带的组件serial可以是吗?
RS232的传输距离不超过15米。
你没有说电话线和PC如何连接?
使用MODEM的话,对PC机编程而言就是串口。
vs2005自带的组件serial就可以完成串口的通讯。
SERIVALPORT现成的控件,就在SYSTEM。IO的空间下,你看一下就OK。
你确认单片机接口是电话线?
那弄个猫就好了,上位机用串口
只说到线,没说单片机与电脑通信用的是什么口?
还是什么通信口没确定,只是确定了用电话线做传输?
你的通讯距离有多元,也就是下位机个数及网络格式,
1),现在也有RS232 转 双绞线的 TCP/IP 集线器,长距离用双绞线末端又用转回RS232
2),用RS232转为RS485 最长可1km,在接250个端口,用IP访问控制,
软件上:
根据实际情况用API控制即可,因为windows已经傻瓜试将RS232端口控制已经做到
用API简化,只要你合理使用即可。
可以的,现在的GPS很多都是c#+串口
楼主,这方面有不少书的。