📄 main.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 + -