微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 遇到一个神奇的问题,AVR单片机按照样例程序写的代码过不了debug

遇到一个神奇的问题,AVR单片机按照样例程序写的代码过不了debug

时间:10-02 整理:3721RD 点击:
自己用的Atmel Studio 6.0(学生时代从官方网站down的),片子是ATmega48PA
这几天打算写一个屏幕程序,里面要要用SPI发数据。按照手册上面的样例:


SPI发送我是这么写的(TMP,SPIC和SPIT都是自己DEF的数据寄存器,也过了DEBUG)
SPI:    OUT        DDRB,SPIC
         OUT        SPDR,SPIT
         LDI        TMP,$5D
         OUT        SPCR,TMP
WATTT:   
         SBIS     SPSR,SPIF
         RJMP    WATTT
         LDI        TMP,$00
         OUT       SPCR,TMP
         LDI        TMP,$37
         OUT        DDRB,TMP   
         RET
注意,就是上面红色的那句,一直过不了DEBUG。提示:
Error    1    Operand 1 out of range: 0x2d  (0x2d就是SPSR寄存器的地址)
注意,我所有程序就这一个bug。超范围?我按你样本写的啊大哥,你告诉我不正确。
真心求大神帮忙解决_(:зゝ∠)_。我快被官方玩死了。

PS:
说实话,ATMEL的手册编的,他的样例程序经常过不了debug,各种鬼问题。刚学的时候就被坑的惨。
以前最奇葩的是一个寄存器还得旁征博引去看其他系列型号的芯片的手册才能搞懂,感情你8系列手册写了的内容48系列的手册就不再赘述了可以直接省略?那干脆直接不出手册不就更方便?简直呵呵。
这次我是彻底懵逼了,实在是不想再用atmel的东西了。简直受罪。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top