回复:个人根据工作经历整理的一本书,对其中问题感兴趣或需要解决的朋友,提出来共同交流。因部分涉及到企业知识产权,恕不打包发邮箱

已锁定

Hare731918028

  • 帖子

    18
  • 精华

    0
  • 被关注

    18

论坛等级:游士

注册时间:2023-04-03

普通 普通 如何晋级?

发布于 2024-01-10 11:26:42

61楼

展开查看
以下是引用will666在2024-01-09 13:31:34的发言 >57楼

六、 接口Input、InOut、Output不同结果这个问题我也考虑过,楼主有什么经验和见解吗?

根据编程遇到的问题总结,大体有以下几点纲要,具体案例贴不出来.
1、InOut写在OutPut中,监控该值时,不能在线修改为0。


2、IN(只读)变量定义在INOUT中,造成的问题程序段大部分时间正确执行,偶尔出现随机问题,如果是触摸屏关联此变量,会出现“这个按键不灵”的假像。

结论:只需要读的变量如果定义在INOUT中,如果此程序一直扫描,有可能会导致这个变量在它本该写的地方随机性出现写不进去的现象


3、Output只写变量定义在了INOUT中

案例:直线交叉带与串口服务器通信,会误动作一些特定位置的小车(必现)


总结:

      in out参数,每次调用函数(功能)时,都将这个实参的值赋值给形参(L变量区,也叫临时变量区),函数内部处理完成后,将这个形参(临时变量)的计算结果再返回给实参。如果函数内部没有对这个参数进行任何操作,则实参的值不会改变,并且是确定的。

     out参数,则调用前不会赋值给形式参数 (L区临时变量)。只是函数(功能) 内部处理完后,将形参的值赋值给实参。如果函数内部没有确定这个形参的值(函数内部没有对这个参数进行处理),则out实参的值是不确定的。

     注意两者除了二次使用触点外,还有个明显的区别:确定与不确定。由于L区变量公用,调用之前如果没有对这个L区变量进行赋值或内部计算确定结果,则这个临时变量可能是其它函数的处理结果

(当然,如果你只有一个子程序的话,可能就你一个人使用到L区变量,别人没有干扰你)




评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

谈天说地

共有14328条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。