OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » Z85C30 求救:Z85C30初始化

共3条 1/1 1 跳转至

Z85C30 求救:Z85C30初始化

院士
2006-12-22 22:43:00    评分
Z85C30 求救:Z85C30初始化



关键词: Z85C30     求救     初始化    

院士
2006-12-22 22:43:00    评分
2楼
问 小弟使用Z85C30芯片进行HDLC协议通信,现在芯片的初始化不能通过,那位大哥使用过该芯片,帮帮小弟吧! 1: 85c30我已救了一个人,但不知是否救活?
我用85C30多年,现在遇到的问题是;
1)CRC与一般的不同,
2)传码先后不同
3)同步难解决
我可给你初始化程序

void sccinit(void)                             //Z85C30初始化
{
XBYTE[Scca]=0x09;                         //wr9 reset
XBYTE[Scca]=0xc0;                         //hardware reset

XBYTE[Scca]=0x09;                         //port A reset
XBYTE[Scca]=0x80;

XBYTE[Scca]=0x00;                         //wr0  set
XBYTE[Scca]=0x40;                         //Rx crc reset

XBYTE[Scca]=0x00;                         //wr0  set
XBYTE[Scca]=0x80;                         //Tx crc reset

XBYTE[Scca]=0x04;                         //wr4  set
XBYTE[Scca]=0x10;                         //sync

XBYTE[Scca]=0x01;                         //int mode
XBYTE[Scca]=0x00;

XBYTE[Scca]=0x02;                         //int vect
XBYTE[Scca]=0x40;

XBYTE[Scca]=0x03;                         //Rx set
XBYTE[Scca]=0xd0;                         //wr3 reset

XBYTE[Scca]=0x05;                         //Tx set wr5 reset
XBYTE[Scca]=0x60;                         //8bit no CRC pormis

XBYTE[Scca]=0x06;                         //sync word wr6
XBYTE[Scca]=0xab;
XBYTE[Scca]=0x07;                         //sync word WR7
XBYTE[Scca]=0xab;

XBYTE[Scca]=0x09;                         //WR9  prohibit  aLL int
XBYTE[Scca]=0x00;

XBYTE[Scca]=0x09;                         //WR9  repeat two times
XBYTE[Scca]=0x00;

XBYTE[Scca]=0x0a;                         //wr10 set
XBYTE[Scca]=0x20;                         //20 NRZI mode

XBYTE[Scca]=0x0b;                         //wr11 set
XBYTE[Scca]=0x76;                         //TRxC=BR RX cLock=DPLL

XBYTE[Scca]=0x0c;                         //wr12 set
XBYTE[Scca]=0x3e;                         //2.4k bps

XBYTE[Scca]=0x0d;                         //wr13 set
XBYTE[Scca]=0x03;                         //2.4k bps

XBYTE[Scca]=0x0e;                         //wr14 reset
XBYTE[Scca]=0x22;                         //search  mode

XBYTE[Scca]=0x0f;                         //wr15 reset
XBYTE[Scca]=0x10;                         //sync search

XBYTE[Scca]=0x0e;                         //wr14 set  SCC enabLe
XBYTE[Scca]=0x23;

XBYTE[Scca]=0x03;                         //wr3 set
XBYTE[Scca]=0xd1;                         //Rx enabLe

XBYTE[Scca]=0x05;                         //wr3 set
XBYTE[Scca]=0x60;       //tx enabLe 2: song9644 谢谢您不知道您用Z85C30做过HDLC通信没有,我现在调试不出,请您指教! 3: z我没说清楚,CRC 就是HDLC方式下的校验码.与标准CRC有所不同,如两端均用Z85C30,则无问题,如与其它产品对接,调式较难.

菜鸟
2013-09-13 06:47:06    评分
3楼

请问:如果Z85c30不采用总线方式,该怎么寻址寄存器。

void main (void)
{
uchar ucRet;
Init_Device();

put_reg(0,WR0,0xc4);
ucRet=get_reg(0,WR0);
while(1) {
 }
}

现在想从任意一个寄存器中,例如WR0,写一个控制字再读出来,测试Z片工作没,怎么实现不了(读出来的始终是我自己定义的WR0的地址 

//寄存器偏移地址
#define WR0    0x00
#define WR1    0x01

......
)。



共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]