问题标签 [nrf51]

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

bluetooth - Tshark 不会使用 nRF 嗅探器捕获 BTLE 数据包

我在使用 tshark 捕获 BTLE 广告数据包时遇到问题。

该系统与 Wireshark 配合得非常好。但是,当我尝试从命令行运行 tshark 时,它会立即退出并显示“捕获了 0 个数据包”。

任何想法为什么它可能在 Wireshark 中工作但在 Tshark 中不起作用?

设置: 我使用 nRF51 DK 作为嗅探器。正如我提到的,这在 Wireshark(2.6.1 版)中运行良好。我有一个外围设备正在发送 Wireshark 很容易检测到的广告数据包(即我知道硬件工作正常并且正在发送广告数据包)。

使用的命令: 在命令行上导航到我的 Wireshark 文件夹后,我键入:

我的 nRF 嗅探器是接口 6。一切都在 Windows 10 机器上运行。

更多信息: 如果我尝试捕获 wifi,Tshark 工作正常

其中接口 1 是 wifi 接口。

谢谢!

0 投票
1 回答
196 浏览

bluetooth - Nrf51822 编程新手

我想使用像 Waveshare Core51822 这样的蓝牙模块将数据发送到覆盆子。我想在蓝牙模块上使用 SPI,但我没有计划如何配置它。

我需要什么?

谢谢

0 投票
1 回答
791 浏览

bluetooth - 这真的是通过 BLE 发送数据的正确方法吗?(使用 Adafruit 示例作为参考)

我必须用 Adafruit BLE SPI 朋友尽快通过 BLE 发送数据。我知道我想使用什么 GATT 服务。在 adafruit 的heartratemonitor.ino BLE 示例中,我对它们发送数据的方式感到困惑。他们似乎只是用 AT+GATTCHAR= 命令更新了心率测量特性。然后只需从他们的 Bluefruit 应用程序中读取更新。这种发送数据的方法似乎非常缓慢,而且效率也不高。我已经查看了 BLE SPI 朋友的Adafruit BLE 库,但我似乎找不到另一种更新/发送数据的合法方式。我是否遗漏了一些我理解的东西,或者这不是发送数据的最佳库?

注意:我必须使用 SPI 从缓冲区读取数据并通过蓝牙发送。考虑过只使用 SPI 库(确定难度)和任何其他北欧或 nRF51822 库,但学习曲线似乎非常陡峭。

0 投票
1 回答
447 浏览

bluetooth - ble_app_uart 无法在 nRF 上完全加载 51822

我在 nrf 51822 模块上闪烁主程序和 SoftDevice 时遇到问题。我有 Keil 版本 5.24 并且我正在使用 SDK v12.3 。

我可以轻松刷入 SoftDevice,但之后我无法刷入设备上的主程序。在 Keil 中它只显示错误擦除失败,闪存下载失败 - “cortex-m0”。但是,如果我在刷完 SoftDevice 之后尝试通过 nRFgo 工作室执行此过程,当我尝试刷入主程序时,它会显示错误:此 hex 文件在 SoftDevice 区域中有数据。尝试使用“Program SoftDevice”进行编程,或在编程前擦除所有内容。

可能是因为ROM内存区域配置和地址吗?如果是这样,我该如何解决?

感谢您的关注。

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

python - nrf24l01 通信树莓派无法连接

我是 Stackoverflow 的新手。我已经搜索了答案,但没有找到任何东西。

我有两个 Raspberry Pi 2B+,每个都连接了 nRF24l01。我发现很少有库可以建立这种连接,只有一个给出任何结果,但没有连接。这个:Github BLavery

我编写脚本来发送和接收:

发送.py:

接收文件:

一切似乎都很好,下面是两个脚本返回的代码:

发送:

接收文件:

我真的不明白为什么它不会相互连接,两者都有相同的接线:

nRF24L01-树莓派(引脚号)

  • 接地 - 接地 (6)
  • VCC - 3,3V (1)
  • CE-GPIO17 (11)
  • CSN-GPIO08(24)
  • SCK-GPIO11 (23)
  • MOSI - GPIO10 (19)
  • 味噌 - GPIO25 (22)
  • IRQ - 未连接

我需要将信息从一个 RPi 发送到第二个,以通过 PWM 控制引擎。

我可以寻求帮助吗

0 投票
0 回答
219 浏览

c - 如何使用 nrf51822 模块在一定时间间隔后关闭 LED

有12个LED通过移位寄存器HC595连接,使用的模块是nrf51822(蓝牙模块)。我希望 LED 在 3 秒间隔后熄灭。我的代码如下 -

上面的代码似乎不起作用。我是模块新手。请提供解决方案帮助。

0 投票
2 回答
4494 浏览

linker-errors - IAR 错误 [Li005] : 即使文件已添加到项目中并且文件的路径在预处理器路径中,也没有函数定义

我有一个奇怪的问题。我正在尝试将 Nordic Semiconductors 外围设备示例中的 spi 模块与 Central BLE Uart 项目集成。

所有示例都有一个组件库。所以我所做的就是将 spi_slave 文件nrf_drv_spis.c添加到我的项目中,并将该组件的路径添加到项目的预处理器路径中。

$PROJ_DIR$\..\..\..\..\..\..\..\components\drivers\nrf_spi_slave 在我的预处理器路径中,这就是nrf_drv_spis.cnrf_drv_spis.h 所在的位置。

但是,当我编译代码时,出现此错误

nrf_drv_spis_init 是在nrf_drv_spis.c中找到的函数,原型在nrf_drv_spis.h中。奇怪的是,当我右键单击 nrf_drv_spis_init 并“转到定义”时,它总是将我带到头文件中的原型。通常,IAR 会向我显示函数的原型或定义,我需要单击声明或原型。

所以它确实告诉我,无论出于何种原因,文件nrf_drv_spis.c似乎不在项目中,但我不知道如何解决这个问题。

任何帮助,将不胜感激。谢谢。

0 投票
0 回答
378 浏览

json - 如何通过 NRF24L01 传感器发送和解析 JSON 数据?

TRANSMITTER.ino(COM8 端口)

RECEIVER.ino(COM9 端口)

我正在尝试通过 NRF24L01 传输 JSON 数据,并将其打印到串行监视器,但我在串行监视器(COM9 串行监视器)中看不到任何输出。我在这里做错了什么?

我正在使用 arduino JSON 5.13.5 版本

0 投票
1 回答
505 浏览

android - 一起调用 connectGatt() 和 createBond()

我正在尝试在我的 Android 手机和我的设备之间建立联系。在他们通过调用device.connectGatt()我的gattCallback. 但是现在我还想通过调用添加绑定device.createBond(),我onConnectionStateChange显示了连接和断开的替代模式,连接时状态代码为 0,断开连接时状态代码为 8。这是我如何尝试使用connectGattcreateBond一起使用的代码片段。

这样调用这两个方法有什么问题吗?我在互联网上搜索了创建债券,但没有一个页面同时使用 createBond 和 connectGatt。我只从这篇文章中得到了关于如何以这种方式调用这两种方法的提示:Android BLE onCharacteristicChanged() using notify not trigger

此外,我也BroadCastReceiver总是显示设备绑定,但从不显示设备绑定。