dairlom
驱动牛犊
驱动牛犊
  • 注册日期2003-04-25
  • 最后登录2006-05-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1726回复:7

弱弱的问题..SL811的初始化具体要做哪些工作啊??

楼主#
更多 发布于:2005-07-26 18:14
  各位大大..在这里,看了好多大侠们的提示 ,受益非浅!

我现在做SL811+51的案子.可是可是刚开始就遇到一个很头痛的问题:我插入盘后,不能产生中断.我觉得可能是我初始化的工作没有做好.因此,想请问过往大侠们:SL811初始化工作?

现在卡住了.无法进展.大家帮我一下啊.
LM
dairlom
驱动牛犊
驱动牛犊
  • 注册日期2003-04-25
  • 最后登录2006-05-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-07-27 18:24
再顶一下..大侠们请提示一下啊...
LM
kkyouking
驱动中牛
驱动中牛
  • 注册日期2004-02-23
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分47分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-07-29 09:53
初始化就设置一些参数啊
52+PDIUSBD12开发套件 SL811单片机读写U盘套件 www.devking.cn 联系sl811hs@yahoo.com.cn QQ 14441292
dairlom
驱动牛犊
驱动牛犊
  • 注册日期2003-04-25
  • 最后登录2006-05-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-07-29 19:32
下面是引用kkyouking于2005-07-29 09:53发表的:
初始化就设置一些参数啊


kkyouking大侠,谢谢您!
不过,您能否给我讲一下具体要设置哪些参数呢?我现在去被动局面写811内部的RAM时,读回来的数据总有几位是一直为高电平或者低电平....但数据线没有接到VCC或者GND上.

这是什么原因造成的啊?
LM
kkyouking
驱动中牛
驱动中牛
  • 注册日期2004-02-23
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分47分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-08-01 13:34
主要是设置SL811里面的初始化,单片机本身的初始化
52+PDIUSBD12开发套件 SL811单片机读写U盘套件 www.devking.cn 联系sl811hs@yahoo.com.cn QQ 14441292
minhead
驱动牛犊
驱动牛犊
  • 注册日期2003-05-15
  • 最后登录2006-05-28
  • 粉丝0
  • 关注0
  • 积分98分
  • 威望14点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
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好像!呵呵
minhead
驱动牛犊
驱动牛犊
  • 注册日期2003-05-15
  • 最后登录2006-05-28
  • 粉丝0
  • 关注0
  • 积分98分
  • 威望14点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-08-04 18:42
请各位大侠出来指导一下哦!:)
minhead
驱动牛犊
驱动牛犊
  • 注册日期2003-05-15
  • 最后登录2006-05-28
  • 粉丝0
  • 关注0
  • 积分98分
  • 威望14点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-08-04 19:11
楼主,我qq已经加你了,请求你通过验证,希望我们一起努力搞定!
游客

返回顶部