工程模板LED0对应的GPIO为PA8修改LED0点亮驱动代码#define LED3_PIN GET_PIN(A, 8) int main(void) { /* set LED0 pin mode to output */ rt_pin_mode(LED3_PIN, PIN_MODE_OUTPUT); while (1) { rt_pin_write(LED3_PIN, PIN_HIGH); rt_thread_mdelay(500); rt_pin_write(LED3_PIN, PIN_LOW); rt_thread_mdelay(500); } }修改template模板工程调试器改为ST-Link串口乱码串口115200波特率乱码but串口76800波特率正常看起来像是串口的时钟源出了问题顺藤摸瓜发现这个原始BSP开发板使用的居然是12M晶振stm32f103 yf-ufun 开发板于是乎调整晶振频率为8M后串口输出正常MSH无法接收USART1电路考虑可能是CH340C模块有问题上位机开了硬件流控导致RTS给BOOT0引脚拉高而我们真正要用的是PB10、PB11于是添加一路串口USART3测试一下串口引脚改为PB11、PB12后连接调试串口115200波特率修改rtconfig.h配置#define RT_CONSOLE_DEVICE_NAME uart3 #define BSP_USING_UART3系统BSP打包验证最小BSP移植OK后使用env工具导出系统包scons --dist编译完会在dist目录下生成RT-Thread的工程包编译有问题特别是驱动代码文件找不到使用env工具重新导出为mdk5工程这样就能得到一个完整的带RT-Thread源码的MDK5工程了scons --targetmdk5问题相关stm32f103-yf-ufun的bsp串口波特率与实际波特率不一致的问题