yyj123 发表于 2009-6-28 18:47:07

BASCOM-AVR IDE 1.11.9.0 的readeeprom问题,是我错?还是BASCOM的bug?

尊敬的马老师及所有大侠,辛苦了:
    近日对着马老师《AVR单片机BASIC语言编程及开发》学EEPROM的操作,顺便搭了个
M8最小系统(就复位电路+3个led)验证,不料看似简单的EEPROM读写,让我晕头晕脑。
    开始全用仿真验证,一点问题也没有,但只要一写到硬件M8中,执行结果问题来了
。为了最清楚观察问题,特编了个小程序,配合硬件进行验证。
'---------------------------------------------------------------------------
$regfile = "m8def.dat"
$crystal = 1000000

Dim E As Byte , X As Byte
Ddrb = &B00010001
Ddrc = &B00000001
$eeprom
Eep:
Data &H3 , &H6                           '设I初值

Do
E = 0 : X = 0                            '有无此行无差别
Readeeprom E , Eep                     '读I初值
Print "E'=" ; E
Readeeprom E
Print "Eo=" ; E
            '不知何故,读得的E在硬件运行中始终=255 ,而在仿真中到是正确的
            '用Readeeprom E , 1直接读也一样;用汇编语言块试过,结果也一样
    X = E * 2
Print "Xo=" ; X
Lp:
Waitms 50
X = X - 1
Print "x=" ; X ; "   e=" ; E            '在仿真中显示正确
If E = &HFF Then Portc.0 = Not Portc.0    ' 演示时初LED不断快闪烁
                         '此处E 在硬件运行中始终=&HFF,且硬件的灯在闪。
                         '而在仿真中始终=&H7,且仿真的灯从不闪
If X < 1 Then
   X = 0
Stp:
   Portb.0 = Not Portb.0                   ' 演示时为LED不断慢闪烁
   Waitms 200
   Goto Stp
End If
Portb.4 = Not Portb.4                  ' 演示时初LED不断快闪烁
Goto Lp
Loop
End
'---------------------------------------------------------------------------
   真不明白出了什么错,是我错?还是BASCOM-AVR IDE 1.11.9.0 的readeeprom 有
bug?敬请马老师指教。当然也欢迎其他大侠畅所欲言。不胜感谢!

yyj123 发表于 2009-6-28 20:14:10

问题解决,不劳大家了。谢谢

machao 发表于 2009-6-29 10:59:33

你应该把出现的问题和如何解决的都告诉大家,这个是初学者非常容易出现的问题。
页: [1]
查看完整版本: BASCOM-AVR IDE 1.11.9.0 的readeeprom问题,是我错?还是BASCOM的bug?