⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 at91rm9200 usb control源码
💻 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 + -