小编Dim*_*red的帖子

为esp32天线获取信号量(蓝牙/ wifi双模)

我正在尝试构建一个esp32应用程序,同时启用了蓝牙和wifi。

蓝牙与a2dp配置文件一起使用,其中esp是接收器。收到数据后,应通过UDP套接字发布该数据,以广播到网络。

问题是天线。bt和wifi都在共享它。a2dp流似乎永久获取天线并很少释放它(〜2个包/分钟,我有〜3000个包/分钟)。

所以我的问题是:是否可以获取某种信号量以完全控制天线?这样我的套接字就能将数据发送到网络吗?

我将我的esp32与freeRTOS一起使用。freeRTOS库是用C编写的,但是我正在尝试将所有内容都包装在C ++中。我仍然认为此问题与C库有关,因此我将其标记为C。

我欢迎任何建议如何建立它。提前致谢。

更新

我正在使用release/v3.3官方esp-idf回购。

我有:CONFIG_SW_COEXIST_ENABLE=yCONFIG_SW_COEXIST_PREFERENCE_WIFI=y

CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE在配置中找不到。

提到的配置不起作用。

我尝试阅读该帖子,但在我的lib中找不到任何“ scan_window”或“ scan_interval”。据记载,它在某处,gap_api但找不到。

这是我的代码+配置:https : //github.com/Dimfred/esp32_bt_streamer

套接字客户端任务(应广播a2dp_msg)从此处开始:https : //github.com/Dimfred/esp32_bt_streamer/blob/master/main/app/event_handler.cpp#L22

从工作站/访问点/蓝牙/ a2dp弹出的所有事件都捕获在event_handler.hpp / cpp中

freertos esp32

7
推荐指数
1
解决办法
219
查看次数

为什么static_assert在带有const参数的成员函数中不起作用?

我目前正在玩,static_assert并且遇到了这个问题:

class A
{
public:
   void func( const int a ){
      static_assert( a == 3 );
   }
};
Run Code Online (Sandbox Code Playgroud)

给我:

error: non-constant condition for static assertion static_assert( a == 3 );

为什么是这样?我的是const。我可以想象该值将被强制转换为const,而以前是非const,那么应该会出现错误。但仅在成员函数内部,我不会期望任何错误。

我该如何解决?如果无法解决,我也很高兴得到一个答案,在这里有点好奇。

c++

2
推荐指数
1
解决办法
83
查看次数

标签 统计

c++ ×1

esp32 ×1

freertos ×1