📄 main.c
字号:
//*----------------------------------------------------------------------------
//* ATMEL Microcontroller Software Support - ROUSSET -
//*----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
#include "main.h"
#include "lib_AT91RM9200.h"
extern void Jump(long addr);
//* Interrupt Handlers
extern void AT91F_ST_ASM_HANDLER(void);
//* system timer counter
unsigned int StTick = 0;
unsigned int tc = 0;
unsigned int test = 0;
unsigned int count = 0;
//*----------------------------------------------------------------------------
//* \fn AT91F_ST_HANDLER
//* \brief This function is invoked by main
//* This function is for demonstration purpose only
//*----------------------------------------------------------------------------
void AT91F_ST_HANDLER(void)
{
volatile int StStatus;
// Read the system timer status register
CheckSound( );
StStatus = *(AT91C_ST_SR);
StTick++;
tc++;
test++;
if(tc==20) CpuLED_Off();
if(tc==40) { CpuLED_On(); ;tc=0;}
AT91F_DBGU_Printk("I\n");
//AT91C_BASE_PMC->PMC_SCER=0xF00;
}
//*----------------------------------------------------------------------------
//* File Name : main.c
//* Object : main application written in C
//* Creation : FB 24/10/2002
//*
//*----------------------------------------------------------------------------
//extern void AT91F_DBGU_Printk(char *);
static void InitPio(void)
{
// VSYNC,HREF,PCLK INPUT,FD0~FD7 INPUT
AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, ((unsigned int) 1 << AT91C_ID_PIOB));
AT91F_PIO_CfgInput(AT91C_BASE_PIOC, AT91C_PIO_PC12|AT91C_PIO_PC13|AT91C_PIO_PC14);
AT91F_PIO_CfgInput(AT91C_BASE_PIOB, AT91C_PIO_PB0|AT91C_PIO_PB1|AT91C_PIO_PB2|AT91C_PIO_PB3|AT91C_PIO_PB4|AT91C_PIO_PB5|AT91C_PIO_PB6|AT91C_PIO_PB7);
AT91F_PIO_CfgInput(AT91C_BASE_PIOB, AT91C_PIO_PB10|AT91C_PIO_PB23|AT91C_PIO_PB24|AT91C_PIO_PB27);
AT91F_PIO_CfgPullup(AT91C_BASE_PIOC,0xFFFFFFFF);
AT91F_PIO_CfgPullup(AT91C_BASE_PIOB,0xFFFFFFFF);
// SDA,SCL OUTPUT
AT91F_PIO_CfgOutput(AT91C_BASE_PIOA, AT91C_PIO_PA25|AT91C_PIO_PA26);
//led
AT91F_PIO_CfgOutput(AT91C_BASE_PIOB, AT91C_PIO_PB11|AT91C_PIO_PB25|AT91C_PIO_PB26);
AT91F_PIO_ClearOutput(AT91C_BASE_PIOB, AT91C_PIO_PB11|AT91C_PIO_PB25|AT91C_PIO_PB26);
//key
// AT91F_PIO_CfgInput(AT91C_BASE_PIOB, AT91C_PIO_PB6|AT91C_PIO_PB7|AT91C_PIO_PB8|AT91C_PIO_PB9);
//buzzer
AT91F_PIO_CfgOutput(AT91C_BASE_PIOB, AT91C_PIO_PB22);
// AT91F_PIO_SetOutput(AT91C_BASE_PIOB, AT91C_PIO_PB22);
// delay(20);
AT91F_PIO_ClearOutput(AT91C_BASE_PIOB, AT91C_PIO_PB22);
//PCK1 ( cmos CLOCK) enable
AT91F_PIO_CfgPeriph( AT91C_BASE_PIOA, 0, 0x10);
AT91C_BASE_PMC->PMC_PCKR[1]=0xE;
AT91C_BASE_PMC->PMC_SCER=0xF00;
// IIS bus config
//AT91F_PIO_CfgInput(AT91C_BASE_PIOB, AT91C_PIO_PB27);
}
int main()
{ int i;
int *temp1;
int *temp2;
temp1=(int *)0x20100000;
temp2=(int *)0x10010000;
AT91F_DBGU_Printk("\n\rBasicBoot Successfull: Enter main()\n\r");
AT91F_DBGU_Printk("\n\r Test by kim \n\r");
for (i=0;i<0x8000;i++){ *temp1=*temp2;temp1++;temp2++;}
Jump(0x20100000);
// Jump(0x1f0000);
while (1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -