6310|11

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

版主求教virtualComPort [复制链接]



硬件连接电路如:USB电路.jpg和cpu.jpg所示,电源4脚USB_HOST_DEC接AD,不过现在不用。CPU为STM32F103VCT6,采用外部晶振12M,固件库采用STM32_USB-FS-Device_Lib_V3.2.1中的virtual_Com_port。
按照USB时钟要求,已经把PLLCLK配置为72M,USB预分频1.5。程序下载后主机提示:unknown Device,于是看是否有中断产生,具体做法是在void USB_LP_CAN1_RX0_IRQHandler(void)设置标志位,但没看到标志位成功。仔细想想时钟配置应该没什么问题(串口调试成功,板子也跑起来了),固件库也曾在另一个板子上调试成功过,在这里只修改了外部晶振。到现在不知道要怎么下去,还请版主和各位大朋友指导。

USB电路.jpg (54 KB)

USB电路.jpg

cpu.jpg (53.86 KB)

cpu.jpg

此帖出自stm32/stm8论坛

最新回复

                                  谢谢vigia。  详情 回复 发表于 2010-8-11 18:55
点赞 关注
 

回复
举报

54

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
                                 版主求救啊。
此帖出自stm32/stm8论坛
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
你的DP直接接到了3.3V,不知道你是使用USB供电,还是另外有供电。

如果你在下载程序的时候已经连接了USB线,那么主机会在你插上USB线的瞬间要求设备进行枚举,但是此时你应该在下载代码,所以你的设备已经错过了向主机枚举的过程。主机判定枚举超时无响应,所以你的设备变成一个unknown Device。

所以你可以试试脱机跑代码,看看设备能不能正常完成枚举。
此帖出自stm32/stm8论坛
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

4
 
在这里是配置成自供电的,请问vigia硬件上会存在问题吗?
USB是在下载完成后接入的,情况还是一样。
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

5
 
暂时看不出是什么问题。

记得原来的例子是在晶振为8MHz时配置的,你先用一个8MHz的晶体,在不修改原来程序的基础上试试看是否可以工作。
此帖出自stm32/stm8论坛
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

6
 

有试过,但是没效果。再向版主请教个问题。
  /* Configure USART Tx as alternate function push-pull */
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_InitStructure.GPIO_Pin = COM_TX_PIN[COM];
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(COM_TX_PORT[COM], &GPIO_InitStructure);
  /* Configure USART Rx as input floating */
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_InitStructure.GPIO_Pin = COM_RX_PIN[COM];
  GPIO_Init(COM_RX_PORT[COM], &GPIO_InitStructure);
  /* USART configuration */
  USART_Init(COM_USART[COM], USART_InitStruct);
   
  /* Enable USART */
  USART_Cmd(COM_USART[COM], ENABLE);
1.这个是在stm32f10e_eval.c对USART1_TX/USART1_RX引脚的配置,我的问题是USB虚拟串口数据是从DP、DM数据线上传来的,为什么还要配置TX/RX引脚?
2.还有从USB读写数据USART_To_USB_Send_Data();USART_ReceiveData(USART1)的函数也是对USARTx->DR寄存器读写,而USB总线上的数据是有个Analog Transceiver接收发送。这样的话从USARTx->DR读写的数据与USB总线的数据不是不一样了吗?
此帖出自stm32/stm8论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

7
 
                                 如果把晶振为8MHz时也有问题,说明不是程序的问题,应该是你的硬件问题。
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

8
 

这个马上去查查。版主能不能把刚刚问的问题提点下。
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

9
 
                                 对不起,我还没有看过这个例子,等有时间我看看吧。
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

10
 

谢谢版主。一直问你也挺不好意思的。
此帖出自stm32/stm8论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

11
 
8# 版主  
这个马上去查查。版主能不能把刚刚问的问题提点下。
1, 这个例程是通过USB从主机接收数据,然后将数据通过USART发送到其他外部设备。或者通过USART从外部设备接收数据,然后通过USB将数据上传到主机。所以USART还是需要配置的。

2, 这个问题没看懂。。。。
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

12
 

谢谢vigia。
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表