我用的是AT91SAM7S256这款单片机,程序烧进去之后一直不执行,想请教高手们是怎么回事?
芯片VCC 3.3V和VDDOUT 1.8V都正常,因为没有用复位,所以复位管脚悬空,晶振是20M的,也正常起振了,用的软件Keil uVision3,下载进去之后测量PA6完全没反应,求助高手们,还有什么我没考虑到的么?
下面是烧的程序
#include <AT91SAM7S256.H>
#include <lib_AT91SAM7S256.h>
#define mck ((20000000*73/14)/2) //M Hz
#define uchar unsigned char
void delay(unsigned int s) //延时s
{
// register unsigned int i = 0;
uchar i;
// i=mck*s;
// i=i/1000;
// while(i--);
while(s-->0)
for(i=0;i<10;i++) ;
}
void ioinit(void)
{
AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC,1<<AT91C_ID_PIOA);
//AT91C_BASE_PMC=1<<2 ;//使能PIOA的时钟
AT91F_PIO_CfgOutput(AT91C_BASE_PIOA,AT91C_PIO_PA6); //设置IO输出模式(pa6)
}
int main(void)
{
delay(2);
ioinit();
while(1)
{
AT91F_PIO_SetOutput(AT91C_BASE_PIOA,AT91C_PIO_PA6);
delay(10);
AT91F_PIO_ClearOutput(AT91C_BASE_PIOA,AT91C_PIO_PA6);
delay(10);
}
}
|