STM32
直播中

张丽

7年用户 1485经验值
私信 关注
[问答]

STM32F407VET6 BUSHOUND读字节读不出来的原因?

我用的是STM32F407VET6 用的USB ,我做了一个测试程序
HAL_Delay(2000);
printf("hello");CDC_Transmit_HS( ucD[0],3);
printf("hello1");
上电 HELLO 打印出来,但是我用BUSHOUND 读3字节,读不出来,HELLO1 也没打印
但是我把USB电源拔掉,(我系统是USB供电),HELLO1 反而打印出来了
另外,我修改了CDC 的设备描述符,把他作为一个普通设备,
请问这个是什么原因





回帖(1)

golabs

2024-5-27 17:45:30
根据您提供的信息,我将尝试分析可能导致问题的原因并提供一些建议。

1. 首先,检查您的STM32F407VET6是否正确配置为USB设备。确保您已经正确配置了USB核心、端点和CDC类。

2. 确保您的USB驱动程序已正确安装在计算机上。如果您使用的是STM32CubeMX生成的代码,它通常会生成一个虚拟COM端口驱动程序。请确保已安装此驱动程序。

3. 在您的代码中,您使用了`CDC_Transmit_HS()`函数来发送数据。请确保此函数已正确实现,并且与您的STM32F407VET6硬件兼容。

4. 您提到在拔掉USB电源后,"HELLO1"被打印出来。这可能表明在USB连接时存在某种干扰或问题。请检查您的电源电路,确保它能够为STM32F407VET6提供稳定的电源。

5. 关于您修改了CDC设备描述符,将其作为一个普通设备。这可能会影响BUSHOUND软件与STM32F407VET6的通信。请确保您的设备描述符正确地描述了您的设备,并且与BUSHOUND软件兼容。

6. 检查您的BUSHOUND软件设置,确保它已正确配置为与您的STM32F407VET6通信。这可能包括波特率、数据位、停止位和奇偶校验位等设置。

7. 如果问题仍然存在,请尝试使用其他USB通信工具(如PuTTY或Tera Term)来测试您的STM32F407VET6与计算机之间的通信。

通过以上步骤,您应该能够找到问题的原因并解决它。如果问题仍然存在,请提供更多详细信息,以便我能更好地帮助您。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分