问题标签 [arduino-due]

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 回答
471 浏览

arduino - 由于 GPS 模块,如何连接 Arduino?

我正在做一个 Arduino 项目,我是 Arduino 的初学者,所以我开始从互联网上获取代码并尝试学习和理解它,

https://www.hackster.io/bigboystoys13/diymall-gprs-gps-sim5320e-3g-module-at-commands-d1cbfe

我尝试将此代码上传到Due板,因此软件串行库出现错误,这是错误:

0 投票
1 回答
872 浏览

arduino - 应用 FFT 后计算信号的幅度

我正在使用 Arduino Due 和传感器来检测噪声,我应用 FFT 库来提取频率,它工作得很好。但我不知道如何计算幅度并在控制台上打印它们?

这是代码:

0 投票
1 回答
287 浏览

macos - 终端在 Arduino DUE 上无法与 USBSerial 一起使用。端口没问题

我在 Arduino DUE 上安装了来自不同 Mac 的固件,它旨在与基于 Matlab 的应用程序接口。它已经过测试并且已知可以工作。我正在尝试从办公室的 mac 修改固件,但在安装 Arduino IDE 后遇到了麻烦。

首先,我无法让 Arduino 串行监视器与 DUE 交互。我尝试了多次,它工作了一次,但从那以后我一直没有设法让它工作。没有错误报告。

其次,我也无法让屏幕终端命令与 DUE 交互。没有错误报告。

第三,如果我只是在终端中使用文本管道(例如,echo 'status' > /dev/cu.usbmodem1421 或 head -20 /dev/cu.usbmodem1421 &),我会从 DUE 得到适当的响应。

第四,Matlab 应用程序可以按设计与 DUE 交互。

请注意,这是 DUE 中的本机 USB 端口,不涉及串行适配器(及其驱动程序怪异)。我没有尝试将新代码下载到 DUE,因为只要我们使用 Mac,固件就可以正常工作(只是我需要对其进行修改,以便它可以与 Windows PC 中速度慢得多的端口一起工作) .

我需要能够调试我正在修改的代码,为此我需要能够通过终端、任何终端进行交互。关于在哪里看的任何想法?


更新:我注意到代码没有等待 USB 准备好。所以我加了

在此更改后,DUE 等待终端打开,终端显示初始化文本不会出现故障。之后的行为与之前报告的相同。

0 投票
1 回答
750 浏览

c++ - 将 usart 接收到的 uint8_t* 数据​​与常量字符串进行比较

我正在开发一个 Arduino Due,尝试使用 DMA 功能,因为我正在处理一个速度至关重要的项目。我发现以下函数可以通过串行接收:

因此,据我了解,此函数将作为指针写入变量bytes,只要不超过length即可接收到的内容。所以我这样称呼它:

没有将其返回值分配给变量。我认为接收到的值存储到uint8_t* data但我可能错了。

最后,我要做的是检查接收到的数据是否是某个字符来做出决定,像这样:

我怎样才能使这项工作?

0 投票
1 回答
215 浏览

arduino - 通过 arduino 上的串行发送的数据有时会发生字节移位

我正在通过 Arduino Due 上的 USART 发送数据。我目前正在填充缓冲区,因此仅在缓冲区已满时才发送数据。

我放入缓冲区的数据是具有 12 位深度(值从 0 到 4095)的不同波形的查找表。因此,我将 2 个字节深度的缓冲区值放入缓冲区中,最高有效字节始终为 0。

我的问题是,每隔一段时间,整个波周期都会移动一个字节(每个值都乘以 256)。错误是不可预测的:它可能发生在要发送的第 2 或第 3 个周期,但它很快就会发生。我尝试了较慢的波特率,或者添加了两个停止位,但没有任何解决方法。相关的代码块:

我正在串行监视器和存储接收到的值并打印它们的 python 程序上检查接收到的数据。我认为错误从未发生在波的中间很奇怪:一个或两个波在缓冲区上被很好地复制,然后整个值被转移。我该如何解决这个问题?

0 投票
1 回答
1435 浏览

raspberry-pi - 在 Arduino 上设置 ATSAM3X8E 以进行 SPI 从机操作

我正在尝试通过 SPI 在 Raspberry Pi 3B+ 和 Arduino Due 之间建立通信。我选择了 Raspberry Pi 作为主机,而 Arduino 作为从机。因此,我为 Raspberry 编写了一些 C 代码,用于配置接口并通过 MOSI 线发送两个字节的数据。我用逻辑分析仪观察了信号,它们与预期的一样,芯片选择在发送过程开始时下降到零,然后再次上升。

为了对 Arduino Due 进行编程,我正在使用 Arduino IDE。由于 Arduino SPI.h 不支持从机模式,我想直接访问 ATSAM3X8E 上的相应寄存器。首先,我将 SPI 引脚的模式(来自“非官方”到期引脚分配的引脚编号)定义为输入/输出。之后我将 ATSAM3X8E 的寄存器配置为 SPI 从机操作。CPOL 和 CPHA 的设置与 Raspberry 上的设置相同。由于串行时钟波特率的分频器不允许为零,所以我选择了可​​用的最大分频器,虽然我假设这个设置没有效果,因为主机定义了传输速度。这是配置代码:

之后,在循环中,数据接收寄存器的位存储在缓冲区中:

但是,缓冲区仍然是空的。如果我读取状态寄存器的位,所有位都为零,甚至“检测到 NSS 上升沿”或“SPI Enbled”的位也为零。因此我假设,接口的初始化不正确/不完整。我错过了什么吗?

任何帮助是极大的赞赏。

0 投票
1 回答
75 浏览

arduino - 在 arduino DUE 上使用 SYSCTRL

我目前正在使用几年前在网上找到的计时器中断进行项目。我的代码在 arduino m0 或 M0 pro 上运行良好,但我试图在 Arduino DUE 上编译它,但出现了这个错误:

(我在计时器的这一行上使用 SYSCTRL :

我很确定这是导致此问题的 M0/M0pro 和 Arduino DUE 之间的硬件差异,但我不知道如何解决它....

预先感谢您的帮助 !

0 投票
4 回答
4000 浏览

arduino - 在 Arduino IDE 中将 255 以上的“String”转换为精确的“Integer”或“Long”类型

珍惜你的时间。

我正在尝试将从 Arduino IDE 的 serialEvent() 中的串行端口读取的“字符串”转换为具有精确表示的整数值。

例如,如果 String myString = 200 那么 int myInt 应该是 200。

我已经取得了一定的成功,但无法将 String 转换为超过 255 的精确 int 表示。

我尝试过的解决方案:

1) 在 Arduino 中使用 .toInt() 函数。

2)使用“atoi”和“atol”功能。

3) 循环() 中的 Serial.parseInt()。

所有这些方法在每 255 个值之后从 0 开始重新计数。

我不能使用 parseInt,因为它只能在 loop() 中工作。我的应用程序需要永久存储变量值,直到通过端口给出另一个值。为此,使用了 Arduino Due 的闪存。

内存存储代码似乎只在 serialEvent() 中工作。

代码片段如下:

0 投票
1 回答
112 浏览

arduino - 如何编辑库以与 Arduino DUE 一起使用?

我想在这段代码中添加 Arduino DUE。

库中的代码

0 投票
2 回答
583 浏览

arduino - 将多个 IMU 传感器连接到 arduino DUE

我需要将 5 个 IMU 9250 连接到 Arduino Due。我在这个网页上使用了这个库,它只适用于一个传感器。

https://www.switch-science.com/catalog/2845/

我需要知道是否有代码或库可以帮助我打开所有五个传感器并同时获取数据。