关于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]