Search found 11 matches
- Thu Jun 10, 2021 9:16 am
- Forum: ESP-IDF 中文讨论版
- Topic: BLE相关:ESP32做为主机连接多个从设备时,主机端如何修改默认的连接参数
- Replies: 1
- Views: 3572
BLE相关:ESP32做为主机连接多个从设备时,主机端如何修改默认的连接参数
我在测试ESP32做主机连接5个从机,从机设备不会发起更新连接参数请求, 协议栈选的Bluedroid, 实测ESP32默认的连接间隔是15ms,ESP32-C3默认的连接间隔是30ms,现在需要把默认连接间隔改到20ms, 在menuconfig里没有找到对应的配置信息(不确定有没有),然后我试过每连接成功一个从机,主机端发起一次连接参数更新请求,发现后面几个连接越来越慢,第5个直接连接不上。
- Thu Jun 10, 2021 9:01 am
- Forum: ESP-IDF 中文讨论版
- Topic: [已解决] ESP32 :如何精确控制LED Control功能PWM的脉冲数
- Replies: 7
- Views: 10907
Re: ESP32 :如何精确控制LED Control功能PWM的脉冲数
在ledc_struct.h头文件里有LED Control所有寄存器的描述信息ledc_dev_t: extern ledc_dev_t LEDC; //中断回调函数 static void IRAM_ATTR pwm_plus_cnt(void *param) { static uint32_t cnt1, cnt2; uint32_t ledc_intr_status = 0; ledc_intr_status = LEDC.int_st.val; if (ledc_intr_status & LEDC_HSTIMER0_OVF_INT_ENA) { gpio_set_level(0, ...
- Thu Jun 03, 2021 6:14 am
- Forum: ESP-IDF 中文讨论版
- Topic: [已解决] ESP32-C3: BLE通讯测试,1主5从(一共4组), 4组同时工作,当任意两个主机模块靠的很近时,出现连接断开的现象
- Replies: 3
- Views: 5064
Re: ESP32-C3: BLE通讯测试,1主5从(一共4组), 4组同时工作,当任意两个主机模块靠的很近时,出现连接断开的现象
好吧,已经触及到我的知识盲区了 ,
这个先放一放,还有个问题,ESP32做主机连接多个从机的时候,主机端怎么修改默认的连接间隔(从机端程序不发起更新连接参数请求),我试过每连接成功一个从机,主机端发起一次连接参数更新请求,发现后面几个连接越来越慢,第5个直接连接不上
这个先放一放,还有个问题,ESP32做主机连接多个从机的时候,主机端怎么修改默认的连接间隔(从机端程序不发起更新连接参数请求),我试过每连接成功一个从机,主机端发起一次连接参数更新请求,发现后面几个连接越来越慢,第5个直接连接不上
- Thu Jun 03, 2021 6:02 am
- Forum: ESP-IDF 中文讨论版
- Topic: [已解决] ESP32 :如何精确控制LED Control功能PWM的脉冲数
- Replies: 7
- Views: 10907
- Tue Jun 01, 2021 7:16 am
- Forum: ESP-IDF 中文讨论版
- Topic: [已解决] ESP32 :如何精确控制LED Control功能PWM的脉冲数
- Replies: 7
- Views: 10907
[已解决] ESP32 :如何精确控制LED Control功能PWM的脉冲数
想用ESP32驱动步进电机(开环,无编码器),需要精确控制PWM的脉冲个数,看了下datasheet是有高/低速时钟计数器达到最大计数值触发中断的功能,但是看了下LEDC的API:esp_err_tledc_isr_register(void (*fn)(void *), void *arg, int intr_alloc_flags, ledc_isr_handle_t *handle ),不知道该怎么用:1.比如我两个通道输出PWM(两个电机),怎么注册对应通道的中断函数? 2.intr_alloc_flags参数该填什么?
- Fri May 28, 2021 8:54 am
- Forum: ESP-IDF 中文讨论版
- Topic: [已解决] ESP32-C3: BLE通讯测试,1主5从(一共4组), 4组同时工作,当任意两个主机模块靠的很近时,出现连接断开的现象
- Replies: 3
- Views: 5064
[已解决] ESP32-C3: BLE通讯测试,1主5从(一共4组), 4组同时工作,当任意两个主机模块靠的很近时,出现连接断开的现象
在用ESP32模块做BLE通讯测试,一共24只模块,分为4组,每组都是1个主机连接5个从机,从机跟主机之间距离3米左右(实际使用要20米),两个主机模块之间1到3cm左右,在测试过程中发现,任意两个主机紧靠着的时候两组模块均出现丢包和断连的现象,但把4个主机分开一些距离,通讯效果出奇的好,几乎一包不丢,比之前测试的其他模块效果好很多。 为了排查问题,首先怀疑是不是信道碰撞了,单独用其中两组进行测试,修改两组模块的channel_map,使他们跳频的信道不会出现重叠,但是现象依然存在,靠在一起就会出现丢包和断连,尤其是两个模块天线紧靠着的时候(之前也测试过其他家的BLE模块,有一个现象类似,比这...
- Fri May 28, 2021 12:37 am
- Forum: ESP-IDF 中文讨论版
- Topic: ESP32 BLE如何发送大于20字节的数据
- Replies: 7
- Views: 11468
Re: ESP32 BLE如何发送大于20字节的数据
bluedriod协议栈:
连接成功后更新连接参数:esp_ble_gap_update_conn_params()
读取当前连接参数:esp_ble_get_current_conn_params()
连接成功后更新连接参数:esp_ble_gap_update_conn_params()
读取当前连接参数:esp_ble_get_current_conn_params()
- Thu May 27, 2021 8:36 am
- Forum: ESP-IDF 中文讨论版
- Topic: task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time
- Replies: 3
- Views: 4298
Re: task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time
谢谢,确实是串口打印数据的问题,把打印原始数据去掉,改成只打印接收包数之后就可以了,我在想串口打印能不能改成中断或DMA的方式 :) I (407895) GATTC_MULTIPLE_DEMO: DEV05 [4557/4557] I (407915) GATTC_MULTIPLE_DEMO: DEV03 [4581/4581] I (407925) GATTC_MULTIPLE_DEMO: DEV04 [4567/4567] I (407975) GATTC_MULTIPLE_DEMO: DEV05 [4558/4558] I (407975) GATTC_MULTIPLE_DEMO: D...
- Thu May 27, 2021 5:14 am
- Forum: ESP-IDF 中文讨论版
- Topic: task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time
- Replies: 3
- Views: 4298
task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time
ESP32使用gatt_multi_client例程,连接3个从设备,连接成功后其中一个从机间隔100ms发送200字节数据,会出现无法及时清看门狗的问题,是什么原因呢? I (825466) GATTC_MULTIPLE_DEMO: ESP_GATTC_NOTIFY_EVT, Receive notify value: I (825476) GATTC_MULTIPLE_DEMO: aa 06 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d I (825486) GATTC_MULTIPLE_DEMO: 0e 0f 10 11 12 13 14 15 16...
- Thu May 27, 2021 4:58 am
- Forum: ESP-IDF 中文讨论版
- Topic: ESP32 BLE如何发送大于20字节的数据
- Replies: 7
- Views: 11468
Re: ESP32 BLE如何发送大于20字节的数据
如果MTU使用默认的20个字节,要提高数据速率,那就只有通过将连接间隔改小一点,最小应该是7.5ms,然后ESP32用Notify的方式往APP发数据,发送数据的间隔只要比连接间隔大就可以,比如,连接间隔设置成7.5ms,应用层10ms发送一包数据;
但是既然APP和ESP32都支持大数据包,要提高数据速率,最好还是设置MTU,一般BLE调试APP都会根据从机支持的MTU来更新MTU的,如果是自己写APP更不是问题
但是既然APP和ESP32都支持大数据包,要提高数据速率,最好还是设置MTU,一般BLE调试APP都会根据从机支持的MTU来更新MTU的,如果是自己写APP更不是问题