USB论坛-百合电子工作室USB专题站

 找回密码
 我要注册
搜索
热搜: USB学习板
查看: 5209|回复: 7
打印 上一主题 下一主题

PD12中INT脚电平问题

[复制链接]

1

主题

0

好友

19

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2013-10-18 22:06:20 |只看该作者 |倒序浏览
你好谢工! 我想问下关于PD12芯片中  INT引脚是什么时候变成高电平的,文档中说如果有USB中断触发那么 INT引脚低电平有效,那么言下之意就是平时默认情况下应该是高电平才对,但事实并不是这样,平时我把单片机拿掉,或者烧入一个和USB不相关 的程序,默认情况下 51单片机 INT0 也就是P32引脚,虽然默认情况下是5V高电平,但连上 PD12 引脚后就变成低电平了,但这时 也没有什么USB程序在跑,就被拉低,但USB程序输出后 USB初始化过后  INT0却一直保持高电平,似乎很正常 。我不知道程序里从哪一步开始 INT0被一直保持在高电平直到 有USB中断触发后才保持低电平的。

还有一个非常严重的问题,我模仿之前圈圈的程序,用3.3V的单片机,程序写到 链接内部上拉电阻 启动USB,按理来说电脑这边要发询问命令,会有中断什么的  INT引脚 应该有变化吧 ,但一直都低电平,所以很郁闷,不知怎么回事。还请谢工指点下。
回复

使用道具 举报

1

主题

0

好友

19

积分

新手上路

Rank: 1

沙发
发表于 2013-10-18 22:16:15 |只看该作者
之前操作我能正确读取 PD12 的ID信息, 0x1012  只是自己写程序测试,中断触发程序,
写成
当 INT0引脚==0的时候 读取USB中断寄存器查看哪个中断源 , 但这个引脚一直是低电平, USB中断似乎也没有触发,在这里我串口调试软件上根本看不出来什么东西。
回复

使用道具 举报

6

主题

0

好友

1158

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2013-10-20 21:17:25 |只看该作者
不好意思,忘了回复了。USB没有中断产生时确实应该是高电平,有USB中断时才是低电平。您所说的没有运行USB程序时,中断脚也是低电平,这是因为D12一连上主机后,主机就会请求设备,所以会产生USB中断,而单片机程序没有对中断进行响应,所以这个中断还存在。
回复

使用道具 举报

6

主题

0

好友

1158

积分

管理员

Rank: 9Rank: 9Rank: 9

地板
发表于 2013-10-20 21:26:33 |只看该作者
duanyuzhong 发表于 2013-10-18 22:16
之前操作我能正确读取 PD12 的ID信息, 0x1012  只是自己写程序测试,中断触发程序,
写成
当 INT0引脚= ...

只要是低电平,就应该是有USB中断的,只要读取中断寄存器后,INT0就会变回高电平。不知您所说的串口调试软件用来看什么,是否程序里嵌入了向串口发送调试信息的代码?
回复

使用道具 举报

1

主题

0

好友

19

积分

新手上路

Rank: 1

5#
发表于 2013-10-21 21:31:41 |只看该作者
baiheee 发表于 2013-10-20 21:26
只要是低电平,就应该是有USB中断的,只要读取中断寄存器后,INT0就会变回高电平。不知您所说的串口调试软 ...

你好!谢工,之前的问题已经解决,是我大意了,我参考别人自己写了串口调试程序,其中有一段是 ifdefine xxx时候 ,显示中断源的串口调试信息,但这个XXX我大小写弄错了,所以串口上一直没有看到对应信息。现在纠正了 ,能在串口上看到  触发哪个中断源了   电脑这边第一个发来测信息已经顺利读出 ,并读到了首个发来的8个字节,非常高兴,测试程序我现在继续往下写,非常感谢你和圈圈的学习资料。
不过有点我想说下,就是上次,我把51单片机拿掉,单独给PD12上电时, PD12的INT脚确实是低电平,悬空 状态 ,低电平 。
回复

使用道具 举报

1

主题

0

好友

19

积分

新手上路

Rank: 1

6#
发表于 2013-10-21 21:43:25 |只看该作者
baiheee 发表于 2013-10-20 21:17
不好意思,忘了回复了。USB没有中断产生时确实应该是高电平,有USB中断时才是低电平。您所说的没有运行USB程 ...

有一点我想纠正一下,这个USB程序里面有着决定是否正真链接USB的一条软连接程序,否则只是上了5V的电而已 ,有一个Set MODE命令  它里面有一个位设置可以  使得PD12内部上拉电阻 连上D+ 使得 电脑正真感应到USB连接从而发命令,如果程序里没有设置这一位而是仅仅 把USB插头插上 ,电脑是不会理会的,不会发请求命令,那按理来说也不会产生中断吧 ! 只有设置了这一步,我随后看到  电脑上显示 “无法识别的USB设备” 说明电脑有反应了,发命令了,否则插上USB头子  电脑不会出现这句话
回复

使用道具 举报

6

主题

0

好友

1158

积分

管理员

Rank: 9Rank: 9Rank: 9

7#
发表于 2013-10-22 09:15:19 |只看该作者
也不清楚如果没有对D12进行一下软连接,D12本身默认是否将上拉电阻连接到D+上没有,资料里好像没说,如果默认是连接到D+的话,插上电缆线后系统就会提示发现USB设备。有些朋友可能还不明白主机是如何检测USB设备的插入动作的,可以参考我写的文章:《搭个简单电路验证USB主机是如何检测USB设备的插入和拨出动作的
回复

使用道具 举报

0

主题

0

好友

4

积分

产品用户

Rank: 4

8#
发表于 2014-4-28 19:52:29 |只看该作者
晕呢。不知道您说的是U1的INT_N,还是U2的p3.2/INT0
回复

使用道具 举报

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

USB开发网 (渝ICP备09006681号-4)

GMT+8, 2024-4-23 19:06 , Processed in 0.062674 second(s), 24 queries .

百合电子工作室版权所有
回顶部