Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何使用STM32和连接3个蓝牙模块?_C_Bluetooth_Embedded_Stm32_Hc 05 - Fatal编程技术网

C 如何使用STM32和连接3个蓝牙模块?

C 如何使用STM32和连接3个蓝牙模块?,c,bluetooth,embedded,stm32,hc-05,C,Bluetooth,Embedded,Stm32,Hc 05,我正在使用STM32F407和3 HC-05蓝牙模块。我试图同时使用1个主设备和2个从设备。我可以把任何奴隶连接到主人。我正在尝试为2个从机实现一个简单的alghoritm。我每隔10秒更改主机连接的设备地址。当我尝试同时连接这两个主机时,我的主机始终处于at模式。它从不快速闪烁(当它快速闪烁时,表示它未处于AT模式并正在搜索设备)。我的奴隶也发送数据。大师有什么问题吗? 这是 从机配置: HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET);//

我正在使用STM32F4073 HC-05蓝牙模块。我试图同时使用1个主设备和2个从设备。我可以把任何奴隶连接到主人。我正在尝试为2个从机实现一个简单的alghoritm。我每隔10秒更改主机连接的设备地址。当我尝试同时连接这两个主机时,我的主机始终处于at模式。它从不快速闪烁(当它快速闪烁时,表示它未处于AT模式并正在搜索设备)。我的奴隶也发送数据。大师有什么问题吗?
这是

从机配置:

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET);// reset hc-05
delay_ms(1000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET);// set high to 'key' pin  to enter AT
delay_ms(1000);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET);// entered AT mode 
delay_ms(3000);
HAL_UART_Transmit(&huart1,(uint8_t*)"AT+ROLE=0\r\n",sizeof("AT+ROLE=0\r\n")-1,100);
delay_ms(1000);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET);//exit AT mode

忘记延迟哪些延迟?50毫秒?任何阻塞延迟==错误代码好的,我会更改。但是它们不是问题的原因,是吗?“any-blocking delay==bad code”没有争论,而讽刺语句==bad statement忘记了延迟哪个延迟?50毫秒?任何阻塞延迟==错误代码好的,我会更改。但它们不是问题的原因,是吗?“any-blocking delay==坏代码”没有争论,而讽刺语句==坏语句
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET);// reset hc-05
delay_ms(1000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET);// set high to 'key' pin  to enter AT
delay_ms(1000);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET);// entered AT mode 
delay_ms(3000);
HAL_UART_Transmit(&huart1,(uint8_t*)"AT+ROLE=0\r\n",sizeof("AT+ROLE=0\r\n")-1,100);
delay_ms(1000);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET);//exit AT mode