个人理财 电子工程:如何编程PBASIC子程序 - 傻瓜

电子工程:如何编程PBASIC子程序 - 傻瓜

视频: 【ライブ配信】予選Bシフト後半4G『第42回 JLBCクイーンズオープン プリンスカップ』 2024

视频: 【ライブ配信】予選Bシフト後半4G『第42回 JLBCクイーンズオープン プリンスカップ』 2024
Anonim

PBASIC子程序在使用BASIC Stamp处理器的电子项目中是非常有用的。一个 子程序 是程序的一部分,可以从程序的任何位置调用。当子程序结束时,程序的控制跳回到调用子程序的位置。

子例程是有用的,因为它们可以让程序的主循环中的很长一段程序分开,这简化了主程序循环,使其更容易理解。子程序的另一个好处是可以使你的程序更小。

<! --1 - >

假设你正在编写一个需要多次执行复杂计算的程序。如果将复杂的计算放在子程序中,可以从程序中的几个地方调用子程序。这样,你只写一次执行复杂计算的代码。

要创建和使用子程序,您需要使用两个PBASIC命令。第一个是GOSUB,它调用子程序。您通常在程序的主循环中使用GOSUB命令,无论何时调用子例程。第二个命令是RETURN,它总是子例程中的最后一个命令。

<! - 2 - >

要创建一个子程序,您可以从一个标签开始,并以一个RETURN命令结束。在他们之间,当你调用子程序时,你可以写任何你想要执行的命令。

下面是一个子程序的例子,它生成一个介于1到999之间的随机数,并保存在一个名为Rnd的变量中:

GetRandom:RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN

调用这个子程序,你可以简单地使用这样的GOSUB命令:

GOSUB GetRandom

这个GOSUB命令把控制权交给GetRandom标签。然后,当GetRandom子程序到达其RETURN命令时,控制会立即跳回到GOSUB命令之后的命令。

这是一个完整的程序,它使用一个子程序来获得1到1,000之间的随机数,并使用随机数使引脚0上的LED以随机间隔闪烁。你可以在任何一个基本印章电路上运行这个程序,这个印刷电路在引脚0上有一个LED。

'LED Blinker程序'Doug Lowe'2011年7月10日“这个程序随机闪烁引脚0上的LED'。{$ STAMP BS2} '{$ PBASIC 2.5} Rnd VAR Word Led1 PIN 0 DO GOSUB GetRandom HIGH Led1 PAUSE Rnd LOW Led1 PAUSE 100 LOOP GetRandom:RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN

当使用子程序时,你可以防止你的程序意外“落入”你的子程序,并在你不打算执行时执行它。例如,假设程序清单3-5中的程序使用FOR-NEXT循环而不是DO循环,因为您只想使LED闪烁100次。下面是一个 不是 程序的例子:

FOR Counter = 1 TO 100 GOSUB GetRandom HIGH Led1 PAUSE Rnd LOW Led1 PAUSE 100 NEXT GetRandom:RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN你知道为什么吗?在FOR-NEXT循环使LED闪烁100次之后,程序将在FOR-NEXT循环(子程序)之后继续执行下一个命令!为防止这种情况发生,可以使用另一个PBASIC命令END,它只是告诉BASIC Stamp你已经到达了程序的末尾,所以应该停止执行命令。你可以在NEXT命令后加上END命令,如下所示:

FOR Counter = 1 TO 100 GOSUB GetRandom HIGH Led1 PAUSE Rnd LOW Led1 PAUSE 100 NEXT END GetRandom:RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN >然后,程序将在FOR-NEXT循环结束后停止。

电子工程:如何编程PBASIC子程序 - 傻瓜

编辑的选择

添加新的SketchUp图层并在图层之间移动实体 - 虚拟图层

添加新的SketchUp图层并在图层之间移动实体 - 虚拟图层

是SketchUp非常有用的一部分,他们可以让你的生活变得更轻松。以下是如何在Sketchup中添加新图层以及如何将实体移动到不同图层的方法。添加新图层按照以下步骤将图层添加到SketchUp文件:选择“窗口”→“图层”。图层...

全部关于地理位置快照和SketchUp - 虚拟

全部关于地理位置快照和SketchUp - 虚拟

当您将地理位置快照导入SketchUp ,您可以访问Google庞大的地理数据存储库;快照不仅仅是漂亮的图片:导入快照地理位置自动定位您的位置。这意味着快照设置您的模型的经纬度,并定位在正确的主要方向。任何阴影研究你...

如何在SketchUp中使用场景动画区域

如何在SketchUp中使用场景动画区域

将区域视图与场景组合在一起以创建动画展示您的SketchUp模型都是一种有用且令人印象深刻的方式。基本的想法是,您可以使用场景来创建动画,其中您的剖面在您的模型中移动。以下是您可能需要使用此技巧的几个原因:如果...

编辑的选择

Drupal友好的网页寄存公司 - 傻瓜

Drupal友好的网页寄存公司 - 傻瓜

网页寄存公司为您提供访问Web服务器,您可以在其中安装Drupal并使您的网站在Web上可见。一些公司为您安装Drupal或为您提供一键安装,为您节省了一些工作量。如果您决定自己跳过Drupal的安装,请考虑通过以下方式之一获取帐户...

Drupal花园功能 - 傻瓜

Drupal花园功能 - 傻瓜

让您有机会查看和使用所有Drupal花园功能,可以创建一个新的站点,然后选择自定义选项而不是其中一个已安装的模板:确保已经登录,然后单击我的站点链接。这样做打开了Drupal花园站点经理。点击创建...

Drupal园林主题生成器 - 傻瓜

Drupal园林主题生成器 - 傻瓜

Drupal花园设置完成后,有一些乐趣和玩你的网站上的主题。使用Drupal Gardens Theme Builder控制网站的外观是与安装Drupal自身副本不同的主要方式。但是你不会错过太多...

编辑的选择

上一次显示一张照片(全屏播放)如何在您的照片上一次显示一张照片(全屏播放)尼康D5300 - 傻瓜

上一次显示一张照片(全屏播放)如何在您的照片上一次显示一张照片(全屏播放)尼康D5300 - 傻瓜

很可能您已经在尼康D5300上播放了播放模式。但是,在数码相机上查看照片有不同的选项。对于正常播放 - 即每次只能查看一张照片 - 请执行以下步骤:

如何自定义尼康D3300的优化校准 - 傻瓜

如何自定义尼康D3300的优化校准 - 傻瓜

当您使用尼康D3300的内置原始处理器,您可以尝试不同的优化校准设置,了解每个设置对图像的影响。当您使用免费的Nikon软件Nikon ViewNX处理图像时,您可以选择相同的选项。该程序的原始转换器,以及在Adobe Photoshop中找到的那些...

如何在HDMI屏幕上显示实时预览预览 - 假人

如何在HDMI屏幕上显示实时预览预览 - 假人

尼康D7100相机连接到HDMI(高清晰度多媒体接口)设备,以在该屏幕上查看实时显示输出。摄影师经常使用此功能,因为摄影师需要比相机显示器提供更大的主题。使用此选项时,会出现一些问题:...