OpenEdv-开源电子网

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

开发的系统板,USB插入电脑后,电脑没有任何反应,怎么回事?

[复制链接]

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-3-7
在线时间
0 小时
发表于 2015-3-7 14:45:24 | 显示全部楼层 |阅读模式
5金钱
原子哥,我做了一个小板子,有USB接口,可是把USB 程序烧录进去后,插上电脑,电脑没有任何反应,我用的是STM32F103。单步调试的时候程序就在startup_stm32f10x_hd.s文件中出不来!不知道咋回事,求您帮忙看看。当然各位坛友如果有好的建议也希望你们能说说

最佳答案

查看完整内容[请看2#楼]

回复【4楼】飞翔一生有你: --------------------------------- 串口没初始化,就会有这种问题.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-3-7 14:45:25 | 显示全部楼层
回复【4楼】飞翔一生有你:
---------------------------------
串口没初始化,就会有这种问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-3-7 22:48:21 | 显示全部楼层
你这程序都不跑了,先搞个能跑的代码试试吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

6

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2014-5-20
在线时间
2 小时
发表于 2015-3-7 22:50:42 | 显示全部楼层
这没法说,没现象。你在哪个函数中出不来啊,是不是硬件错误中断处理函数啊?
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-3-7
在线时间
0 小时
 楼主| 发表于 2015-3-8 10:06:34 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥,其他的代码当然是没有问题了,我采用但不调试,程序运行到int fputc(int ch, FILE *f)函数中的while (!(USART3->SR & USART_FLAG_TXE));这句话时,就怎么也运行不下去了,也跳不出来,我也很郁闷,原因无论从硬件还是软件都找了,没找出来!
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-3-7
在线时间
0 小时
 楼主| 发表于 2015-3-8 10:07:04 | 显示全部楼层
回复【3楼】小达人:
---------------------------------
我采用单步调试,程序运行到int fputc(int ch, FILE *f)函数中的while (!(USART3->SR & USART_FLAG_TXE));这句话时,就怎么也运行不下去了,也跳不出来
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-3-7
在线时间
0 小时
 楼主| 发表于 2015-3-8 10:11:23 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
补充一下,本身这USB的代码在别个板子上是能运行的,但是在我这里是不能运行的。int main(void)
{
printf("第一");
 /* USART3 config */
USART3_Config();
printf("????");
LED_GPIO_Config();
  
/*??????SD?¨*/
Set_System();
  
/*?è??USB?±????48M*/
Set_USBClock();
 
/*????USB????(°ü?¨SDIO????)*/
USB_Interrupts_Config();
 
/*USB??????*/
  USB_Init();
printf("????");
  while (bDeviceState != CONFIGURED);  //?????????ê??
   
printf("\r\n ?°?? ISO STM32 USB MASS STORAGE ???é\r\n");
 
  while (1)
  {
    printf("????");
LED1_TOGGLE;
    USB_Delay(0x0FFFFF);
  }
}
我本想即使不能识别出设备,那至少这个printf函数应该能运行吧,但是程序就在这个第一个printf这个卡着了,我这个打印是通过USART3显示在串口助手这个软件上的!
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-3-7
在线时间
0 小时
 楼主| 发表于 2015-3-9 20:59:37 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
还是原子哥厉害,我也是刚刚发现了原因,printf函数应该写在串口初始化的下面,哈哈,多谢原子哥,还有小达人,谢谢你的解答!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-25 08:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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