当将STM32F769IDISCOVERY(STM32官网)的CN16USB连接到PC机USB后,电脑系统自动识别一个新的端口设备,在我的PC上是:STMicorelectornics STLink Virtual COMPort(COM4).这样,我们无需添加任何硬件设备,就能够利用这个虚拟串口来调试程序了。
打开STM32CubeMX,新建一个工程,选择芯片STM32F769NIHx,配置USART1。 波特率:115200 数据位:8位 停止位:1位 校验位:无 流控制:无 生成项目, 添加代码 #define PUTCHAR_PROTOTYPE intfputc(int ch, FILE *f) PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF); return ch; } 编译、下载,将串口助手的通信格式设定一致,运行结果: 原始代码 |
这里主要是用于程序调试的数据显示,大数据没试过。
不错,
回复6楼关于质疑本贴真实性的回帖(6楼已收回质疑):
程序运行结果就是在这块开发板上运行得来的。代码也共享了。请放心,不会忽悠的人。贴中的HEX文件只适合STM32F769I DISCOVERY。
虚拟串口与STM32板上的程序无太大关系,它是开发板上的ST-LINK与PC机的连接。ST为方便用户开发,为它增加了这个虚拟串口功能。应该检查你的ST-LINK的驱动,如果驱动安装正常,当将USB连接线链接了ST-LINK和PC机后,在控制面板的设备管理中就应该出现虚拟串口。 串口号依不同机器会有不同.
还有:你的板子的芯片是STM32F769I吗?USART串口号与代码中选定的的相同了吗?GPIO口相同了吗?
果然是驱动的问题,谢谢楼主了