阅读:1726回复:7
弱弱的问题..SL811的初始化具体要做哪些工作啊??
各位大大..在这里,看了好多大侠们的提示 ,受益非浅!
我现在做SL811+51的案子.可是可是刚开始就遇到一个很头痛的问题:我插入盘后,不能产生中断.我觉得可能是我初始化的工作没有做好.因此,想请问过往大侠们:SL811初始化工作? 现在卡住了.无法进展.大家帮我一下啊. |
|
|
沙发#
发布于:2005-07-27 18:24
再顶一下..大侠们请提示一下啊...
|
|
|
板凳#
发布于:2005-07-29 09:53
初始化就设置一些参数啊
|
|
|
地板#
发布于:2005-07-29 19:32
下面是引用kkyouking于2005-07-29 09:53发表的: kkyouking大侠,谢谢您! 不过,您能否给我讲一下具体要设置哪些参数呢?我现在去被动局面写811内部的RAM时,读回来的数据总有几位是一直为高电平或者低电平....但数据线没有接到VCC或者GND上. 这是什么原因造成的啊? |
|
|
地下室#
发布于:2005-08-01 13:34
主要是设置SL811里面的初始化,单片机本身的初始化
|
|
|
5楼#
发布于:2005-08-03 10:43
我也对此问题迷惑,但是一直没有一个人讲清楚,我知道初始化是对这个sl811内部寄存器设置,赋值使其按设置的方式开始工作!但是迷惑的是我曾看到别人的参考代码差别很大,而且就其中的具体设置有不解,望大侠出来相助啊!
第一个比较简单,前两句是什么功能,不解如何达到初始化目的 的! void sl811h_init(void) { SL811H_DATA = 0x00; //这个是什么意思? SL811H_ADDR = 0x00; //这个为什么和上面一样? FULL_SPEED = TRUE; SLAVE_FOUND = FALSE; SLAVE_ENUMERATED = FALSE; } 第二个:另外看到下面所写的: void SL811HS_Init(void) { bFlags.bits.SLAVE_ONLINE = FALSE; bFlags.bits.SLAVE_FOUND = FALSE; bFlags.bits.SLAVE_REMOVED=FALSE; bFlags.bits.SLAVE_ENUMERATED = FALSE; bFlags.bits.SLAVE_IS_ATTACHED = FALSE; SL811Write(IntEna, INSERT_REMOVE);//允许设备接入移除中断 SL811Write(cSOFcnt, 0xAE);//HostMode SL811Write(CtrlReg, 0x08);// 强制USB复位,D+D-均置低 SL811Write(CtrlReg, 0x00);// 进行正常USB总线操作 SL811Write(cSOFcnt, 0xAE);//为什么再次如此操作??? SL811Write(CtrlReg, 0x08);//为什么再次如此操作??? DelayMs(10); //延时函数 SL811Write(CtrlReg, 0x00); DelayMs(1); SL811Write(IntStatus, INT_CLEAR); //清除所有中断 } 至于第二个代码所写的其中标注中打问号的地方不解。为什么有重复设置是考虑什么因素呢?哪位大侠出来能否对此初始化问题详解一下,提供一个参考代码并对每一句的含义注释一下!真 的太谢谢了,我一直没有搞清楚,心里很是着急! 另外:楼主,我也正做这个课题,希望我们共同努力,突破难关~我的email:minhead@fescomail.net 有事讨论啊!或者什么时候QQ加我,我有你的QQ好像!呵呵 |
|
6楼#
发布于:2005-08-04 18:42
请各位大侠出来指导一下哦!:)
|
|
7楼#
发布于:2005-08-04 19:11
楼主,我qq已经加你了,请求你通过验证,希望我们一起努力搞定!
|
|