资料介绍
描述
当您获得一块新电路板时,如果您没有一些先前的知识,您可能无法开箱即用。这是相当令人沮丧的。所以这个项目想让每个人都开始使用电子产品和 Swift 语言。相信我,这并不像你想象的那么难。让我们更详细地研究一下。
一开始,我们肯定会从 hello world 项目开始——让 LED 闪烁。您将交替打开和关闭 LED 以使其闪烁。
第 1 步:您需要什么
- SwiftIO 板
您会注意到有一个板载 LED。所以你只会在这个项目中处理它,不需要其他组件。
第 2 步:什么是数字输出
数字信号通常有两种状态,其值为 1 或 0。对于 SwiftIO 板,1 代表 3.3V,0 代表 0V。同样的意思还有其他表达方式:高或低,真或假。
在这个项目中,您将控制输出电压来打开或关闭 LED。
第 3 步:关于 LED
LED或发光二极管是一种二极管。它有正腿和负腿。只有当你以正确的方向连接它时,电流才能流动。
LED有两种连接方式:
- 将 LED 连接到电源和数字引脚。由于电流总是从高电压流向低电压,如果管脚输出高电压,则LED两端没有电压差,所以LED熄灭。只有当引脚输出低电压时,电流才能从电源流到引脚,LED 才会亮。这就是板载 LED 的工作原理。
- 将 LED 连接到数字引脚和接地。如果引脚输出高电压,电流从引脚流向地,LED 将亮起。如果它输出低电压,则 LED 熄灭。
你可以在你的板上找到一个 RGB LED。它有三种颜色:红色、绿色和蓝色。当您下载代码时,它会用作状态指示器。此外,您还可以通过设置输出电压来控制其颜色和状态。
由于有三种颜色,您可以点亮其中的任何一种:如果打开红色和蓝色,您会注意到它呈现洋红色。如果三个都亮,LED 似乎是白色的。
而板载 LED 在内部连接到 3.3V。如果将其设置为高压,则实际上将没有电流。所以当你施加低电压时它会被点亮。
第 5 步:代码
/* Import the SwiftIO library to use everything in it. */
import SwiftIO
/* Import the board library to use the Id of the specific board. */
import SwiftIOBoard
/* initialize the blue LED */
let led = DigitalOut(Id.BLUE)
/* The code here will run all the time. */
while true {
/* Set Blue LED off. */
led.write(true)
/* Interval of LED blink (milliseconds). */
sleep(ms: 1000)
/* Set Blue LED on. */
led.write(false)
sleep(ms: 1000)
}
第 6 步:代码分析
要对 SwiftIO 板进行编程,您需要下载MadMachine IDE来编辑和构建代码。
安装后,打开它并创建一个新项目。在文件main.swift
中,您可以粘贴上面的代码。
让我们详细看一下代码:
import SwiftIO
import SwiftIOBoard
SwiftIO包含控制您的电路板的所有功能。所有程序都必须首先引用它,以便您可以使用其中的所有内容,例如类和函数。
SwiftIOBoard定义了这个板子对应的 pin id。不同板子的管脚不同。所以这个库告诉 IDE 你正在处理 SwiftIO 板,而不是任何其他板。然后你可以使用其中的id。
let led = DigitalOut(Id.BLUE)
在设置特定引脚之前,您需要对其进行初始化。
首先,声明一个常量:使用关键字let
,后跟一个常量名。led
然后使其成为DigitalOut
类的实例并初始化该引脚。
要初始化 pin,您需要指明其 id。所有的 id 都列在一个 enum 中,内置的 RGB LED 使用 RED、GREEN 或 BLUE 的 id,因此这里的蓝色 LED 的 id用点语法写成。Id.BLUE
while true {
led.write(true)
sleep(ms: 1000)
led.write(false)
sleep(ms: 1000)
}
在死循环while true
中,括号中的所有代码都会一遍又一遍地运行,除非您关闭代码。此处,该引脚输出高电压,然后休眠 1 秒。所以在最初的 1 秒内,总是有一个高电压。同样,在接下来的 1s 内,该引脚输出低电压。
该方法write(_:)
用于设置引脚输出高电压或低电压。其参数为布尔类型:true
或false
:true对应高电平,false对应低电平。如上所述,您需要设置一个低电压来打开 LED。
sleep(ms:) 函数表示延迟时间,以毫秒计算。必须添加参数名称才能传入参数。ms
第 7 步:运行项目
完成代码后,是时候将其下载到您的开发板上了。
确保 SD 卡已插入插槽。按下载按钮。
等待几秒钟。您会注意到板载 LED 变为绿色常亮,并且 IDE 状态栏中的消息表明板已准备就绪,然后您可以单击 IDE 上的下载按钮。
下载代码后,板载 LED 开始闪烁。
- 使用Swift语言通过按钮控制LED
- 使用Swift语言一个一个地闪烁RGB LED
- 使用Swift语言更改LED闪烁率
- 使用Swift语言控制伺服
- 单片机实验:P0端口驱动LED闪烁(Proteus仿真+C语言程序)
- 使用单片机实现TIMER0控制LED闪烁的C语言程序免费下载 7次下载
- 单片机C语言程序设计实例之闪烁的LED 5次下载
- 使用单片机实现闪烁1个LED的C语言程序实例免费下载 9次下载
- 使用单片机实现不同频率闪烁多个LED灯的C语言程序实例免费下载 15次下载
- 使用单片机实现不同频率闪烁1个LED灯的C语言程序实例免费下载 9次下载
- 苹果Swift语言入门教程中文 2次下载
- 用C语言编写程序实现通过按键使LED灯周期闪烁 10次下载
- LED闪烁程序【C语言+汇编版】 0次下载
- LED灯闪烁程序【汇编版】 0次下载
- LED灯闪烁程序【C语言版】 0次下载
- 三种种常用的LED闪烁电路 1522次阅读
- 一个带有闪烁LED的门铃电路 2141次阅读
- LED平板灯闪烁的原因 1.8w次阅读
- 一种可以实现无闪烁LED照明的灵活的纹波抑制电路介绍 1967次阅读
- 闪烁LED构成的闪光电路 1.1w次阅读
- 声控闪烁LED灯电路 1.4w次阅读
- 带闪烁LED的门铃电路讲解 5516次阅读
- 关于led射灯在闪烁时的解决办法 9644次阅读
- 如何采用PIC单片机的C代码来控制LED闪烁 2158次阅读
- 详解无闪烁LED驱动调光控制设计 3820次阅读
- LED灯闪烁是怎么回事 1.9w次阅读
- 最全关于关灯LED微亮和节能灯闪烁的问题分析 8973次阅读
- 单片机闪烁灯汇编语言源代码大全(四款闪烁灯的汇编语言源代码) 2.5w次阅读
- LED闪烁灯制作教程 2.5w次阅读
- 单片机C语言程序设计之定时器控制4个LED滚动闪烁 7565次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多