stm32驱动12864液晶显示程序
}
}
/******************************************************************************
*Function Name :RCC_Configuration.
*Descriprion :configures the different system clocks.
*Input :None
*Output :None
*Return :None
*******************************************************************************/
void RCC_Configuration(void)
{
ErrorStatus HSEStartUpStatus;
/*RCC system reset(for debug purpose)*/
RCC_DeInit();
/*Enable HSE 打开外部时钟*/
RCC_HSEConfig(RCC_HSE_ON);
/*Wait till HSE is read */
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus==SUCCESS)//起振成功
{
/*Enable PrefetchBuffer 打开flash的预存储功能*/
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
FLASH_SetLatency(FLASH_Latency_2);//设置代码延时值
/*HCLK=syclk*/
RCC_HCLKConfig(RCC_SYSCLK_Div1);
/*PCLK2=HCLK*/
RCC_PCLK2Config(RCC_HCLK_Div1);
/*RCLK1=HCLK*/
RCC_PCLK1Config(RCC_HCLK_Div2);
/*PLLCLK=8MHZ*9=72MHZ*/
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
/*Enable PLL*/
RCC_PLLCmd(ENABLE);
/*Wait till PLL is ready*/
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET)
{
}
/*Select PLL as system clock source*/
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
/*Wait till pll used as system clock source*/
while(RCC_GetSYSCLKSource() !=0x80)
{
}
/*打开相应的外部时钟:GPIOF*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
}
else
{
}
}
/******************************************************************************
*Function Name :NVIC_Configuration.
*Descriprion :configures Vector Table base location.
*Input :None
*Output :None
*Return :None
*******************************************************************************/
void NVIC_Configuration(void)
{
#ifdef VECT_TAB_RAM
/*Set the vector table base location at 0x20000000*/
NVIC_SetVectorTable(NVIC_VectTab_RAM,0X0);
#else
/*Set the vector table base location at 0x20000000*/
NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x0);
#endif
}
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_All;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置GPIO的工作状态
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置GPIO的速度
GPIO_Init(GPIOF, &GPIO_InitStructure);
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
/******************************************************************************
延时函数
******************************************************************************/
void Delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=100;y>0;y--);
}
stm3212864液晶显示程 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)