问题标签 [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.
arduino - Adafruit_MAX31855 Thermopile IC readcelcius() 命令返回 nan
我目前正在使用 Adafruit_MAX31855 IC 和 K 型热电偶。出于某种原因,我在串行监视器中得到了这个......
现在我知道所有的接线都正确,因为我得到了内部温度。除此之外,.readCelcius() 命令有时会返回正确的读数。起初我以为可能是最高温度超出了芯片的能力范围,但即使在 40 摄氏度下运行时,我有时也会得到这个。
我已经检查了我所有的电压和 PWM 输出等。以及对热电偶进行基准测试。当它在室温下工作时,它是正确的。当加热器打开时我得到读数而不是 Nan 时,我似乎得到了非常高的数字,以千计,这显然是不正确的。它应该在65摄氏度左右。
有任何想法吗?
timer - arduino 为许多通道测量罕见的 1µs 脉冲,分辨率为 0.2µs
我是一个研究中心的实习生,我正在学习物理学,但在这里我正在研究电子学,所以它并不真正属于我的领域。我正在使用 Arduino DUE 女巫使用 Atmel SAM3X8E ARM Cortex-M3,我需要“精确”计算两次中断之间的时间(中断将是 ~1µs,我需要精度 ~0.2µs),并且库为整个 arduino 世界都不够精确。我想访问 Atmel 的计时器,但我找不到这样做的库,我找到了https://github.com/ivanseidel/DueTimer和这个https://github.com/antodom /tc_lib但是这些库会定期回调函数或从外部捕获脉冲。我什么也没找到。您是否知道可以在 DUE 上执行此操作的库或有关谁可以直接在 Arduino IDE 中使用 Atmel arm 寄存器的教程?
祝你今天过得愉快 !
编辑:嗨,事实上我正在测试几年后将在实验中实施的芯片。它们使用“新技术”(倒装芯片、通孔等),它们将在 -40 到 60 摄氏度(-40 140 F)之间进化,并带有辐射。我必须在这种环境下测试这些技术的寿命,所以“我”(在很多帮助下)会将它们放入烤箱并在 -40 到 60C 之间循环。我需要知道电路何时会中断,这将在 1 微秒内产生大约 300 欧姆的毛刺,但我需要“准确”知道(精度为 0.2 微秒或更小,理论上,这可能与 arduino 的 12ns 时钟周期到期)这些毛刺的上升沿和下降沿之间的时间。我有 70 个输入要测试,几乎没有电子知识,这就是我选择 54 个输入的 Arduino Due 的原因。我在 3 个 Arduino 上使用 25 个输入。几乎不可能同时发生 2 个中断,所以我的第一个想法是在上升沿启动一个计时器,在下降沿附加中断,最后读取计时器中的值以了解持续时间(大约为一微秒)超时以避免噪音。但我没想到在 Arduino 的库中不会有启动更精确计时器的功能......
c++ - Qt 串行与 Arduino Due Native USB 端口和蓝牙 NR 42 通过 Xbee 资源管理器配置
我正在尝试在 Qt 中创建一个应用程序来配置蓝牙模块 RN42 http://ww1.microchip.com/downloads/en/DeviceDoc/rn-42-ds-v2.32r.pdf。为了配置模块,必须通过串行端口发送一些命令,但这是异常事情开始发生的地方。我通过 xbee xplorer 将它连接到计算机,我可以使用我的应用程序毫无问题地对其进行配置,但是当我尝试检索当前配置时没有得到响应,我可以看到设备进入配置模式,因为 LED 闪烁得更快,但我无法通过串口从设备获得任何反馈。
因此,我决定开始使用 arduino 进行调试,如果我通过编程端口连接它,我可以毫无问题地进行通信,但如果我将它与 USB 本机端口连接,我不会从设备获得任何信息。但是,如果我用 arduino 串行监视器打开端口,通信就会开始,然后关闭 arduino 串行监视器,打开我的应用程序,我就可以毫无问题地进行通信了。
我也尝试与docklight(串行监视器应用程序)通信,并且再次通信没有问题,但是如果在与docklight通信后我尝试与我的应用程序通信,则不会得到响应,这与arduino串行监视器不同。
尽管我使用示波器进行了调试,但我可以看到信息是在端口关闭后发送的。
我尝试了很多不同的事情,但我不知道我做错了什么。我认为它与端口的配置有关,但不确定,这可能是 QtSerialport 的错误吗?
这是我的程序。我在带有 MinGW53_32 的 Windows 中使用 Qt creator 5.9.1
QT
.pro
蓝牙配置.h
bluetooth_config.cpp
主文件
非常感谢。
亚历杭德罗
arduino - 我发现有一个函数“fopen”,但是如何使用它呢?
我很惊讶 arduino due 有文件操作符。但是我的文件在哪里?我不知道没有文件系统的系统上的文件是什么意思。
raspberry-pi3 - 我如何通过 i2c 从 Rpi 作为主机将多个浮点数据写入 Arduino?
我读了很多帖子 Rpi 如何通过 Arduino 通过 i2c 接收浮点数据,Rpi 作为主控。
但我需要将浮点值写入 arduino,但我没有找到任何示例。我想使用 python smbus。
任何人有一个例子?
非常感谢!
debugging - 获取 sam3x8E 的堆栈指针和返回地址
我目前正在使用 arduino Due (Atmel SAM3X8E) 开发一个项目,该项目随机触发了看门狗重置。(有时它会在 10 分钟内重置,有时它会运行数小时然后点击看门狗重置)。我的看门狗超时设置得相当长(7 秒)
该项目现在已经变得相当大了,我没有调试器(也没有可用于 arduino 代码的调试器)
不幸的是,我不知道该程序可以存放在哪里。
你们会建议在这种情况下做什么?
====================更新01:======================
现在我将使用看门狗中断在触发看门狗时为我提供更多信息。我在互联网上进行了一些研究,并为设置编写了以下代码。但它不起作用......
我希望当我创建一个 while(1){} 时,看门狗会被触发,并且通过 WDT_handler() 我可以获得一些调试消息,稍后我可以放置更多有用的调试信息。但在真实情况下。我没有收到任何消息,所以我认为 WDT_handler 根本没有执行。
任何人都可以看看并帮助我找出问题所在吗?
看门狗设置:
我有一个看门狗处理程序
===========================更新02:==================== =
我发现问题出在哪里了!如果我想使用中断处理程序,我不应该使用 WDT_MR_WDRSTEN。它会立即重置处理器,这就是 WDT_handler 没有运行的原因。(我猜)
==========更新03:========================
我试图从 WDT_Handler 内的堆栈指针中捕获返回地址。使用以下代码:
是的,我得到了一些数字:0x20087F28。我通过使用 arm-none-eabi-objdump.exe 解码我的 .elf 文件来检查我的项目的反汇编。我找不到任何地址,它指向这个数字 0x20087F28
我在这里做错了吗?
c++ - #define EDB_REC (byte*)(void*)&
我正在使用扩展数据库库在 Arduino Due 上编程,并在示例中遇到以下行。
我不明白这EDB_REC logEvent
部分。EDB_REC 是做什么的?(logEvent 只是一个结构)所以我去了 EDB_REC 的实现并得到:
这让我更加困惑,因为我从未见过这样的#define 声明。
有人可以解释一下这两条代码行是如何工作的吗?在谷歌上搜索我只得到关于如何使用#define 定义常量和简单函数的条目
谢谢!
php - 尝试使用 Arduino 和 wifi 模块将图像发送到服务器
此代码用于捕获字节并将其传输到服务器。现在这是接受字节的 PHP 代码。
此外,我还有一个存储 PHP 页面中所有字节的文本。这些字节似乎无法制作图像。所以现在我被困住了。我不知道该怎么办。谁能帮我解决这个问题?
我还尝试下载文本文件并尝试在我的 PC 上使用 PHP 进行转换,但我收到了以下警告:imagecreatefromstring(): Data is not in a recognized format.
我忘了告诉我我正在使用 Arduino Due。
gps - Mpu6050 和 Adafruit Ultimate Gps 无法在 Arduino Due 上协同工作
我有 mpu6050 和 adafruit 终极 gps 突破 v3 的代码,它们在 arduino 上单独运行良好,但是当我尝试结合这两个代码时,gps 没有得到修复。有人可以帮帮我吗?mpu6050的代码如下
下面给出了 Adafruit 终极 Gps 突破的代码
这两个代码都可以单独工作,但我无法将它们组合并在单个代码中运行。我尝试将它们组合起来,但 adafruit Ultimate gps 突破不起作用,它什么也没提供。我想知道如何将它们组合在一个代码中工作。提前致谢。
c++ - 调用未解析的重载函数类型没有匹配的函数
首先,我是 C++ 的新手,所以我的问题可能已经在某个地方得到了回答,但我找不到直接的答案。我正在为我的硬件创建一个简单的库。我正在使用在 Arduino IDE 上运行良好的调度程序库(这里是示例),但是当我使用自己的 IDE(Atom+PlatformIO)编译代码时,会出现此错误:
我删除了一些代码,但如果你需要其余的,我可以把它。
SRF08.h
SRF08.cpp
调度程序.h
调度程序.cpp