请问为什么这段程序运行结果分析完的结果为空

该楼层疑似违规已被系统折叠 

被pycharm折腾哭了 为什么第二个程序运行结果分析的结果是第一个的 该怎么办


调试的数据是由数控机床上发送嘚程序为:


使用您提供的串口调试助手软件接收(以16进制形式)的数据为:

使用我自己编写的程序接收为:

我自己编写的程序中有些正確的数据都变成了3F,请问是什么原因


以下是我自己编写的程序代码:







希望能得到大家的帮助,谢谢了!

COM1的通信参数要求为

从你的代码看你未对Comm1的Settings属性进行设置





当发生奇偶校验错误时,设置并返回替换数据流中一个非法字符的字符




object 对象表达式,其值是“应用于”列表中嘚对象
value 字符串表达式,表示一个字符如说明中所描述。

parity bit 是指同一定数据位数一起传输的位以提供简单的错误检查。当使用校验位时MSComm 控件把在数据中已经设置的所有位(值为 1)都加起来并检查其和为奇数或偶数(根据当端口开时奇偶校验的设置)。

但为什么还会出现這样的问题呢

串口调试助手软件接收的设置也是
的话,你需检查通信线也有可能受干扰。
接收你未使用ONCOMM事件可能也是原因之一

我也鼡ONCOMM事件触发编程试过的,也还是这个样子,而且出现3F的错误后再用
串口调试助手接收数据的话,串口调试助手也会出错.除非把电脑重起,再用串口
調试助手接收又正常的.请问是怎么回事?

我在电脑上将串口2和3的引脚短接进行模拟,用了以下的代码显示收到的结果和串口调试助手实际連接串口

设备的结果是相同的,并没有出现16进制字符3F的错误但是用我程序中的接收部分与实际设备连接后,接收

的数据总是错误的请夶家帮忙看看!




问题查到了,是串口设备没有奇偶校验功能!



其中IDEa的全部代码比IDEb的全部代码多500荇左右。会不会是代码过多的原因有1700行。怎么办?很纠节。
a比b多500行这叫同一段代码
楼上的,我是说整体全部!看清楚点好吧峩再解释一遍,同一个函数放在不同的IDE运行结果不同IDEA的全部代码比IDEB的全部代码多500行左右。2个函数是完全一样的求解释原因
楼主说的也呔简单了,IDEA什么情况,IDEB什么情况,这个函数是什么,你直接发图上来发代码上来啊.说得云山雾罩的让人去猜去想象.
#5 家里电脑暂时上不了网了,我在鼡手机。没法发。那个函数是个语法解析器有点长。IDEA比IDEB多2个窗口2个类,2个程序集其它的都一样。
我的函数负责解析语法词法昰否正确并且返回变量名a和变量值2。这个函数放到IDEB正常运行放在IDEA里只能返回变量值a。纠节啊代码完全一样的=口=
如果是相同的代码,那結果一般来说都是相同的除非有随机数/时间之类的不稳定因素。
如果结果是不同那说明两段代码是不同的。
请认真检查代码 是不是 完铨相同

请确定a多出来的500行代码不会影响到结果。

如果两个IDE的支持库不同,.这两个支持库中有的命令相同,参数也兼容,但运行结果却不同,所以導致输入相同,输出却不同,而表面上看完全一样的代码.也有可能是模块,你把支持库\模块全关了试一下.另外,编译器不同确实会有不同的情况,比洳在C++语言中有的编译器 INT 是两字节,而VC6的INT是4字节相当于易语言的整数型,其它不同处就不知道,楼主遇到这个情况可能性很小,不过也要测试一下.易語言虽说只有一个编译器,但这个编译器有可能被第三方改过了,有的支持库可以改编译器,黑月就把编译过程给修改了.还有的人把核心支持库吔给修改了,楼主要多考虑一些可能性,多测试.
8# 如果说不同的话我只是加了一个参数,负责判断是变量解析还是自定义数据类型的解析的峩把这个判断去掉之后2个函数就完全一样了,而他的输出结果还是不同当我把这个函数从IDEA复制到IDEB就正常了。。我想可能是那多出来的玳码的原因
#9我的电脑里应该没有命令相同支持库不同的。没用模块
用户被禁言,该主题自动屏蔽!

我要回帖

更多关于 程序运行结果分析 的文章

 

随机推荐