导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→AVR studio程序载入问题[endurance]

 *第42864篇: AVR studio程序载入问题

  
楼 主:endurance 2006年8月24日16:40
 AVR studio程序载入问题
我用ICC AVR编写了一个简单的IO口程序,代码如下:
#include  <iom128v.h>  
#include  <macros.h>  
void main(void)
{
DDRB=0XFF;
PORTB=0xC2;
}
用ICC AVR编译时没有问题,产生cof文件。但当用AVR studio载入这个文件时就死循环,
那个黄色的箭头一直停留在下面的第一句代码处,想请教高手这是什么问题?该怎么解决?
+00000000:   CFFF        RJMP    PC-0x0000        Relative jump
+00000001:   E0D2        LDI     R29,0x02         Load immediate
+00000002:   BFCD        OUT     0x3D,R28         Out to I/O location
+00000003:   BFDE        OUT     0x3E,R29         Out to I/O location
+00000004:   51C0        SUBI    R28,0x10         Subtract immediate
+00000005:   40D0        SBCI    R29,0x00         Subtract immediate with carry
+00000006:   EA0A        LDI     R16,0xAA         Load immediate
+00000007:   8308        STD     Y+0,R16          Store indirect with displacement
+00000008:   2400        CLR     R0               Clear Register
+00000009:   E6E0        LDI     R30,0x60         Load immediate
+0000000A:   E0F0        LDI     R31,0x00         Load immediate
+0000000B:   E010        LDI     R17,0x00         Load immediate
+0000000C:   36E0        CPI     R30,0x60         Compare with immediate
+0000000D:   07F1        CPC     R31,R17          Compare with carry
+0000000E:   F011        BREQ    PC+0x03          Branch if equal
+0000000F:   9201        ST      Z+,R0            Store indirect and postincrement
+00000010:   CFFB        RJMP    PC-0x0004        Relative jump
+00000011:   8300        STD     Z+0,R16          Store indirect with displacement
+00000012:   E0E0        LDI     R30,0x00         Load immediate
+00000013:   E0F0        LDI     R31,0x00         Load immediate
+00000014:   E6A0        LDI     R26,0x60         Load immediate
+00000015:   E0B0        LDI     R27,0x00         Load immediate
+00000016:   E010        LDI     R17,0x00         Load immediate
+00000017:   30E0        CPI     R30,0x00         Compare with immediate
+00000018:   07F1        CPC     R31,R17          Compare with carry
+00000019:   F021        BREQ    PC+0x05          Branch if equal
+0000001A:   95C8        LPM                      Load program memory
+0000001B:   9631        ADIW    R30,0x01         Add immediate to word
+0000001C:   920D        ST      X+,R0            Store indirect and postincrement
+0000001D:   CFF9        RJMP    PC-0x0006        Relative jump
+0000001E:   D001        RCALL   PC+0x0002        Relative call subroutine
+0000001F:   CFFF        RJMP    PC-0x0000        Relative jump
@00000020: main
---- leds.c ---------------------------------------------------------------------------------------
5:        DDRB=0XFF;
+00000020:   EF8F        SER     R24              Set Register
+00000021:   BB87        OUT     0x17,R24         Out to I/O location
6:        PORTB=0xC2;
+00000022:   EC82        LDI     R24,0xC2         Load immediate
+00000023:   BB88        OUT     0x18,R24         Out to I/O location
7:        }
+00000024:   9508        RET                      Subroutine return
  
2楼:阿发 2006年8月25日23:18
 在程序中加一个无限循环
你要加一个无限循环,要不程序一下子就执行完了。
#include    <iom128v.h>    
#include    <macros.h>    
void main(void)
{
DDRB=0XFF;
PORTB=0xC2;
while(1);/*这样程序就可以停在这里了*/
}

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

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


[上一篇主题]:9月2日嵌入式技术与人才需求专题研讨会

[下一篇主题]:DSP-图象处理群~~欢迎加入 14962075