打印
[应用相关]

STM32F10x的USB使用疑问,请指点,谢谢

[复制链接]
2186|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
id001|  楼主 | 2008-7-22 14:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看了STM32关于USB的几个例程,发现都是:
//----------------------------------------------------------
  /* Wait until device is configured */
  while (pInformation->Current_Configuration == 0)
  {
    NOP_Process();
  }
  bDeviceState = CONFIGURED;
//-----------------------------------------------------------
即程序运行后一直等待USB连接,等USB配置完成之后才继续往下运行。

我的问题是:
在没有连接电脑时程序能够运行,执行其它的功能,待和电脑连接时又能和电脑进行数据交换,(例如MP3)。

请问该如何实现呢?

对STM32的USB还不很熟悉,请指点。

沙发
id001|  楼主 | 2008-7-22 14:09 | 只看该作者

哦,把自己需要的功能函数代替NOP_Process();呀



不知道还有其它的方法没有?

使用特权

评论回复
板凳
vigia| | 2008-7-22 15:14 | 只看该作者

把你列出来的那段删掉

初始化以后就执行你自己的代码,想实现什么功能就实现什么功能。

只要定时的查询一下pInformation->Current_Configuration 有没有被置位。

使用特权

评论回复
地板
香水城| | 2008-7-22 23:20 | 只看该作者

做MP3的操作比较复杂,一般进行USB操作时应该停止MP3的播放

否则,如果正在播放的曲子刚好被USB主机删除,软件的处理将相对比较复杂,但不是不能做到。目前的MP3播放机都是采取这样的策略,包括iPod。

参考USB协议第九章的设备状态图,只有一个USB设备处于Configured状态时它才能进行有效的数据传输。在STM32的USB库中,pInformation->Current_Configuration这个分量记录了Set_Configuration命令设置的状态。所以通过检查这个分量的内容,STM32中的固件程序可以知道是否进入了Configured状态。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

107

帖子

0

粉丝