问题标签 [mbed]

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 投票
0 回答
473 浏览

cmake - 在 Raspberry Pi 上进行 yotta 构建时出现 CMake 错误

运行“yotta build”命令时出现以下错误。我正在尝试在 Raspberry Pi 上安装 mbed 客户端。我正在关注本教程mbed 客户端 linux 示例

错误:

0 投票
1 回答
220 浏览

c++ - 空 std::queue 将数据推送到陈旧项目的末尾

我正在使用 std::queue 来缓冲网络上的消息(在这种情况下为 CAN 总线)。在中断期间,我将消息添加到“收件箱”。然后我的主程序检查队列是否为空,如果不是则处理消息。问题是,队列被弹出直到空(它从 退出while (! inbox.empty()),但是下次我将数据推送到它时,它可以正常工作,但旧数据仍然挂在后面。

例如,第一条消息将“1”推送到队列中。循环读取

  • 1

下一条消息是“2”。下一个阅读是

  • 2
  • 1

如果我在另一次阅读之前收到两条消息,“3”,“4”,那么下一次阅读将是

  • 3
  • 4
  • 2
  • 1

我很迷茫。我也在使用 STM32F0 ARM 芯片和在线 mbed,不知道这是否在硬件上运行不佳或什么!

我担心线程安全,所以我添加了一个额外的缓冲区队列,并且只在它“解锁”时推送到收件箱。一旦我运行它,我就没有看到任何冲突发生!

推送代码:

主程序读取代码

有人想吗?我用错了吗?还有其他方法可以轻松完成我正在做的事情吗?我希望缓冲区足够小,可以实现一个小的循环数组,但是手头有队列,我希望不必这样做。

0 投票
1 回答
446 浏览

c++ - 中断时发送 UDP 数据包

当使用 mbed 平台触发中断时,我正在尝试发送 UDP 数据包。

但是,当我尝试udp_send从中断函数调用时key_pressed,我得到sys_arch_protect 错误。

这可能是因为 UDPsocket 的某些部分没有被传递给中断函数吗?

为了简洁起见,我省略了大部分代码

在此先感谢,格雷格

0 投票
1 回答
105 浏览

mbed - 在 mbed 板上运行的代码中未更新变量

上面的代码从终端接收'c'的值并基于相同的决策。我面临的问题是,当我使用 printf 时,变量 c 得到更新,代码运行正常,否则无法正常运行。请帮忙。

0 投票
1 回答
2002 浏览

c++ - wait() 函数有什么作用?

嗨,我开始学习 Java,目前正在尝试学习 C++。我有这段代码,无法锻炼它的作用。我假设它使程序在启动之前等待一段时间。但是一些进一步的解释将非常有用。

我已经对我想要进一步解释的部分添加了评论。

0 投票
1 回答
606 浏览

ssl - 如何在polarssl中读取客户端证书?

如何使用从服务器端读取客户端证书mbedtls(polarssl)?我有一个使用mbedtls(polarssl). 我想读取客户端证书并从该证书中获取一些信息。谁能知道将使用什么功能来读取客户端证书?

0 投票
1 回答
50 浏览

http - 如何判断 HTTP 响应是否在 C 中终止

我正在为我的嵌入式项目实现最低 HTTPS 层,其中我使用mbedTLS 进行 TLS并硬编码 HTTP 标头以与 HTTPS 服务器通信。

它适用于普通网站。但到目前为止,我的实现通过检查读取的最后一个字节是否为\n.

然而,由于显而易见的原因,这并不总是有效。我试过openssl s_client了,它的行为是一样的——如果 HTTP 响应以 终止\n,然后s_client在获取所有数据后立即返回。否则它将永远阻塞,等待更多数据。

一个真正的浏览器似乎能够正确处理这个问题。除了设置超时,我还能做些什么吗?

0 投票
1 回答
1870 浏览

c++ - 在 C++ 中将 if、else if、else 语句转换为 switch 语句

我想知道是否可以将以下 if else 语句转换为 c++ 中的 switch 语句。如果可以的话,请告诉我如何,因为目前我在编写它时遇到了错误。

这是我试图转换为 switch 语句的 if else 语句。

这是我将其转换为的内容,但出现错误。

0 投票
1 回答
386 浏览

stm32 - mbed + platformio.org:建议?

我试图让最基本的(闪烁的)代码在 STM32F401 Nucleo 板上运行。当前状态:

  1. RUNS:开箱即用的闪烁代码(响应按钮)
  2. 运行:mbed.org 在线编译简单的闪烁代码(~13k bin,按预期闪烁)
  3. FAIL:platformio 编译的 bin 差不多 30k 并且不闪烁灯。与#2 相同的源代码

ini 文件如下:

如何让#3 工作?我究竟做错了什么?谢谢!

0 投票
1 回答
845 浏览

embedded - 为什么我的电脑会破坏我的 Mbed?- swd 错误

我正在使用 nRF51-DK mbed 板并从我的 mac 和 PC 对其进行编程。但是,当我使用我的 PC 编译程序然后将其下载.hex到开发板时,我会Fail.txt在 mbed 文件系统中显示一个文件。上面写着:

SWD 错误

在那之后,无论我做什么,我都会得到fail.txt

超时

我移动到我的 mac,以引导加载程序模式启动 mbed 板,然后重新安装最新固件。重新启动后,设备工作正常。当我尝试从我的 PC 安装更多程序时,它再次中断。

为什么我的电脑会破坏我的 mbed?

注意:我使用的是运行 Windows 10 Pro x64 的 Microsoft Surface Pro 3