bylxy000 发表于 2013-9-13 11:47

LM629程序读取不出标志位

用C8051F380控制LM629M-8,读取不出状态标志位“Status Byte”。
函数:
uchar LM629_RD_Status()
{
uchar state =0;
LM629_CS=0;
LM629_WR=1;
LM629_PS=0;
LM629_RD=0;
_nop_();
state   =P4;
LM629_RD=1;
_nop_();
LM629_PS=1;
LM629_CS=1;
return state;
}

时序:

时序:

airwill 发表于 2013-9-13 16:59

最好先用示波器验证一下时序图吧

bylxy000 发表于 2013-9-17 10:31

airwill 发表于 2013-9-13 16:59 static/image/common/back.gif
最好先用示波器验证一下时序图吧

LM629_CS=0;//低2us    ¸高2.4us
LM629_WR=1;
LM629_PS=0;//低1.4us¸高3us
LM629_RD=0;//低0.8us¸高3.6us
_nop_();
state   =P4;
LM629_RD=1;
_nop_();
LM629_PS=1;
LM629_CS=1;
return state;

airwill 发表于 2013-9-17 10:45

看样子示波器跟不上要求了.
可以考虑配备一个 逻辑分析仪.
象 http://item.taobao.com/item.htm?spm=a1z10.3.w1017-2032955849.23.gliD2l&id=20234619559&
或者功能更好一点的

bylxy000 发表于 2013-9-17 11:48

airwill 发表于 2013-9-17 10:45 static/image/common/back.gif
看样子示波器跟不上要求了.
可以考虑配备一个 逻辑分析仪.
象 http://item.taobao.com/item.htm?spm=a1z10. ...

.....
为什么不是0x0000 呢 ?

bylxy000 发表于 2013-9-18 08:34

咋就没人呢 灌水的 帮我灌灌

lh2008071102 发表于 2013-9-20 16:19

      setDataPortIn;
        for(i = 0; i < CPLD_NUMBER; i++)
        {
                if(i != addr)
                        CS_1(i);                                                   //失能 addr以外的片选
                else
                        CS_0(i);                                                   //使能 addr对应的片选
        }
        PS0;RD0;WR1;
        CPLD_GetData(state);//(u8)(GPIOA->IDR & 0xFF);
        RD1;PS1;


STM32 72M 工作正常

bylxy000 发表于 2013-9-23 09:07

lh2008071102 发表于 2013-9-20 16:19 static/image/common/back.gif
setDataPortIn;
        for(i = 0; i < CPLD_NUMBER; i++)
        {


...

bylxy000 发表于 2013-9-23 13:21

求大神救命啊我真是写不出来了 我了个擦了 难道是因为没接电机所以不好使么 哪个大神能帮帮我啊 疯了C8051F380是流水线结构的 也没有逻辑分析仪 看不清时序 我是真没招了 谁给我思路也行啊

bylxy000 发表于 2013-9-23 13:25

程序打包了 谁救救我啊

bylxy000 发表于 2013-10-22 10:28

求帮忙啊 诶

石一郎 发表于 2013-10-29 10:44

顶一顶
页: [1]
查看完整版本: LM629程序读取不出标志位