
从这个测试开始,功能累加测试——随着实验下去,功能逐渐增加。直到认为实验完成。为了速度这与调试好了IAR8.3,在这里速度快多了! 首先改选STM32CubeMX,打开,改选见图23_1_1~4。没有选设的默认即可。 导出工程文件,单击菜单Project/Setting...,见图23_1_5,本里选择输出IAR。而后单击菜单Project/Generate Code,直接就导出了。 导出后原来如果在编辑状态需要更新所有文件,如果没有在编辑状态,则新导出的文档将覆盖原来所有的。以后的导出与此相同。 此实验参考了STM32CubeMX网上STM32Cube的一文,原文是STM32F401-ARM4的,我想可以参考就先拿来用了,结果很不错。 在默认生成的main.c中所有的头文件已加上,不会有任何问题。 而后在main.c的大括号后边到while循环语句之前增加: MX_UART5_Init(); 而后在static void MX_NVIC_Init(void)后增加: //Set for Printf int fputc(int ch,FILE *f){ HAL_UART_Transmit(&huart5,(uint8_t*)&ch,1,10); return ch; } 最后在while循环语句内增加: printf("Test UART5 for printf \n\r"); 结果见截图23_1_6。以下的实验就可以从UART5连接虚拟串口到PC,用虚拟串口软件看结果了。如果 改变这条语句,可以改变下边: HAL_UART_Transmit(&huart5,(uint8_t*)&ch,1,10); 为 HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,10);,则可以从USART1输出信息。 |
23-1
23-2
23-3
23-4
23-5
23-6
哇!!抓住一个大佬![]() |