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

📄 main.c

📁 优龙LPC1788开发板资料
💻 C
字号:
/******************** (C) COPYRIGHT 2010 Ucdragon ************
 优龙科技 YL_LPC1788计估板测试主文件
 作者:YJ
 版本:V1.0
 目期:2011 06 29
 **********************************************************************/
#include "lpc_types.h"
#include "lpc177x_8x_nvic.h"
#include "system_LPC177x_8x.h"
#include "lpc177x_8x_uart.h"
#include "lpc177x_8x_pinsel.h"
#include "lpc177x_8x_clkpwr.h"
#include "lpc177x_8x_gpio.h"
#include "sdram_k4s561632j.h"
#include "SST39VF6401.h"
#include "nandflash_k9f2g08u0x.h"
#include "yl_1788_touch.h"
#include "debug_frmwrk.h"
#include "download.h"
#include "drv_glcd.h"
#include "logo.h"
#include "bsp.h"
#include "SA56004.h"

extern uint32_t download_addr,download_len;
/************************** PRIVATE FUNCTION *************************/
const unsigned char boot_msg[] =
"**************************************************************************\n\r"
"Hello NXP Ucdragon \n\r"
"\t - MCU: LPC177x_8x \n\r"
"\t - Core: Cortex-M3 \n\r"
"\t - Comunicate via: UART0 - 115200 bps \n\r"
"\t - YL-LPC1788 Test\n\r"
"***************************************************************************\n\r";

/*********************************************************************
 * @brief		Print bootload msg
 * @param[in]	None
 * @return 		None
 **********************************************************************/
void print_boot_msg(void)
{
	put_str_(boot_msg);
}

const unsigned char menu[] =
"**************************************************************************\n\r"
"YL-LPC1788 Peripheral Device Test Menu \r"
"###### Select Menu ###### \r"
"[A] Test LED\r"
"[B] Test KEY\r"
"[C] Test ENET App (Easy Web IP IS 192.168.0.100)\r"
"[D] Test USB Device,The USB Device enumerate a Disk\r"
"[E] Test DAC\r"
"[F] Test NorFlash\r"
"[G] Test LCD DH3.5 Display\r"
"[H] Test BEEP\r"
"[I] Test CAN\r"
"[J] Test NandFlash\r"
"[K] Test Touch panel\r"
"[L] Test IIC(SA56004E)\r"
"[M] Test RS485\r"
"[ESC] Return Menu\r"
"***************************************************************************\n\r";

/*********************************************************************//**
 * @brief		Print menu
 * @param[in]	None
 * @return 		None
 **********************************************************************/
void print_menu(void)
{
	put_str_(menu);
}

/*用户菜单功能实现 */
void use_menu(void);

/*初始化系统定时器 */
void init_systick(void)
{
	uint32_t cclk = CLKPWR_GetCLK(CLKPWR_CLKTYPE_CPU);

	/* Generate interrupt each 1 ms   */
	SysTick_Config(cclk/1000 - 1);
}

/* SysTick Counter */
volatile unsigned long SysTickCnt;
/*********************************************************************//**
 * @brief		SysTick handler sub-routine (1ms)
 * @param[in]	None
 * @return 		None
 **********************************************************************/
void SysTick_Handler (void)
{
	SysTickCnt++;
}

/*********************************************************************//**
 * @brief		Delay function
 * @param[in]	tick - number milisecond of delay time
 * @return 		None
 **********************************************************************/
void Delay (unsigned long tick)
{
	unsigned long systickcnt;

	systickcnt = SysTickCnt;
	while ((SysTickCnt - systickcnt) < tick);
}


int main(void)
{	
	init_systick();	  //优先初始化,后续Delay函数会调用
	NORFLASHInit();
	NandFlash_Init();
	NandFlash_Reset();
	SDRAMInit();
	/* Initialize debug via UART0
	 * 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -