问题标签 [rp2040]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
213 浏览

micropython - 如何在 Arduino Nano Connect RP2040 上使用 MicroPython 发出 HTTP 请求

我正在尝试将我的 Arduino Nano RP2040 与 MicroPython 连接到我的本地 WiFi 网络并发出 HTTP 请求。

板上的 Nina W102 uBlox 模块是一个 ESP32,通过 SPI 连接到 RP2040(我不确定这意味着什么,但我认为它可能是相关的)。

我发现这个代码片段似乎可以做我想做的事

但它打破了:

回溯(最后一次调用):文件“”,第 1 行,在 ImportError:没有名为“网络”的模块

我使用 Thonny 作为编辑器并尝试在他们的包中搜索名为“Network”的东西并找到匹配项。但这给了我以下错误/警告。

非常感谢任何帮助或提示。

在此处输入图像描述


更新 1:使用 CircuitPython 找到了这个带有 WiFi 的示例。更喜欢使用 MicroPython,但如果一切都失败了,我可能不得不切换固件。 https://learn.adafruit.com/circuitpython-on-the-arduino-nano-rp2040-connect/wifi

更新 2:选择使用 CircuitPython。那时获得 WiFi 非常容易。

0 投票
0 回答
41 浏览

rp2040 - RP2040 PIO 输出位序

假设我有一个(非常简化的)PIO 程序,如下所示,它一次将 8 位从uint32输出移位寄存器 (OSR) 中的 a 移入 X 寄存器,并将所有 8 位并行写入一组连续的引脚。

RP2040 数据表说

OUT 数据的最低有效位映射到 PINCTRL_OUT_BASE,此映射继续 PINCTRL_OUT_COUNT 位,在 GPIO31 之后回绕。

从某种意义上说,这似乎很清楚,如果我的代码写入0x01010101TX FIFO,我希望每次都通过 PIO 循环将 1 写入 PINCTRL_OUT_BASE 并将 0 写入其他引脚。

但是如果值是,比如说,会发生什么0x0f070301?数据表说

移位方向可以是左/右,由处理器通过配置寄存器配置

选择左移是否意味着第一遍将导致 1 被写入从 PINCTRL_OUT_BASE 开始的 4 个连续引脚?或者 ARM 内存模型的小字节顺序是否意味着 0x01 字节将是从 OSR 中提取的第一个字节?

我真正想要的是了解如何可视化 OSR 中的位。我应该认为0x0f070301

00001111 00000111 00000011 00000001

还是反过来?

谢谢!

0 投票
0 回答
172 浏览

arm - 编程外部 QSPI 闪存 Raspberry Pi Pico

我想通过 SWD 线重新编程覆盆子 Pico 的外部闪存。此功能必须在不同的微控制器中实现,而不是在 Linux 计算机中实现,因此无法使用 OpenOCD 库。

我已经编写了一个能够通过 SWD 在 RAM 和核心寄存器中读写的 C 库,并且我能够将 Cortex-M0+ 置于停止状态。

我阅读了许多教程和文档,其中有用的是:

但不幸的是,它们还不够清楚。

你能解释一下我应该发送到 RP2040 以正确上传新固件的命令序列吗?

谢谢你的帮助!

0 投票
1 回答
72 浏览

mqtt - 无法使用 Arduino Nano RP2040 Connect 连接到 Azure IoT Hub

我已经遵循了多个教程,并且没有遇到此错误。

我有这个固件:adafruit-circuitpython-arduino_nano_rp2040_connect-sv-7.0.0 我有这些库:adafruit-circuitpython-bundle-7.x-mpy-20211116

我正在使用这个代码,它尽可能小,可以重现。

我从未设法连接到 Azure IoT 中心。总是一样SPI Error

错误来自这一行:

感谢任何帮助,请记住,我对 Arduino、CircuitPython 和 IoT 很陌生。

0 投票
0 回答
154 浏览

micropython - Raspberry Pi Pico (RP2040) 上 machine.Timer() 和 _thread 的问题

