2021年初,树莓派的Pico板一出来,我就拿到了Cytron提供的beta版,用micro Python和c编程。
我从官方文档入手,以快速使用树莓Pi Pico运行Ubuntu 20.04操作系统的电脑入门指南为操作案例,记录了每一个细节,即使是LED闪烁这样的小事也会纳入收藏范围。另外,Windows和Mac操作系统的描述也差不多。
准备硬件
从理论上讲可以单独开始使用开发板,但由于板子有一些接头,因此便借机尝试由MINIX NEO P2 USB-C电源供电的Pining*** Pinecil烙铁。
理论上,你可以开始单独使用开发板,但由于板有一些接头,你可以尝试由MINIX NEO P2 USB-C电源供电的Pining*** Pinecil烙铁。
焊接准备工作
烙铁工作了大约一分钟,开始出现焊接问题……看着屏幕,可以看到Zzzz并且温度下降。因为焊锡不够,所以我没有移动烙铁,因此未检测到任何活动而后进入睡眠状态。更改运动灵敏度或睡眠超时可以轻松地解决此问题,同时,我可以完成手头的任务。
烙铁工作了大约一分钟,焊接问题开始出现...看屏幕,可以看到Zzzz,温度下降。因为焊锡不够,所以没有动烙铁,所以没有检测到任何活动,就睡了。改变运动敏感度或者睡眠超时可以轻松解决这个问题,同时我也可以完成手头的任务。
焊接完成图
不使用这些头是一个耻辱,所以我将树莓派Pico插入到面包板,并增加了一个LED与附带的电路。
不用这些头太可惜了,所以我把树莓Pi Pico插在面包板上,加上一个LED,附带电路。
使用面包板
5V 连接到 VBUS(引脚 40),GND 连接到引脚 38,我决定使用最靠近 LED 的 GPIO 即 GP15(引脚 20)。树莓派Pico上的GPIO标记仅显示在板的底部,当板连接到面包板时,原理图会有所帮助。
5V连接到VBUS(引脚40),GND连接到引脚38。我决定使用GP15(引脚20),它离LED最近。树莓派Pico上的GPIO标志只显示在板子底部。当电路板连接到面包板时,原理图会有所帮助。
草莓派微微示意图
现在硬件已经设置好了,我只需要一根监控USB转USB-A线将电路板连接到我的笔记本电脑上。
树莓皮上的微红
首先,我们应该将MicroPython固件烧录到主板中。为此,您可以从入门指南中下载最新的固件(
pico _ micropython _ 2021 01 21 . uf2,在审计时)。
其次,用USB口连接电脑时,按板上的BOOTSEL键,连接后松开键。我说了,但是什么也没发生。那是因为我用的是自行车灯的USB线,缺少数据线...
最后,我选择一个适当的Micro USB到USB-A型电缆,树莓派Pico顺利在我的笔记本电脑上正确识别了:
最后,我选择了一根合适的Micro USB转USB-A线,树莓Pi Pico在我的笔记本电脑上成功且正确地识别出来:
到“CNX软件中文站”官网查看完整信息。
为RPI-RP2大容量存储设备安装设备。
为RPI-RP2大容量存储设备安装设备。
安装的RPI-RP2
将
pico_micropython_20210121.uf2文件***到驱动器后, 它会自动卸载且作为串行设备重新启动:
将
pico _ micropython _ 20210121 . uf2文件***到驱动器后,它将作为串行设备自动卸载并重新启动:
到“CNX软件中文站”官网查看完整信息。
此时,Raspberry Pi网站上的入门指南用处不大,只好改用Python SDK文档(PDF)。
该文档使用minicom进行串行控制台,但鉴于Bootterm更容易使用故我更中意它。无论您在何种情况下进行 Linux 编程,请确保当前用户已添加到dialout组,否则您需要将所有程序作为root用户身份运行:
本文档使用minicom进行串行控制台,但我更喜欢Bootterm,因为它更容易使用。无论你在什么情况下编程Linux,都要确保当前用户已经被添加到拨出组,否则你需要以root身份运行所有程序:
到“CNX软件中文站”官网查看完整信息。
Bootterm正确检测到ttyACM0端口,所以我只运行”bt”来访问MicroPython REPL接口,并键入一些MicroPython命令。
Boot正确检测ttyACM0端口,所以我只运行“bt”来访问MicroPython REPL接口,并键入一些MicroPython命令。
到“CNX软件中文站”官网查看完整信息。
我可以打开板载LED (GP25),但当我对面包板上的LED (GP15)执行相同操作时,它不起作用。我重新检查了电路,用万用表检查了电压,发现GP25还是拉得很低。网络搜索显示GP15在circuit Python中被禁用,因为它干扰了USB接口。
GP15由内部USB外设使用,因此不应有意使用。
MicroPython也是如此,所以我切换到相邻的引脚(GP14,引脚19):
MicroPython也是如此,所以我切换到相邻的引脚(GP14,引脚19):
前往“CNX Software中文站”官网,查看完整信息
到“CNX软件中文站”官网查看完整信息。
成功的巡回赛
果然,成功了!如果您想了解有关MicroPython API 的更多信息,请按 Ctrl+B 并输入帮助():
果然有效!如果您想了解更多关于MicroPython API的信息,请按Ctrl+B并输入help():
到“CNX软件中文站”官网查看完整信息。
Ubuntu 20.04 确实有Thonny 3.2.7 在其存储库中, 我们可以使用 sudo apt install thonny进行安装,但它不支持树莓派Pico, 因此, 我用pip3安装了最新版本的程序(v3.3.3):我们可以用”Ctrl+”后面跟着”q”退出bootterm。但如果我们想在板上保存Python程序并自动运行呢?我在Python SDK文档中未见到任何关于这一点内容,所以我不得不跳到第三个指南,找到的最佳方法是使用Thonny。
Ubuntu 20.04的库中确实有Thonny 3.2.7。我们可以用sudo apt install thonny来安装,但是不支持草莓派Pico。所以我用pip3安装了程序的最新版本(v3.3.3):我们可以用“Ctrl+”后跟“Q”退出bootterm。但是如果我们想把Python程序保存在板子上自动运行呢?我在Python SDK文档中没有看到任何关于这个的内容,所以我不得不跳到第三个指南,找到它的最好方法是使用Thonny。
到“CNX软件中文站”官网查看完整信息。
然后,我进入运行->选择解释器…选中“MicroPython(草莓派Pico)”。
选择MicroPython
从用户界面,我可以输入一些代码来关闭板载LED:
在用户界面中,我可以输入一些代码来关闭板载LED:
代码示例
为了以一秒的间隔闪烁板载 LED 和面包板 LED,我***并修改了 Python SDK 文档中的一些代码:
为了使板载LED和面包板LED以一秒的间隔闪烁,我***并修改了Python SDK文档中的一些代码:
到“CNX软件中文站”官网查看完整信息。
我保存文件作为我的电脑上的blink.py,它运行正常。但是,如果您想在没有 PC 的情况下运行代码,则可以将其保存到树莓派Pico。点击File->Save copy,然后点击”树莓派Pico”按钮,
我在电脑上把文件存成了blink.py,效果很好。不过,如果你想在没有PC的情况下运行代码,可以保存到Raspberry Pi Pico。点击文件->保存,然后点击“树莓派Pico”按钮,
将文件保存到草莓馅饼皮
并将程序保存为***in.py..现在,您可以通过将该板连接到任何USB电源来自动运行该程序。
树莓Pi Pico上的C/C++
我们试试“C/C++ SDK”。除了一些用C++写的工具,基本都是C语言。我们可以回到官方的介绍文件。在启动模式下,我们被要求将blink.uf2***到Raspberry Pi Pico,它确实使板载LED闪烁。它的工作原理很简单,因为二进制是预先构建好的,但是我们真正想做的是修改源代码,自己构建二进制文件,让内部和外部的led闪烁。
因此,我们必须安装C/C++ SDK、依赖关系和示例,具体如下:
因此,我们必须安装C/C++ SDK、依赖项和示例,如下所示:
到“CNX软件中文站”官网查看完整信息。
我们可以看看
pico-examples/blink/blink.c的闪烁示例:
我们可以看一下
pico-examples/blink/blink . c:
到“CNX软件中文站”官网查看完整信息。
在修改之前,我们应尝试先导出 SDK 路径并配置构建:
在修改之前,我们应该尝试导出SDK路径并配置构建:
到“CNX软件中文站”官网查看完整信息。
现在可以进入一个blink目录(一个新目录,由c***ke生成),然后运行***ke:
现在可以输入一个blink目录(一个新目录,由c***ke生成),然后运行***ke:
到“CNX软件中文站”官网查看完整信息。
现在有一堆文件:
现在有一堆文件:
到“CNX软件中文站”官网查看完整信息。
最重要的是blink.uf2,我们可以***到树莓Pi Pico运行程序和flash中。elf,可用于调试器(OpenOCD+GDB),但这是入门指南的范围。
现在,我们知道如何为Pico板编译 C 程序,让我们修改闪烁.c示例,或者打开和关闭连接到 PIN 14 的板载 LED 和外部 LED:
现在我们知道了如何为Pico板编译C程序,让我们修改blinking.c示例,或者打开和关闭连接到引脚14的板载LED和外部LED:
到“CNX软件中文站”官网查看完整信息。
再次构建程序:
再次构建程序:
到“CNX软件中文站”官网查看完整信息。
进入引导模式,将blink.uf2***到板上。成功了!
实践证明,用C或Python程序也能达到同样的效果。此外,我们将在即将发布的帖子中检查RP2040的PIO(可编程IO)接口,因为AFAICT是Raspberry Pi RP2040与其他微控制器的最大区别。
我要感谢Cytron发送草莓派Pico进行审查。如果你位于东盟,你可以从他们的商店购买4.98美元的板。如果你有时间,你可以以同样的价格提供树莓皮皮可5美元的载树板。该板已被焊接并运往世界各地。
本文来自一纸枕书投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/557378.html