大家好!本人是编程新手,现在需要编程实现CP340与智能仪表间的Modbus RTU协议通讯。在论坛看了一些达人们发的帖子,现在有些问题向各位请教:
1.有些达人说CP340通过ASCII码协议实现RTU协议,那么请问每帧数据发送前是不是要手动编程将数据帧转换为ASCII码字符串?还是发送块FB3会自动帮你转换呢?如果自动转换的话,那么RTU从站接收的数据不就是ASCII码字符串吗,他能识别数据帧的内容吗?
2.同理,CP340接收RTU从站发送过来的数据时,接收到的是ASCII码还是16进制数呢,接收时FB2会不会认为接收到的是ASCII码而自动将接收过来的数据转换为16进制数呢?
3.我的CP340是RS485接口的,数据发送和接收是不是不能同时进行?如果是,那么我在发送一帧数据后,应该延时多长时间调用接收命令接收数据,或者说RTU从站在接到主战的请求命令后多长时间发出响应命令,是一直重复不断地发送响应命令还是只发送一次呢?
最后,哪位达人如果成功实现了CP340 Modbus RTU协议通讯,能不能把源代码分享一下,让我这个新手学习一下,CRC校验部分程序可以不要,只要发送和接收过程的代码就行。谢谢各位!