////////////////外设时钟设置//////////////////////////
rcu_periph_clock_enable(RCU_AF); //使能复用功能时钟源
////GPIOA的时钟设置///////////////
rcu_periph_clock_enable(RCU_GPIOA); //使能GPIOA时钟源
////GPIOB的时钟设置///////////////
rcu_periph_clock_enable(RCU_GPIOB); //使能GPIOB时钟源
////GPIOC的时钟设置///////////////
rcu_periph_clock_enable(RCU_GPIOC); //使能GPIOF时钟源
////GPIOD的时钟设置///////////////
rcu_periph_clock_enable(RCU_GPIOD); //使能GPIOF时钟源
////SPI2的时钟设置///////////////
rcu_periph_clock_enable(RCU_AF);
rcu_periph_clock_enable(RCU_SPI0);
//////////////////////////////LCD相关的接口//////////////////////////////
gpio_init(GPIOC, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_12);//LCD-RESET
gpio_init(GPIOD, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_2);//LCD-DC/DC
gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_6);//LCD-CS1
gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_8);//LCD-BLK
gpio_init(GPIOB, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_5);
gpio_init(GPIOB, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_3);
gpio_init(GPIOB, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ,GPIO_PIN_4);
void SPIInit(void) //SPI初始化
{
spi_parameter_struct SPI_Structure;
spi_i2s_deinit(SPI0);
spi_struct_para_init(&SPI_Structure);
SPI_Structure.trans_mode = SPI_TRANSMODE_FULLDUPLEX;
SPI_Structure.device_mode = SPI_MASTER;
SPI_Structure.frame_size = SPI_FRAMESIZE_8BIT ;
SPI_Structure.endian = SPI_ENDIAN_MSB;
SPI_Structure.clock_polarity_phase=SPI_CK_PL_LOW_PH_1EDGE;
SPI_Structure.nss = SPI_NSS_SOFT;
SPI_Structure.prescale = SPI_PSC_64;
spi_init(SPI0,&SPI_Structure);
spi_enable(SPI0);
} |