guaipizi 发表于 2011-1-4 10:47:09

关于AT91SAM7S64在keil MDK4 环境下的一点疑问,静候高手回答

#include<AT91SAM7S64.h>

/*-----------------*/
/* Leds Definition */
/*-----------------*/
/*                                 PIO   Flash    PA    PB   PIN */
#define LED1            (1<<0)        /* PA0 / PGMEN0 & PWM0 TIOA048 */
#define LED2            (1<<1)        /* PA1 / PGMEN1 & PWM1 TIOB047 */
#define LED3            (1<<2)        /* PA2          & PWM2 SCK0   44 */
#define LED4            (1<<3)        /* PA3          & TWDNPCS343 */
#define NB_LEB                        4

#define LED_MASK      (LED1|LED2|LED3|LED4)

/*-------------------------*/
/* Push Buttons Definition */
/*-------------------------*/
/*                                 PIO    Flash    PA    PB   PIN */
#define SW1_MASK      (1<<17)       
#define SW2_MASK      (1<<18)       
#define SW3_MASK      (1<<19)        /* PA19 / PGMD7& RK   FIQ   13 */
#define SW4_MASK      (1<<23)       
#define SW_MASK         (SW1_MASK|SW2_MASK|SW3_MASK|SW4_MASK)

#define SW1         (1<<17)        // PA17
#define SW2         (1<<18)        // PA18
#define SW3         (1<<19)        // PA19
#define SW4         (1<<23)        // PA23

const int led_mask= {LED1, LED2, LED3, LED4};
const int sw_mask= {SW1_MASK, SW2_MASK, SW3_MASK, SW4_MASK};

void delay(unsigned int a)
{
        unsigned int x,y;
        for(x=a;x>0;x--)
                for(y=1000;y>0;y--);
}

void main(void)
{
        AT91C_BASE_PIOA->PIO_PER = LED_MASK;    //使能IO功能
        AT91C_BASE_PIOA->PIO_OER = LED_MASK;          //GPIOA输出使能
        AT91C_BASE_PIOA->PIO_OWER = LED_MASK;          //使能同步输出功能
    for (;;)
    {                  
               AT91C_BASE_PIOA->PIO_SODR = LED1;
               delay(1000);
               AT91C_BASE_PIOA->PIO_CODR = LED1;
               delay(1000);
               AT91C_BASE_PIOA->PIO_SODR = LED2;
               delay(1000);
               AT91C_BASE_PIOA->PIO_CODR = LED2;
               delay(1000);
               AT91C_BASE_PIOA->PIO_SODR = LED3;
               delay(1000);
               AT91C_BASE_PIOA->PIO_CODR = LED3;
               delay(1000);
               AT91C_BASE_PIOA->PIO_SODR = LED4;
               delay(1000);
               AT91C_BASE_PIOA->PIO_CODR = LED4;
               delay(1000);
      
    }// End for
}



这是我的第一个小程序,刚学,大家别见笑

我的问题就是:为啥我软擦除擦除不了?在哪里设置或者需要写一些什么额外的代码?
我感觉我的hex代码是直接写到flash中了,大家指点一下

每次必须硬件擦除才好使,郁闷啊
页: [1]
查看完整版本: 关于AT91SAM7S64在keil MDK4 环境下的一点疑问,静候高手回答