导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请教老古,为什么我的8019的curr指针经常会从1开始增加[youbang]

 *第39604篇: 请教老古,为什么我的8019的curr指针经常会从1开始增加。。。

  
楼 主:youbang 2006年4月24日11:34
 请教老古,为什么我的8019的curr指针经常会从1开始增加。。。
我是用汇编自己写的,其他的都可以,就是这个curr总是会出错,经常会从1开始增加,直到4c以后才有点正常,不过感觉数据没接收也是会变化。。

以下是初始化代码

;初始化网卡

ISAINT: 
 SETB RST ;硬件复位ISA网卡
 LCALL       waits
 CLR RST ;End of Reset ISA bus
 LCALL waits
 MOV  A,#1FH           ;软件复位8019地址 #31FH  
 LCALL ISAR  
 LCALL        longwaits
 MOV   R0,A
 MOV  A,#1FH
 LCALL  ISAW
 LCALL        longwaits
 ;复位结束

 MOV R0,#0
    LCALL EPAGE
    
 MOV A,#0  ;停止运行8109
 MOV  R0,#21H
 LCALL ISAW
 
 LCALL   waitbus
 
 MOV A,#1 
 MOV  R0,#4CH ;接收起始页
 LCALL    ISAW

 MOV A,#2
 MOV  R0,#80H ;PSTOP=80
 LCALL    ISAW
 
 MOV A,#3
 MOV  R0,#4CH ;BNRY=4C
 LCALL    ISAW  
 
 MOV A,#4  ;发送起始页
 MOV  R0,#40H
 LCALL    ISAW  
 
 MOV A,#0CH
 MOV  R0,#0CCH
 LCALL    ISAW  
 
 MOV A,#0DH
 MOV  R0,#0E0H
 LCALL    ISAW  
 
 MOV A,#0EH
 MOV  R0,#0C8H
 LCALL    ISAW  
 
 MOV A,#0FH
 MOV  R0,#0H
 LCALL    ISAW  
;换页面--------------------------
 
 MOV  R0,#40H
 LCALL  EPAGE   
;-------------------------------- 
 
 MOV A,#7
 MOV  R0,#4DH
 LCALL    ISAW  
 
 MOV A,#8
 MOV  R0,#0H
 LCALL    ISAW  
 
 MOV A,#9
 MOV  R0,#41H
 LCALL    ISAW  
 
 MOV A,#0AH
 MOV  R0,#0H
 LCALL    ISAW  
 
 MOV A,#0BH
 MOV  R0,#80H
 LCALL    ISAW  

 MOV A,#0CH
 MOV  R0,#0H
 LCALL    ISAW
 
 MOV A,#0DH
 MOV  R0,#0H
 LCALL    ISAW
 
 MOV A,#0EH
 MOV  R0,#0H
 LCALL    ISAW
 
 MOV A,#0FH
 MOV  R0,#0H
 LCALL    ISAW
 ;初始化结束,开始运行网卡
 
 MOV A,#0  ;开始运行8109
 MOV  R0,#22H
 LCALL    ISAW  
 
 
 RET   ;结束

  
2楼:youbang 2006年4月25日14:21
 自己解决了。。
 MOV A,#0
 LCALL EPAGE ;选择0页

 MOV A,#07H ;清除中断
 MOV R0,#0FFH;
 LCALL ISAW  ;写入
问题出在这里,自己解决了。。。
奇怪,我明明是写入0页的7h,竟然写入到1页的curr去了
后来就把最后一句写入去掉就ok


>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:单片机与PC机的通信

[下一篇主题]:关于ADS1252