OpenEdv-开源电子网

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

USB连接检测标志bDeviceState

[复制链接]

10

主题

64

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3105
金钱
3105
注册时间
2012-3-12
在线时间
261 小时
发表于 2012-5-2 16:25:31 | 显示全部楼层 |阅读模式
 USB实验,请问if (bDeviceState == CONFIGURED)中的bDeviceState在USB连接成功时,程序什么地方将它改成CONFIGURED的?USB这块一会是ST自带的,一会是原子哥自定义的,看得有点懵!请路过的大神指点一二吧
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-5-2 16:35:16 | 显示全部楼层
回复【楼主位】破浪:
---------------------------------
可以点一下那个望远镜的小图标,然后在整个工程的.h,.c里面查找.
你就知道在哪里修改的了.
这个是ST定义的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

10

主题

64

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3105
金钱
3105
注册时间
2012-3-12
在线时间
261 小时
 楼主| 发表于 2012-5-2 16:49:20 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
嗯,我找过,有2个函数改变了它的值void Leave_LowPowerMode(void)跟void Joystick_SetConfiguration(void),但是我没找到原子哥写的USB实验在哪里调用了其中的一个函数,所以....
回复 支持 反对

使用道具 举报

10

主题

64

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3105
金钱
3105
注册时间
2012-3-12
在线时间
261 小时
 楼主| 发表于 2012-5-2 17:31:27 | 显示全部楼层
个人觉得bDeviceState标志应该是中断或扫描改变它的值,觉得它应该在void USBWakeUp_IRQHandler(void)
{
EXTI->R|=1<<18;//清除USB唤醒中断挂起位
}这个函数里面处理应该可以,可是原子哥的程序找不到哦!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-5-2 19:53:58 | 显示全部楼层
回复【4楼】破浪:
---------------------------------
不是在这里.你全文查找,肯定可以找到的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2015-4-20
在线时间
0 小时
发表于 2015-4-20 17:54:27 | 显示全部楼层
请问这个调用实在哪里调用的啊,USB声卡出错了
回复 支持 反对

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2015-4-20
在线时间
0 小时
发表于 2015-4-20 18:21:04 | 显示全部楼层
回复【3楼】破浪:
---------------------------------朋友,请问一下这个地方的调用,是怎么回事儿啊?新手。
回复 支持 反对

使用道具 举报

138

主题

362

帖子

0

精华

高级会员

Rank: 4

积分
997
金钱
997
注册时间
2012-9-17
在线时间
29 小时
发表于 2015-9-8 11:23:46 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
我找到了,在这里:
//端点1用于数据发送给电脑
void EP1_IN_Callback(void)
{
  Mass_Storage_In();
}
但是我想问下原子哥,为什么有中断不用呢?  这样不是更好么? 干嘛要查询呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-9-8 23:21:41 | 显示全部楼层
回复【8楼】一个好人:
---------------------------------
哪里用查询啊?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

138

主题

362

帖子

0

精华

高级会员

Rank: 4

积分
997
金钱
997
注册时间
2012-9-17
在线时间
29 小时
发表于 2015-9-9 17:12:10 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
你的USB标志位是用的查询的,而不是中断得到的!   难道我看错了?
回复 支持 反对

使用道具 举报

138

主题

362

帖子

0

精华

高级会员

Rank: 4

积分
997
金钱
997
注册时间
2012-9-17
在线时间
29 小时
发表于 2015-9-9 17:13:22 | 显示全部楼层
回复【10楼】一个好人:
---------------------------------
我这样问吧,为什么这里两个函数不用呢?
//USB中断配置
void USB_Interrupts_Config(void)
{
  
EXTI->IMR|=1<<18;//  开启线18上的中断
  EXTI->RTSR|=1<<18;//line 18上事件上升降沿触发  
MY_NVIC_Init(1,0,USB_LP_CAN_RX0_IRQChannel,2);//组2,优先级次之
MY_NVIC_Init(0,0,USBWakeUp_IRQChannel,2);     //组2,优先级最高    
}
回复 支持 反对

使用道具 举报

4

主题

63

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2017-1-11
在线时间
27 小时
发表于 2018-3-1 12:26:01 | 显示全部楼层
正点原子 发表于 2015-9-8 23:21
回复【8楼】一个好人:
---------------------------------
哪里用查询啊?

原子,已经有很多人开始奇怪你了,一会自己写一点,一会去用库里面的东西,绕来绕去。这个USB本来很简单,你硬是要写的这么复杂。
回复 支持 反对

使用道具 举报

4

主题

63

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2017-1-11
在线时间
27 小时
发表于 2018-3-1 12:30:33 | 显示全部楼层
正点原子 发表于 2015-9-8 23:21
回复【8楼】一个好人:
---------------------------------
哪里用查询啊?

你自己一共就写了几句   程序逻辑而已,你都不注释,就那么几句,而且视频不讲解。你写的东西天天让学的人来猜,除了比较厉害的,没几个人猜的出来。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-3-1 15:02:19 | 显示全部楼层
1,修改就是在这些地方(通过全文查找功能,可以全部搜出来) 无标题.png
2,至于这些函数,是在哪里调用的。 并没有被用户直接调用!而是经过USB中断,USB处理机制自己去处理的。也就是通过中断调用的。
所以你看不到我写了代码调用这个函数。这些函数是USB内核,通过中断驱动机制去掉用的。而且USB驱动里面有一些函数指针,指来指去的,不一定名字一样,得详细去看代码缝隙。
如果对这些不了解,那就要加强这方面学习。

最后,我并没有让大家天天来猜,而是有些东西是前提条件,比如C语言的一些内容,我认为应该是学校老师的问题,而不是我们重点讲的。
如果什么都要重头开始讲起,那也就没发开展了。 说的好听点是有一点点不懂,说的难听点,难道让我从认识字母开始讲起么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-3-1 15:03:49 | 显示全部楼层
我发现现在的学生,就是懒惰惯了。
什么都想着视频帮你讲的非常详细,最好代码都不用自己写了。然后就可以去做开发了,做设计了。
我真担心这是在促进教育呢,还是走倒退路线。

我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-3-1 15:04:20 | 显示全部楼层
讲真的,自己没写过万把行代码,都不好意思说会写代码。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2019-7-6
在线时间
27 小时
发表于 2019-9-17 19:08:35 | 显示全部楼层
搜索过了,也都看了,还是不太懂,想知道什么条件触发了它的状态改变,哪个函数让他发生了改变。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-29 04:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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