首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >北欧nRF51 DK nrf_esb_init()不返回

北欧nRF51 DK nrf_esb_init()不返回
EN

Stack Overflow用户
提问于 2016-08-31 13:50:01
回答 1查看 227关注 0票数 0

我正在nRF51 DK上开发一个并发的BLE和Shockburst应用程序。一开始我试着独自运行Shockbust。它进行了编译,并且没有把它载入董事会的可能性。但当我运行它时,它就不起作用了。我想我发现了这个错误,但我不知道如何解决:

nrf_esb_init()函数不返回。为了测试,我用LED包围了这个功能。LED_1亮着,所以函数被调用了,但是LED_2从不闪现:

代码语言:javascript
复制
void esb_wake(void) {
  nrf_gpio_pin_toggle(LED_1); // flash
  nrf_esb_init(NRF_ESB_MODE_PTX);
  nrf_gpio_pin_toggle(LED_2); //does not flash

  nrf_esb_set_base_address_0(addr0);
  nrf_esb_set_base_address_1(addr1);
  nrf_esb_set_channel(rf_channel);

  uint32_t err_code = timeslot_sd_init();
  APP_ERROR_CHECK(err_code);
  nrf_esb_enable();
  nrf_esb_set_max_number_of_tx_attempts(1); 

}

我使用SDK10.0和Softdevice s310。

有谁知道怎么解决我的问题吗?

EN

回答 1

Stack Overflow用户

发布于 2016-09-09 12:52:29

我自己解决了这个问题:

就像我说的,我使用的是软件设备,这就是邪恶。软件设备是“董事会的主人”。ShockBurst不是软设备的一部分。所以当我使用外部代码时,我不得不告诉softdevice。解决方案是在时隙启动之前调用nrf_esb_init()。因此,在NRF_RADIO_CALLBACK_SIGNAL_TYPE_START情况下,我将函数移到时隙事件处理程序中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39251529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档