示例#1
0
/**
 *  @name	FIFO_GPIO_Config
 *  @brief	配置OV7670的FIFO芯片引脚
 *  @param  None        
 *  @return None
 *  @notice
 */
static void FIFO_GPIO_Config(void)
{
	CKCU_PeripClockConfig_TypeDef CKCUClock = {{0}};

	/* Enable PB */
	CKCUClock.Bit.PB         = 1;
	CKCU_PeripClockConfig(CKCUClock, ENABLE);
	
	/* 配置为输出引脚 */
	GPIO_DirectionConfig(HT_GPIOB, 
							GPIO_PIN_0	| 	/* PB0,STROBE,闪光灯控制 		*/ 
							GPIO_PIN_2	|	/* PB2,FIFO_WRST,FIFO写复位 	*/
							GPIO_PIN_3	|	/* PB3, FIFO_RRST,FIFO读复位 	*/
							GPIO_PIN_4	|	/* PB4,FIFO_OE,FIFO输出使能 	*/
							GPIO_PIN_5	|	/* PB5,FIFO_RCK,FIFO读时钟 	*/
							GPIO_PIN_6		/* PB6,FIFO_WE,FIFO写使能 	*/
		, GPIO_DIR_OUT);
	
	/* 配置PB8~PB15为输入引脚,用于FIFO数据采集输入 */
	GPIO_DirectionConfig(HT_GPIOB,       
							GPIO_PIN_8	| GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11	|
							GPIO_PIN_12	| GPIO_PIN_13| GPIO_PIN_14 | GPIO_PIN_15
			, GPIO_DIR_IN);
	
	GPIO_InputConfig(HT_GPIOB,       
							GPIO_PIN_8	| GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11	|
							GPIO_PIN_12	| GPIO_PIN_13| GPIO_PIN_14 | GPIO_PIN_15
			, ENABLE);
	
	FIFO_CS_L();	  					/*拉低使FIFO输出使能*/
    FIFO_WE_H();   						/*拉高使FIFO写允许*/
}
示例#2
0
/************************************************************************************//*
 * @ breif: a simple code segment to show how to config the spi as master mode.
 * @ in:  none
 * @ return:  none
 **************************************************************************************/
void SPI_MasterMode_Init(void)
{
  SPI_InitTypeDef SPI_InitStructure;

  /*  Enable AFIO & SPI SEL pin port & SPI clock  */
  CKCU_APBPerip0ClockConfig(CKCU_APBEN0_AFIO | CKCU_APBEN0_PB | CKCU_APBEN0_SPI, ENABLE);

  /*  Configure SPI SEL pin  */
  GPIO_SetOutBits(GPIOB, GPIO_PIN_7);
  GPIO_DirectionConfig(GPIOB, GPIO_PIN_7, GPIO_DIR_OUT);

  /*  SPI Configuration */
  SPI_InitStructure.SPI_Mode = SPI_MASTER;
  SPI_InitStructure.SPI_FIFO = SPI_FIFO_DISABLE;
  SPI_InitStructure.SPI_DataLength = SPI_DATALENGTH_8;
  SPI_InitStructure.SPI_SSMode = SPI_SS_SOFTWARE;
  SPI_InitStructure.SPI_SSPolarity = SPI_SSPOLARITY_LOW;
  SPI_InitStructure.SPI_FirstBit = SPI_FIRSTBIT_MSB;
  SPI_InitStructure.SPI_CPOL = SPI_CPOL_HIGH;
  SPI_InitStructure.SPI_CPHA = SPI_CPHA_SECOND;
  SPI_InitStructure.SPI_RxFIFOTriggerLevel = 0;
  SPI_InitStructure.SPI_TxFIFOTriggerLevel = 0;
  SPI_InitStructure.SPI_ClockPrescaler = 4;
  SPI_Init(SPI, &SPI_InitStructure);

  SPI_SSOutputCmd(SPI, ENABLE);

  SPI_Cmd(SPI, ENABLE);
}
示例#3
0
/**
 *  @name	VSYNC_GPIO_Configuration
 *  @brief	配置PB7作为OV7670 VSYNC场引脚
 *  @param  None        
 *  @return None
 *  @notice
 */
static void VSYNC_GPIO_Configuration(void)
{
	CKCU_PeripClockConfig_TypeDef CKCUClock = {{0}};
	
	/* Enable PB */
	CKCUClock.Bit.PB         = 1;
	CKCU_PeripClockConfig(CKCUClock, ENABLE);

	/* 配置PB7作为VSYNC引脚 */
	GPIO_DirectionConfig(HT_GPIOB, GPIO_PIN_7, GPIO_DIR_IN);
	
	/* Enable GPIO Input Function  */
	GPIO_InputConfig(HT_GPIOB, GPIO_PIN_7, ENABLE);

	/* 由于要配置为下降沿触发的中断模式,因此上拉该引脚 */
	GPIO_PullResistorConfig(HT_GPIOB, GPIO_PIN_7, GPIO_PR_UP);
}
示例#4
0
/*********************************************************************************************************//**
  * @brief  Configures led.
  * @retval None
  ***********************************************************************************************************/
void LED_Configuration()
{
	CKCU_APBPerip0ClockConfig(CKCU_APBEN0_PA, ENABLE);
	GPIO_DirectionConfig(GPIOA, GPIO_PIN_5, GPIO_DIR_OUT);
}