用stm32f103c8t6做一个项目,之前用的是STlink连接stm32通过串口打印esp8266的连接信息,能够连接WiFi并且上报数据到云平台,现在想将程序下载到stm32之后断开stlink,使用MB102面包板电源模块给stm32供电, 但是复位之后stm32不知道是程序没有运行还是esp8266没有运行, 不知道是不是串口程序影响了还是说下载程序之后需要切换到什么模式才能运行,有uu能指导一下吗。

用stm32f103c8t6做一个项目,之前用的是STlink连接stm32通过串口打印esp8266的连接信息,能够连接WiFi并且上报数据到云平台,现在想将程序下载到stm32之后断开stlink,使用MB102面包板电源模块给stm32供电, 但是复位之后stm32不知道是程序没有运行还是esp8266没有运行, 不知道是不是串口程序影响了还是说下载程序之后需要切换到什么模式才能运行,有uu能指导一下吗。

阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
你遇到的问题是:之前使用STlink连接STM32通过串口打印ESP8266的连接信息,能够连接WiFi并且上报数据到云平台,现在想将程序下载到STM32之后断开STlink。
解决方案:
代码:
// 重新烧写程序
void main(void) {
// 选择外部供电
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.Pin = GPIO_PIN_0;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_SET);
// 重新烧写程序
HAL_FLASH_Unlock();
HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, (uint32_t)0x08000000, (uint32_t)program);
HAL_FLASH_Lock();
}
注意:上述代码只是一个示例,实际情况可能需要根据你的项目需求进行修改。