导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→我的单片存储器出现如下问题~~[newleaner]

 *第9306篇: 我的单片存储器出现如下问题~~

  
楼 主:newleaner 2003年3月25日09:53
 我的单片存储器出现如下问题~~
我放在编程器上测试,没有问题(我的编程器可以测试ram),
但是我把它放在板子上,用自己编的程序测试,发现每隔一段出现大约
20个错误数据,错误数据占的比例很小,我想知道为什么会出现错误数据?

  
2楼:老古 2003年3月25日09:58
 可能是受到干扰或者地址冲突
  
3楼:Language 2003年3月25日21:26
 我想知道你是怎么测试的?或许你的测试程序有问题!
  
4楼:bizhenke 2003年3月26日08:46
 请看
检查你的测试程序,程序的逻辑错误经常容易产生这种问题,我这个马大哈碰到过好多次了,呵呵,根据我的经验是,可能多个子程序共用了同一个寄存器,堆栈压栈和出栈时顺序出错等等
  
5楼:newleaner 2003年3月26日10:51
 我的储存器测试程序
先说说我的测试思路。

       我是用计算机串口来测试储存器的,先从计算机发出一个数据(hex)到单片机,单片机收到后把该数据移动到外部储存器(要测试的)然后移回来,从串口发给计算机,计算机收到后比较发出和收到的数据,一致的话,储存器单元正常,不一样就是出错。
  
       程序中用到DPTR来指向外部储存单元,每收到一个数据,DPTR加一,从而完成挨个储存单元的测试。

        测试结果发现,坏数据块有一定规律的出现,更换储存器后,出错的规律有变化,但仍然出错。

        我的串口线长只有0.6米,而且如果去掉MOVX指令,即不测试外储存器的话,数据传送(计算机传出、传回)出错几率很小的。

下面是偶的测试程序:

;本程序串口工作速率1200bps
org 0000h
jmp main
org 0023h
jmp com
main:mov tmod,#00100000b
mov pcon,#10000000b
mov scon,#01010000b
mov th1,#0cch
mov tl1,#0cch
setb tr1
setb es
setb ea
mov dptr,#0000h
jmp$
com:push a
push psw
jb ti,trans
mov a,sbuf
clr ri
loop:mov 31h,a
movx @dptr,a
mov a,#00h
movx a,@dptr
cjne a,31h,err
mov sbuf,a
inc dptr
pop psw
pop a
reti
err:mov a,dpl
mov sbuf,a
inc dptr
pop psw
pop a
reti

trans:clr ti
pop psw
pop a
reti
end
;Designed by Mine


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

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


[上一篇主题]:请老古指教!!!

[下一篇主题]:[讨论]老古,请问单片机开发局域网在传输层只用UDP协议就可以了不用TCP协议???