OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4676|回复: 1

移植USB程序失败,求帮助!

[复制链接]

60

主题

153

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
369
金钱
369
注册时间
2013-12-23
在线时间
32 小时
发表于 2014-1-17 15:47:24 | 显示全部楼层 |阅读模式
在USB实验的代码上直接修改后烧写到开发板上,用USB读写SD卡都没有问题。移植到我自己的工程中之后出现了以下几个问题:
1.USB_Init这个函数过不去,一路跟踪之后发现问题出在PowerOn函数里我试着给延时没有用,如果放一个printf()语句在这里居然就能过去了,不管是什么样的内容的printf语句都可以,请问这是为什么?
这是PowerOn的内容:
RESULT PowerOn(void)
{
  u16 wRegVal;
  USB_Cable_Config(ENABLE);
  wRegVal = CNTR_FRES;
  _SetCNTR(wRegVal);
  wInterrupt_Mask = 0;
  _SetCNTR(wInterrupt_Mask);
  printf("");  //必须在这里加其他地方不行
  _SetISTR(0);
  wInterrupt_Mask = CNTR_RESETM | CNTR_SUSPM | CNTR_WKUPM;
  _SetCNTR(wInterrupt_Mask);
  return USB_SUCCESS;
}

这是我的usart
void USART_GPIO_Configuration(void)
{
    GPIO_InitTypeDef GPIO_InitStruct;

    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStruct);

    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_10;   
    GPIO_Init(GPIOA, &GPIO_InitStruct);
   
}

void USART_Configuration(void)
{
    USART_InitTypeDef USART_InitStruct;
   
    USART_InitStruct.USART_BaudRate = 115200;
    USART_InitStruct.USART_StopBits = USART_StopBits_1;
    USART_InitStruct.USART_WordLength = USART_WordLength_8b;
    USART_InitStruct.USART_Parity = USART_Parity_No;
    USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    USART_InitStruct.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;   //使能接收和发送
   
    USART_Init(USART1, &USART_InitStruct);
    USART_Cmd(USART1, ENABLE);//使能串口1
    USART_GPIO_Configuration();
}

2.USB在PC上显示的是无法识别的设备,因为我使用了systick定时器在定时器中加了一个闪烁LED灯来显示定时器正常工作,而我的开发板上对应的USB引脚有三个:DP,DM和RDY,分别为PA12,PA11,PA8,光设置11和12还不行必须要设置8脚,在USB_Cable_Config中也要用8脚,改实验代码的时候就是使能8脚后才成功读写的。但是现在的问题是一旦我使能8脚我的系统时钟好像基础问题了,前面提到的systick定时器中的闪烁灯就常亮,不再闪烁,而USB设备也显示无法识别,一屏蔽8脚的设置之后,systick就工作正常,我的其他模块也工作正常,但是就连无法识别的USB设备都没有了,请教该怎么解决

这是USB的原理图



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

41

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2013-8-1
在线时间
0 小时
发表于 2014-1-19 11:52:08 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 22:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表