Embedded stm32f3';用户USB';未检测到
我在stm32f3探索板工作。对于我目前的项目,我计划在电路板上编写一个简单的UART程序,我碰巧在互联网上的某个地方读到,要使用电路板与PC进行UART通信,必须使用“用户USB” 我的问题如下Embedded stm32f3';用户USB';未检测到,embedded,stm32,Embedded,Stm32,我在stm32f3探索板工作。对于我目前的项目,我计划在电路板上编写一个简单的UART程序,我碰巧在互联网上的某个地方读到,要使用电路板与PC进行UART通信,必须使用“用户USB” 我的问题如下 首先,当我使用“用户USB”将主板连接到PC时。电脑拒绝识别电路板。(使用的F.Y.I-OS为64位windows 7)。即使我更新了驱动程序,这个问题仍然存在!如何解决这个问题 “连接用户USB”部分是否正确?因为我看不到板上有RS232芯片 我应该使用附加板吗 另外,我已经从ST网站安装了所有
- 首先,当我使用“用户USB”将主板连接到PC时。电脑拒绝识别电路板。(使用的F.Y.I-OS为64位windows 7)。即使我更新了驱动程序,这个问题仍然存在!如何解决这个问题
- “连接用户USB”部分是否正确?因为我看不到板上有RS232芯片
- 我应该使用附加板吗
另外,我已经从ST网站安装了所有必要的驱动程序,并且在使用董事会的“ST链接接口”部分时工作正常。几周前,我开始与STM32F3迪斯科合作。用户USB的事情有点棘手。 要弄清楚:该板有2个USB端口
- 一个主要用于编程和调试。它连接到第二个ST芯片,该芯片用作编程适配器
- 秒(称为用户USB)连接到您编程的STM32F303芯片
我希望这就是你的问题的答案。谢谢你的帖子,我有同样的问题,这里是我补充的 方法:通过将输入更改为输出,以编程方式关闭USB线路,强制其归零,并在大约1秒后重新启用 还使用ST USB Libs的电源关闭和打开
因此,基本上为了避免通电竞争条件,可以对端口进行编程
首先是输出,然后在1秒后释放。从哪里获得有关“用户USB”的信息?也许他们认为你需要自己的转换器。
// Force Re-Enumeration by the USB Host
//
int aux_retrigger_usb()
{
GPIO_InitTypeDef GPIO_InitStructure;
// ST USB Function
PowerOff();
// Program Pin 12 USB_DP from Input to Output
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOA, &GPIO_InitStructure);
// Set USB_DP to 0
GPIOA->BRR |= GPIO_Pin_12 ;
// Wait for for minimum 32* 50msec , 1,6 secs
while(tim3_cnt%32!=0) ; while(tim3_cnt%32!=31) ;
// ST USB Functions
PowerOn();
USB_Init();
Virtual_Com_Port_Reset() ;
// Program Pin 12 USB_DP from Output to input
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOA, &GPIO_InitStructure);
return 1 ;
}