01 STM32F373USB功能
一、前言
这是今天上午制作的采集和控制电路板,其中设计了 STM32F373 的USB接口。 计划通过这个接口完成单片机与 上位机的数据交换。更重要的是,实现单片机程序的更改。下面对这个端口功能进行软件测试。
二、测试功能
1、测试USB通讯
首先在 STM32 Cube MX 中配置 USB 功能,设置内部驱动软件为虚拟串口。在原理图设计的时候,使用 PA15 端口控制USB使能电压。因此,在 管脚功能配置中,将 PA15 配置成输出端口。软件启动之后,将这个端口置为 高电平,便可以启动 USB端口电脑识别过程了。
下载程序之后,将 Mini USB 接入电路板,可以看到在Windows 设备管理 端口中,会出现 虚拟串口。根据往常的经验,如果出现的端口号不再 10 之内,往往使用普通程序需无法访问该串口。因此建议手工将这个端口号修改到 10 之内的一个不冲突的串口。下面通过两个软件来验证,这个 USB端口可以进行读写的功能。在右面,显示了单片机接收到的发送字符。至此验证了 STM32F373的 USB 作为虚拟串口能够与 计算机进行通讯了。
2、USB 下载程序
下面测试一下 USB 程序下载功能。在设计的电路板上,有一个插座将 单片机的 BOOT0 与 3.3V连接起来。通过短路子放在插座上,使得单片机 BOOT0 连接高电平。这样单片机在启动的时候,便进入 内部 BOOTLOADER 程序。它会首先检查 USB 是否连接到微机,如果连接,便进入 USB 程序下载状态。现在将一个短路子插在BOOT0 插座上,将电路断电后,接入USB,这样电路板重新上d电了。很可惜,居然在微机端口没有能够发现新的 USB设备。下面将原来有 端口控制的 1.5kΩ 的电阻,直接连接到3.3V。这样,电路板上电之后,便可以直接使能 USB 端口,果然,经过修改之后,STM32 Cube Programmer 便可以发现 USB 下载端口了。使用这个端口可以将 F373 的程序下载到单片机中。
※ 总 结 ※
本文记录了对 F373 USB 功能的测试,通过测试,也修改也原来电路板的y原理图设计,比如在这里,将原来由单片机控制的 1.5k 欧姆直接连接到 3.3V。这样便可以在 BOOT0连接到 3.3V的时候,能够自动进入 BOOTLOADER 状态了。可以实现 USB 程序更改的功能。下面该进入单片机应用程序的开发了。