问题标签 [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 投票
1 回答
3253 浏览

c++ - 如何将名称和 ID 属性添加到自定义 BLE 特征 C++

我正在使用这个mbed 解决方案,在 C++ 中创建自定义 GATT 服务。但是,此代码仅使用 UUID 创建特征:

然而,在连接到基于 mbed 的设备的智能手机上的 C# 代码中,我试图访问标准配置文件中的标准特征具有的Characteristic.ID和属性,但我没有。Characteristic.Name如何将此信息添加到特征中?

在我的 C# 代码中,我有以下内容:

0 投票
1 回答
871 浏览

c++ - 将特征用户描述添加到自定义 C++ BLE GATT 服务

我正在尝试使用mbed API将一些特性用户描述添加到我的自定义 BLE GATT 服务中。到目前为止,我的工作都是基于这种代码结构。但是,我想为这些特征添加名称。我找不到太多关于如何执行此操作的信息。但是,下面是来自论坛的评论,说明了如何做到这一点。

到目前为止,我有这个结构来设置我的特性。

如何为这 3 个特征添加描述?

编辑

我现在有:

Error: No instance of constructor "WriteOnlyArrayGattCharacteristic<T, NUM_ELEMENTS>::WriteOnlyArrayGattCharacteristic [with T=std::uint8_t, NUM_ELEMENTS=10U]" matches the argument list in "main.cpp"它在“大小”行上抛出一个。

0 投票
1 回答
1226 浏览

c++ - 向多个自定义 C++ BLE GATT 服务添加特征用户描述

我正在尝试使用mbed API将一些特性用户描述添加到我的自定义 BLE GATT 服务中。到目前为止,我的工作都是基于这种代码结构。但是,我想为这些特征添加名称。我找不到太多关于如何执行此操作的信息。但是,下面是将信息添加到特征的代码。

GattCharacteristic() 的构造函数将 GattAttribtues 数组作为可选参数。您可以将 User-Description 填充到 GattAttribute 中并将其传递给 Characteristic。我有这个结构为一个特性工作,但我正在努力为 3 个字符复制它。我无法将整个内容复制 3 次,因为我将它运行到了很多关于数组等已定义的问题。如果我将描述堆叠在数组中,GattArray 不会接受它吗?

编辑

通过下面的讨论,我现在有:

这会构建,但不会为特征命名。

0 投票
0 回答
212 浏览

c - 如何从c中的pc.scanf读取小数?

我在 MatLab 和 C 之间进行接口,我可以通过在 Matlab 中编写一个整数向 C 发送:

(连接 mbed 计算机的串行端口被定义为 mbed,这是 C 程序工作的地方)。

然后我在 C 语言中收到这个:

然后我继续尝试在我的程序中使用 inputFloat。这对整数非常有效,但是我尝试对非整数执行相同的第二次操作,例如 0.5 或 1.5,它不起作用。

是否有另一种方法可以尝试从 MatLab 接收值?

我目前能看到的唯一解决方法是尝试通过发送两个整数来实现代码,然后在 C 中通过一个除以另一个整数来处理它们,从而将每个数字作为两个整数发送。

0 投票
2 回答
116 浏览

c++ - 从 C++ 函数返回整个自定义类型数组

我正在开发一个 c++ 应用程序,用一些信息填充蓝牙阵列。它基于 mbed 平台 BLE_API,但我认为这不相关。我有以下代码,我试图将其重新考虑到一个函数中。

到目前为止,我得到了这个:

但是,可以预见的是,我会抛出一个错误:

错误:不存在合适的构造函数来将“GattAttribute *[1]”转换为“GattAttribute”

我可以看到它为什么抛出这个,但我不确定我应该如何返回整个数组,因为这是“PercentageFill”构造函数所需的格式。

谢谢。

更新:

为了提供完整的上下文,这是我正在设置的其他 Characteristcis(每个都有不同的名称):

0 投票
0 回答
285 浏览

arm - 重写 K64F 内部 Flash

我开始使用配备 mbed 经典(不是操作系统)的 FRDM-K64F 开发板在 ARM 上编程,我想重新编程内部闪存,以便用放置在 MicroSD 卡上的新固件“升级”现有固件,但我面临一些问题。

我正在使用FreescaleIAP库来实现写访问,但它似乎不起作用:如果我尝试擦除/重新编程现有代码已经使用的内存区域(在我的情况下大约为 0x0000-0x4000),它会在擦除过程中冻结并且闪存中的固件被损坏(需要通过usb刷新)。

有没有办法执行这个任务?我想实现诸如OTA固件更新之类的东西。

0 投票
0 回答
303 浏览

c++ - 错误:调用重载的 'abs(float&)'

我正在使用 FRDM K64F 控制电机,我正在使用 mbed 的电机库。

编译时,它会在库附带的头文件中发现此错误。

错误包含在此文件中。

它调用motor.h,它位于:

最后我从这里给他们打电话:

有任何想法吗?

0 投票
2 回答
252 浏览

c++ - 使用 memset 将字符串数组设置为 0 后无法使用

我有一个类属性,它是一个字符串数组(std::string command[10])。当我为其分配一些字符串值时,它会停止程序执行。正如您在下面看到的,我有一个字符串变量tempCommandStr,我分配给我的属性。我不知道错误可能是什么,但我在赋值后的 print 语句从未执行过,而前面的语句是。

不仅仅是这个属性,我还有另一个数组也有同样的问题。这可能是什么原因造成的?实际上出了什么问题(查看编辑)?还有另一种更好的方法吗?

我在 MBED 上运行程序,所以我限制了调试选项。

编辑: 我发现了问题,在使用删除任何以前的值之前,我正在清理数组memset(command, 0, sizeof(command));。这是造成问题的原因。现在我clear在数组中的每个项目上使用该函数,如下所示。这解决了执行问题。

问题:为什么将字符串数组设置为 0 usingmemset会使其无法使用?

0 投票
1 回答
219 浏览

xbee - 使用 AT 命令模式定位 Xbee

我正试图让一个 Xbee 与另一个 Xbee 交谈。我知道我可以用来putc向网络上的所有 Xbee 广播,但我想专门针对一个。我知道我需要使用 XBee 上的硬件地址来执行此操作,并使用称为 AT 命令模式的东西,但我认为我不明白。例如,我已经看到要进入 AT 命令模式,我需要发送“+++”,但是,我不明白该怎么做。我试过这个:

但不知道在哪里寻找某种消息作为回应。

我不了解这种模式,似乎找不到任何可以为我的情况或相关情况提供示例的内容。

我在 FRDM-K64F 上使用普通 Xbee。

0 投票
0 回答
195 浏览

c++ - 从 C 回调访问 C++ 对象

我正在使用mbed framework为嵌入式平台 (ARM CORTEX4) 编写 C++ 应用程序。我正在使用新的 Paho Embedded C++/C 客户端库。这是图书馆的代码。一切都按预期工作,除了订阅回调。

这是 subscribe 方法的定义:

messageHandler 定义为:

和 MessageData 为:

和消息:

由于我的软件是用 C++ 编写的,因此我找不到将上下文变量传递给回调的方法。所以目前看不到从回调中访问我的对象的方法。

我在不同 MQTT 客户端(用于 Unix / Mac / Windows 的 Paho MQTT C 客户端)的 API 中看到,它接受例如 void* 将上下文传递到回调中。

我是否遗漏了什么,或者在回调之外访问对象的最佳策略是什么?

我唯一能想到的就是类中的一些静态变量。这对我来说似乎有点“丑陋”。

非常感谢任何提示!