找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 5826|回复: 14

我的模块和主程序变量 数据交换?

[复制链接]
发表于 2013-1-24 17:16:52 | 显示全部楼层 |阅读模式
悬赏10乐币已解决
在程序和我的模块之间共享信息

为了在主要程序和“我的模块”之间共享数据(例如,在两个 .rbt 文件之间),需要执行两项操作:
  • 定义主要程序和“我的模块”内具有相同名称和数据类型的变量。
  • 使用主要程序和“我的模块”中“变量”模块内的该变量。
任何使用变量的位置将读取/写入 NXT 上相同存储器位置。



这几句话不懂 最好有图片

最佳答案

查看完整内容

其实这两句话合起来就是一个意思,在主程序中、在自定义的“我的模块”中,相同名称和类型的变量,其实是同一个变量,在一个地方修改这个变量的数据,整个程序中(不管是主程序里的,还是“我的模块”里的)的这个变量数据都会一起更改。 括号中的翻译,稍微有些问题,一会儿我去修改(在此谢谢你发现了这个问题)。括号中的意思是说,主程序和“我的模块”就相当于两个rbt程序。 ...
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-1-24 17:16:53 | 显示全部楼层
其实这两句话合起来就是一个意思,在主程序中、在自定义的“我的模块”中,相同名称和类型的变量,其实是同一个变量,在一个地方修改这个变量的数据,整个程序中(不管是主程序里的,还是“我的模块”里的)的这个变量数据都会一起更改。
括号中的翻译,稍微有些问题,一会儿我去修改(在此谢谢你发现了这个问题)。括号中的意思是说,主程序和“我的模块”就相当于两个rbt程序。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-1-24 19:08:09 | 显示全部楼层
第一句的意思是,主程序和“我的模块”中同样名称、类型的变量其实是同一个变量,如果你在主程序中修改了这个变量中的数据,“我的模块”中这个变量的数据会同时被更改,反之亦然。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2013-1-24 19:11:21 | 显示全部楼层
barzz 发表于 2013-1-24 19:08
第一句的意思是,主程序和“我的模块”中同样名称、类型的变量其实是同一个变量,如果你在主程序中修改了这 ...

今天试了下 ,读取不了值?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2013-1-24 19:15:58 | 显示全部楼层
mtllmt 发表于 2013-1-24 19:11
今天试了下 ,读取不了值?

主程序: (随便编写) 变量写入零  马达运行  在到模块  循环  
分支: 变量值  显示屏幕   

主程序

主程序


模块: 光感测到值大一   正确 就走一步 在加一 写入变量  

模块

模块



问题是  主程序的变量  和模块 同样名字  属性  但是数据不共享。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-1-24 19:26:27 | 显示全部楼层
怎么判断出数据不共享的?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2013-1-24 19:35:34 | 显示全部楼层
barzz 发表于 2013-1-24 19:26
怎么判断出数据不共享的?

屏幕显示不出来值  如果不建立我的模块   可以显示值
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-1-24 19:43:29 | 显示全部楼层
如果没有我的模块,在这个程序中,变量的值就是程序开始时写入变量的值。
在显示的分支中,一个循环的时间非常短,因为变量的数值没变化,每次显示出来的,都是同一个值,所以你能看到。
当你加上我的模块后,每次循环中,显示出的值都是不同的,在几毫秒的时间里显示出一个值,然后就显示下一个值,你就觉得看不到显示了。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2013-1-24 22:02:04 | 显示全部楼层
barzz 发表于 2013-1-24 19:43
如果没有我的模块,在这个程序中,变量的值就是程序开始时写入变量的值。
在显示的分支中,一个循环的时间 ...

你这种情况 我知道,循环显示时候很快速度  但是 主程序变量一开始写入零,后一直循环循环里的程序,循环的变量在改变   没有可能程序还要重新计算下 开通的变量值  ,都不在循环里啊。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-1-24 22:24:58 | 显示全部楼层
没看懂你的意思。
如果去掉“我的模块”,这个程序运行时,应该显示你写入变量的值,是这样吗?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2013-1-24 22:29:30 | 显示全部楼层
barzz 发表于 2013-1-24 22:24
没看懂你的意思。
如果去掉“我的模块”,这个程序运行时,应该显示你写入变量的值,是这样吗?

去掉我的模块 正常意思是: 不单指显示,其实上面图片只是我的一个扫描程序,在主程序里我还要有个解决问题步骤的程序, 这个解决步骤程序根据‘变量’数值来判断运行,值不对,解决问题程序就不启动。这样明白吗?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2013-1-24 22:32:19 | 显示全部楼层
mtllmt 发表于 2013-1-24 22:29
去掉我的模块 正常意思是: 不单指显示,其实上面图片只是我的一个扫描程序,在主程序里我还要有个解决问 ...

未命名.jpg

解决问题程序  ,在主程序里面   上面图只是大概意思。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-1-25 08:23:05 | 显示全部楼层
你的问题我解释不了,在同一个程序中,模块和主程序的同一变量,数据确实是同时被更改的。或许看看程序中是否有其他逻辑上的问题,没看到程序,我不好判断。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-5-11 00:41:14 | 显示全部楼层
重新自己定义一个新的变量就可以
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-5-15 18:50:47 | 显示全部楼层
本帖最后由 捞屎人 于 2013-5-15 19:25 编辑

g语言 没有 局部变量
不知道你问什么   看标题似乎是 想在主函数设置子函数的参数的问题   如果是这个  可以从子函数(模块)牵线出来
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-5-12 15:58 , Processed in 0.114540 second(s), 24 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表