问题标签 [nrf52]

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

c++ - BLE 标头 Nordic nRF52832 中的连接句柄 ID 出错

我正在开发一种使用 nRF52832 BLE 的解决方案,该解决方案具有一个或多个 BLE 外围设备和一个中央设备。这个概念基于 BLE 星型网络,一切都适用于一个 BLE 外围设备。但是现在的问题是当我将两个 BLE 外围设备同时连接到中央并开始传输数据时。但传入的数据包得到错误的连接 ID。

当更多 BLE 外围设备同时连接并传输时,我想确定哪些设备数据来自中心侧。

谁能帮我理解BLE标头传输和接收过程?我知道 BLE 48 位唯一地址也能够在中央读取,但是如果更多数据包来自不同的设备,我怎么知道哪个数据包来自哪个设备?

0 投票
2 回答
303 浏览

raspberry-pi - BLE 6LoWPAN边界路由器的多连接

我正在努力与树莓派 3 建立 BLE 连接。

当我进行 1:1 连接时,它工作正常。

但是当我连接 2 个或更多设备时,它不起作用!

谁能告诉我如何使用 BLE 6LoWPAN 边界路由器连接多个设备。

0 投票
1 回答
124 浏览

c - nRF52840 上 va_start() 的省略号问题

我想使用 va_start 从省略号中检索我的参数。

这是我的代码:

这是我的电话:

但是我的 va_list 是空的。我究竟做错了什么 ?

0 投票
1 回答
720 浏览

c++ - 外部“C”错误应在 'int' 之前出现 '='、','、';'、'asm' 或 '__attribute__'

我正在尝试将已编译的库包含到 Nordic nrf52840 上的 C 项目中。下面(据我所知)是一种链接到项目其余部分的一些方法foo和文件bar中的方法。.lib当尝试使用 Segger Embedded Studio 进行编译时,我收到expected '=', ',', ';', 'asm' or '__attribute__' before 'int'以下代码片段的以下错误:

以上内容#include "foobar_ble.h"包含在我的main.c文件中。

部分原因可能是我对extern "C"我认为它是一种编译 C 代码的方式的误解。我相信#ifdef __cplusplus正在检查以编译为 C++ 那么这是否意味着它extern "C"甚至没有在 C 环境中使用?

此外,我似乎无法EXPORT在 C 中找到关键字的良好解释。这也可能是我的问题的根源。

Tl; dr:太笨了,问题太多,需要帮助。请和谢谢。

0 投票
1 回答
66 浏览

c - 无法确定指针转换的语法

当我遇到以下功能时,我今天正在工作:

按钮处理程序定义如下:

我不确定 Í 是否遇到过这种语法:

之前我有点迷茫。我的第一个想法是调用 button_handler 的语法应该是:

但是,我对原因没有任何好的解释。

谁能解释一下?

编辑:从用户 UnholySheep 输入后

0 投票
4 回答
5736 浏览

microcontroller - 使用 Openocd 烧写 nrf52 芯片的问题

我在 pcb 上有一个定制的 nrf52 芯片,暴露了 swd 引脚。我已经从https://github.com/ntfreak/openocd克隆并安装了最新的 openocd 。最新版本包括 nrf52 芯片的所有最新路径,因此无需像许多较早的在线指南中建议的那样进行任何其他更改。我可以使用 ST-LinkV2 连接到芯片。连接后,我可以使用 mdw 和 mdb 读取和写入内存位置。我还可以运行一些基本的 openocd 命令,例如 dump_image 等,这可以确认设置是好的。但是停止和程序命令总是会导致错误,例如:

如果我尝试使用 flash image_write 我得到错误,

我已经在线阅读了不同的指南,其中一种可能的解决方案涉及 APPPROTECT 寄存器,必须禁用该寄存器才能启用对闪存的任何写入。 APP_PROTECT,但是应该帮助我们访问这个位的 dap 命令,

dap apreg 1 0x04 0x01

返回错误:

拜托,我想知道是否有人用 stlink-v2 成功编程了一个新的空 nrf52 芯片以及必要的步骤,或者是否有人遇到过类似的问题。谢谢。

这是我的配置文件:

0 投票
1 回答
418 浏览

nrf52 - nrf52840 加密狗的初学者设置

我买了一个北欧 nrf52840 加密狗,我正在尝试使用 nRF 连接器对其进行编程。我已按照本教程https://electronut.in/nrf52840-thread/进行操作,在创建 application.hex 后,我需要将其刷入加密狗。但是,当我尝试编写这个新的 .hex 时,出现以下错误:

nrf 连接器错误

我知道我需要一个引导加载程序和一个 SoftDevice,并且可能我需要使用一些 mergehex 工具来合并它们。我不明白如何创建这个引导加载程序和 SoftDevice。

谢谢!

0 投票
0 回答
80 浏览

real-time-clock - SparkFun nRF52832 Breakout 没有 RTC 引脚信号

我正在使用 SparkFun nRF52832 Breakout 将 RTC 信号用于传感器压力时钟线。

不幸的是,在两个 RTC 引脚上,没有信号。为了验证这一点,我使用示波器读取引脚 0 和 1。

此外,我还在另一个引脚上创建了一个草图,以生成我自己的接近 33.333kHz 的方波信号,我在示波器上看到了它。

我根据本教程了解我不需要修改硬件。

RTC-EN - 连接/断开 32.768kHz 晶体

nRF52832 Breakout 为芯片配备了一个 32.768kHz 晶振——连接到 GPIO 引脚 0 和 1。不幸的是,这些引脚构成了可用 ADC 输入的四分之一。因此,如果您的应用程序不需要 RTC——并且您需要这些引脚用于其他目的——拿起一把爱好刀并剪断它们焊盘之间的两条迹线以断开晶体连接。

也许我需要用专用方法初始化 RTC 引脚,但是哪一个呢?你能给我一个链接到任何教程吗?

有什么想法我在这里想念的吗?我的误解是什么?

0 投票
0 回答
182 浏览

spi - SparkFun nRF52832 Breakout + SPI显示

我正在使用通过 SPI 链接到 Adafruit HUZZAH的TFT 显示器 ILI9341 ,示例 skecth 提供了“graphictest”,一切正常。

我想用SparkFun nRF52832 Breakout做同样的事情,但草图在“tft.begin()”期间停止

我还检查了标题:variant.h

我尝试在 ILI9341 显示器上使用内置的 SD 卡插槽,HUZZAH 没问题,但 Sparkfun nRf52 的 KO。

如果你们中的一些人可以帮助我,那将是非常友好的。

谢谢。

0 投票
2 回答
629 浏览

bluetooth-lowenergy - nRF52832 Sparkfun 分线板的 I2C 引脚需要上拉电阻吗?

我正在尝试使用 nRF52832 Sparkfun 分线板通过 I2C 使用按钮。我按照nrf52832-breakout-board-hookup-guide中给出的步骤将 I2C 数据和 CLK 引脚分别更改为 24 和 25。我将电路板的这些引脚和 GND 连接到相应的引脚并扫描 I2C 设备。但它为所有地址给出了错误 = 2(无 I2C 设备)。我应该使用上拉电阻吗?我将不胜感激任何帮助。