我正在尝试balance()在一个线程上运行函数并在单独的线程上使用 Timer。两种方法单独运行时都可以正常工作,但是当我尝试同时使用它们时,issr()由 Timer 调用的函数在几次调用后就停止工作。Raspberry 的 REPL 没有错误。该motor.do_step()方法只是在调用时将 Pin 值从 0 更改为 1。有什么想法有什么问题吗?

0 投票
0 回答
29 浏览

arduino - 将 MicroPython 从 Pycom WiPy 移植到 Arduino Nano RP2040 Connect

我有一个为 WiPY 编写和测试的 micropython 应用程序。代码组织如下:

我可以刷写 WiPy,因此代码会读取传感器并写入数据文件。代码会闪烁到 WiPy 上,因此它会在 WiPy 启动时运行。

我正在努力寻找有关如何在 Arduino Nano RP2040 Connect 上执行相同操作的文档。我有 OpenMW IDE,我可以在 Arduino 板上运行 MicroPython 脚本。但:

  1. 我不明白如何将 MicroPython 脚本闪存到 Arduino 上,以便它持续存在并且可以在启动时运行
  2. 假设(1)是可能的,代码组织在 Arduino 上是否相同,或者我需要文件/目录结构。

如有必要,我可以使用 C/C++(我有嵌入式经验)来编写 Arduino 代码。Micropython 是首选,因为这个项目对我的团队(学徒)来说有点一次性——他们可以用 Python 编写代码,但没有 C 或 C++ 经验。

谢谢,

0 投票
2 回答
39 浏览

usbserial - Maker Pi RP2040 通过 USB 连接到 PC 时的 VID 和 PID 是什么

我已经查看但目前找不到这些引用 - 我也在 cytron.io 网站上询问过。

我最终在https://docs.google.com/document/d/1DJASwxgbattM37V4AIlJVR4pxukq0up25LppA8-z_AY/edit的数据表中找到了这些(以及 github 回复)

USB VID & PID (CircuitPython & Arduino Core)

0 投票
1 回答
188 浏览

rust - 使用 elf2uf2-rs 在 Raspberry Pi Pico 上运行 cargo run 代码

我尝试在 Raspberry Pi Pico 上运行 Rust 代码。一个简单的“blink”示例应用程序成功(看起来)使用:

我已经安装了elf2uf2-rs

然后我尝试使用以下命令在 Raspberry Pi Pico 上运行 Blink 应用程序:

但此消息失败,其中“rp2”是我的二进制文件的名称:

关于什么可能是错误的任何建议?

这是我的Cargo.toml


更新

我现在添加了一个.cargo/config.toml包含以下内容的文件:

以及memory.x包含以下内容的文件:

但随后该cargo build --release命令失败并出现此错误:


我使用带有 M1 Apple Silicon 芯片的 MacBook,这可能是AArch64 系统下的相关问题 rust-lld 问题

0 投票
1 回答
29 浏览

raspberry-pi-pico - 为什么我不能在小型 2040 上的 circuitpython 中同时移动鼠标并按下按钮(就像 raspberry pi pico 一样在 rp2040 上运行)

我正在写一些东西,应该让我将操纵杆用作我想在 fusion 360 中使用的Spacemouse ,我通过使鼠标移动并按下鼠标中键并移动来做到这一点,并在操纵杆停止移动时释放它,但是我的问题是我的鼠标不会同时移动和点击,每次我启动脚本时,我的电脑都会发疯,我必须重置它。

这是代码:

0 投票
0 回答
27 浏览

arduino - Arduino 只从 client.read() 中读取特定部分;

我有一个问题,我只需要从 Web 客户端读取特定部分。我有 arduino 汽车和电话应用程序,当我按下按钮(移动)时,它显示:

GET/move?dir=FHTTP/1.1Host:192.168.0.136Connection:Keep-AliveAccept-Encoding:gzipUser-Agent:okhttp/3.12.0

而且我需要阅读“GET/move?dir=”之后和“HTTP/1.1Host:192...”之前的字符,该字符代表汽车应该做什么(F代表前进)。如何从中提取字母?我正在使用 client.read();

这是代码:

它读什么

谢谢。