Beispiel #1
0
/**
  * @brief  RCC configuration.
  * @param  None
  * @retval None
  */
void RCC_Configuration(void)
{
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOA,ENABLE);
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOB,ENABLE);
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOC,ENABLE);
    RCC_APB1PeriphClock_Enable(RCC_APB1PERIPH_TIMER2,ENABLE);
    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_CMP ,ENABLE);
}
Beispiel #2
0
/**
  * @brief  Configure the DMA peripheral.
  * @param  None
  * @retval None
  */
void DMA_Configuration(void)
{
    DMA_InitPara DMA_InitStructure;

    /* DMA1 clock enable */
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_DMA1,ENABLE);

    /* DMA1 Channel5 Config */
    DMA_DeInit(DMA1_CHANNEL5);
    DMA_InitStructure.DMA_PeripheralBaseAddr = TIMER1_CHCC1;
    DMA_InitStructure.DMA_MemoryBaseAddr     = (uint32_t) buffer;
    DMA_InitStructure.DMA_DIR                = DMA_DIR_PERIPHERALDST;
    DMA_InitStructure.DMA_BufferSize         = 3;
    DMA_InitStructure.DMA_PeripheralInc      = DMA_PERIPHERALINC_DISABLE;
    DMA_InitStructure.DMA_MemoryInc          = DMA_MEMORYINC_ENABLE;
    DMA_InitStructure.DMA_PeripheralDataSize = DMA_PERIPHERALDATASIZE_HALFWORD;
    DMA_InitStructure.DMA_MemoryDataSize     = DMA_MEMORYDATASIZE_HALFWORD;
    DMA_InitStructure.DMA_Mode               = DMA_MODE_CIRCULAR;
    DMA_InitStructure.DMA_Priority           = DMA_PRIORITY_HIGH;
    DMA_InitStructure.DMA_MTOM               = DMA_MEMTOMEM_DISABLE;
    DMA_Init(DMA1_CHANNEL5, &DMA_InitStructure);
    
    /* DMA1 Channel5 enable */
    DMA_Enable(DMA1_CHANNEL5, ENABLE);
}
Beispiel #3
0
void gpio_init(void)
{
// clocks on to all ports		
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOA|RCC_AHBPERIPH_GPIOB|RCC_AHBPERIPH_GPIOF,ENABLE);
	 // RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOB,ENABLE); 
	 // RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOF,ENABLE);

	
    GPIO_InitPara GPIO_InitStructure;
	
// common settings to set ports
	  GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUT;
    GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
    GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_PP;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PUPD_NOPULL;

// port F	
    GPIO_InitStructure.GPIO_Pin = GPIO_PIN_0|GPIO_PIN_1; 
    GPIO_Init(GPIOF,&GPIO_InitStructure);

// port B	
    GPIO_InitStructure.GPIO_Pin = GPIO_PIN_0;
    GPIO_Init(GPIOB,&GPIO_InitStructure);

// port A 
// also used for serial out
#ifndef SERIAL	
    GPIO_InitStructure.GPIO_Pin = GPIO_PIN_2;
    GPIO_Init(GPIOA,&GPIO_InitStructure);
#endif		
}
Beispiel #4
0
/**
  * @brief  Configure system clocks.
  * @param  None
  * @retval None
  */
void RCC_Configuration(void)
{
    /* GPIOA, GPIOB, GPIOC and GPIOF clocks enable */
    RCC_AHBPeriphClock_Enable( RCC_AHBPERIPH_GPIOA |
                               RCC_AHBPERIPH_GPIOB |
                               RCC_AHBPERIPH_GPIOF  , ENABLE);
}
Beispiel #5
0
/**
  * @brief  Configure system clocks.
  * @param  None
  * @retval None
  */
void RCC_Configuration(void)
{
    /* GPIOB Periph clock enable */
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOB, ENABLE);
    /* IVREF Periph clock enable */
    RCC_APB1PeriphClock_Enable(RCC_APB1PERIPH_IVREF, ENABLE);
}
Beispiel #6
0
/**
  * @brief  Enable the peripheral clock.
  * @param  None
  * @retval None
  */
void RCC_Configuration(void)
{
    /* Enable GPIOB clock */
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOB,ENABLE);

    /* Enable BOARD_I2C APB1 clock */
    RCC_APB1PeriphClock_Enable(I2C_RCC,ENABLE);
}
Beispiel #7
0
/**
  * @brief  Configure system clocks.
  * @param  None
  * @retval None
  */
void RCC_Configuration(void)
{
    /* ADCCLK = PCLK2/6 */
    RCC_ADCCLKConfig(RCC_ADCCLK_APB2_DIV6);
    /* Enable GPIO clock */
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOC|RCC_AHBPERIPH_GPIOA, ENABLE);
    /* Enable ADC clock */
    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_ADC1, ENABLE);
}
Beispiel #8
0
/**
  * @brief  Main program.
  * @param  None
  * @retval None
  */
int main(void)
{
    GD_EVAL_LEDInit(LED1);

    vab1 = (uint32_t)0xabcd1234;
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_CRC, ENABLE);
    
    CRC_DeInit();
    read32_1 = CRC_CalcSingleData(vab1);
    
    /* input reverse */
    CRC_DeInit();
    CRC_ReverseInputData_Config(CRC_REVERSE_INPUT_DATA_BYTE);
    read32_2 = CRC_CalcSingleData(vab1);
    
    CRC_DeInit();
    CRC_ReverseInputData_Config(CRC_REVERSE_INPUT_DATA_HALFWORD);    
    read32_3 = CRC_CalcSingleData(vab1);

    CRC_DeInit();
    CRC_ReverseInputData_Config(CRC_REVERSE_INPUT_DATA_WORD);        
    read32_4 = CRC_CalcSingleData(vab1);
    
    /* output reverse */
    CRC_DeInit();
    CRC_ReverseOutputData_Enable(ENABLE);
    read32_5 = CRC_CalcSingleData(vab1);
    
    CRC_DeInit();
    CRC_ReverseInputData_Config(CRC_REVERSE_INPUT_DATA_BYTE);
    CRC_ReverseOutputData_Enable(ENABLE);
    read32_6 = CRC_CalcSingleData(vab1);
    
    CRC_DeInit();
    CRC_ReverseInputData_Config(CRC_REVERSE_INPUT_DATA_HALFWORD);
    CRC_ReverseOutputData_Enable(ENABLE);
    read32_7 = CRC_CalcSingleData(vab1);
    
    CRC_DeInit();
    CRC_ReverseInputData_Config(CRC_REVERSE_INPUT_DATA_WORD);
    CRC_ReverseOutputData_Enable(ENABLE);
    read32_8 = CRC_CalcSingleData(vab1);
    
    /* check the caculation result */
    if((read32_1 == 0xf7018a40)&&(read32_2 == 0x49fc6721)&&(read32_3 == 0x606444e3)&&(read32_4 == 0x16d70081)
      &&(read32_5 == 0x025180ef)&&(read32_6 == 0x84e63f92)&&(read32_7 == 0xc7222606)&&(read32_8 == 0x8100eb68))
    {
        success_flag = 0x1;
        GD_EVAL_LEDOn(LED1);
    }

    while (1)
    {
    }
}
Beispiel #9
0
/**
  * @brief  Configure system clocks.
  * @param  None
  * @retval None
  */
void RCC_Configuration(void)
{
    /* Configure the ADCCLK to 12MHz */
    RCC_ADCCLKConfig(RCC_ADCCLK_APB2_DIV6);
    
    /* Enable DMA1 and GPIO clock */
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_DMA1|RCC_AHBPERIPH_GPIOA | RCC_AHBPERIPH_GPIOC , ENABLE);
    
    /* Enable ADC and TIM2 clock */
    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_ADC1, ENABLE);
    RCC_APB1PeriphClock_Enable(RCC_APB1PERIPH_TIMER2, ENABLE);
}
Beispiel #10
0
/** 
  * @brief  Configure RCC Clock.
  * @param  None
  * @retval None
  */
void RCC_Configuration(void)
{
    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_GPIOA , ENABLE);
    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_GPIOB , ENABLE);
    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_GPIOC , ENABLE);
    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_GPIOD , ENABLE);
    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_GPIOE , ENABLE);
    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_AF    , ENABLE);

    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_USART1, ENABLE);
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_EXMC, ENABLE);
}
Beispiel #11
0
void adc_init(void)
{	  
    DMA_InitPara DMA_InitStructure;
    ADC_InitPara ADC_InitStructure;
    
    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_ADC1, ENABLE);	  

    RCC_ADCCLKConfig(RCC_ADCCLK_APB2_DIV6);

    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_DMA1, ENABLE);		     

    DMA_InitStructure.DMA_PeripheralBaseAddr = 0x4001244C; 
    DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)adcarray; 
    DMA_InitStructure.DMA_DIR = DMA_DIR_PERIPHERALSRC;  
    DMA_InitStructure.DMA_BufferSize = 4;	
    DMA_InitStructure.DMA_PeripheralInc = DMA_PERIPHERALINC_DISABLE;	
    DMA_InitStructure.DMA_MemoryInc = DMA_MEMORYINC_ENABLE;	
    DMA_InitStructure.DMA_PeripheralDataSize = DMA_PERIPHERALDATASIZE_HALFWORD; 
    DMA_InitStructure.DMA_MemoryDataSize = DMA_MEMORYDATASIZE_HALFWORD; 
    DMA_InitStructure.DMA_Mode = DMA_MODE_CIRCULAR; 
    DMA_InitStructure.DMA_Priority = DMA_PRIORITY_HIGH;
    DMA_InitStructure.DMA_MTOM = DMA_MEMTOMEM_DISABLE; 
		
    DMA_Init(DMA1_CHANNEL1, &DMA_InitStructure);	 
  
    DMA_Enable(DMA1_CHANNEL1, ENABLE);  
    
  //  ADC_DeInit(&ADC_InitStructure);
		
    ADC_InitStructure.ADC_Mode_Scan = ENABLE;		 
    ADC_InitStructure.ADC_Mode_Continuous = ENABLE;  
    ADC_InitStructure.ADC_Trig_External = ADC_EXTERNAL_TRIGGER_MODE_NONE;  
    ADC_InitStructure.ADC_Data_Align = ADC_DATAALIGN_RIGHT;	
    ADC_InitStructure.ADC_Channel_Number = 4;  
		
    ADC_Init(&ADC_InitStructure);  
    // current?
    ADC_RegularChannel_Config(ADC_CHANNEL_7, 1, ADC_SAMPLETIME_239POINT5);
		// battery channel
    ADC_RegularChannel_Config(ADC_CHANNEL_5, 2, ADC_SAMPLETIME_239POINT5);

    ADC_RegularChannel_Config(ADC_CHANNEL_4, 3, ADC_SAMPLETIME_239POINT5);
    ADC_RegularChannel_Config(ADC_CHANNEL_1, 4, ADC_SAMPLETIME_239POINT5);

    ADC_DMA_Enable(ENABLE);	 
    
    ADC_Enable(ENABLE); 
		
    ADC_Calibration();
    
    ADC_SoftwareStartConv_Enable(ENABLE);  
}
Beispiel #12
0
/**
  * @brief  Configures the different system clocks.
  * @param  None
  * @retval None
  */
void RCC_Configuration(void)
{    
    /* DMA clock enable */
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_DMA1, ENABLE);

    /* Enable GPIO clock */
    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_GPIOA , ENABLE);

    /* Enable USART1 Clock */
    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_USART1, ENABLE); 

    /* Enable USART2 Clock */
    RCC_APB1PeriphClock_Enable(RCC_APB1PERIPH_USART2, ENABLE);
}
Beispiel #13
0
void I2C_GPIO_init(void)
{
    GPIO_InitPara GPIO_InitStructure;
    I2C_InitPara I2C_InitStructure;

    /* Enable GPIOB clock */
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOB,ENABLE);
    /* Enable BOARD_I2C APB1 clock */
    RCC_APB1PeriphClock_Enable(I2C_RCC,ENABLE);


    /* BOARD_I2C GPIO ports*/
    GPIO_InitStructure.GPIO_Pin =  I2C_SCL_GPIO_PIN | I2C_SDA_GPIO_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_AF;
    GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
    GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_OD;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PUPD_NOPULL;
    GPIO_Init(GPIOB, &GPIO_InitStructure);

    GPIO_PinAFConfig(GPIOB,I2C_SCL_GPIO_PINSOURCE,GPIO_AF_1);
    GPIO_PinAFConfig(GPIOB,I2C_SDA_GPIO_PINSOURCE,GPIO_AF_1);

    // In order to not encounter the I2C BUSY jam, Manually Reset the I2C after GPIO set, before I2C configure.
    I2C_SoftwareReset_Enable(BOARD_I2C, ENABLE);
    I2C_SoftwareReset_Enable(BOARD_I2C, DISABLE);

    I2C_InitStructure.I2C_Protocol = I2C_PROTOCOL_I2C;
    I2C_InitStructure.I2C_DutyCycle = I2C_DUTYCYCLE_2;
    I2C_InitStructure.I2C_BitRate = I2C_CLK_HZ;
    I2C_InitStructure.I2C_AddressingMode = I2C_ADDRESSING_MODE_7BIT;
    I2C_InitStructure.I2C_DeviceAddress = I2C_OWN_ADDRESS7;
    I2C_Init(BOARD_I2C, &I2C_InitStructure);

    I2C_Enable(BOARD_I2C,ENABLE);


    /* Enable I2C2 */

    I2C_Acknowledge_Enable(BOARD_I2C,DISABLE);
    /* The software must wait until I2C Bus is idle */
#ifdef DBG_OLED_BLOCK
    while(I2C_GetBitState(BOARD_I2C,I2C_FLAG_I2CBSY));
#else
    I2C_GetBitState_Timeout(BOARD_I2C,I2C_FLAG_I2CBSY);
#endif

}
Beispiel #14
0
/**
  * @brief  Configure system clocks.
  * @param  None
  * @retval None
  */
void RCC_Configuration(void)
{
    /* GPIOA, GPIOB, GPIOC and GPIOF clocks enable */
    RCC_AHBPeriphClock_Enable( RCC_AHBPERIPH_GPIOA |
                               RCC_AHBPERIPH_GPIOB |
                               RCC_AHBPERIPH_GPIOC |
                               RCC_AHBPERIPH_GPIOF  , ENABLE);

    /* PWR clocks enable */
    RCC_APB1PeriphClock_Enable(RCC_APB1PERIPH_PWR, ENABLE);

    /* Enable LSI clocks and select LSI as the clock for LCD */
    PWR_BackupAccess_Enable(ENABLE);
    RCC_LSI_Enable(ENABLE);
    while(RCC_GetBitState(RCC_FLAG_LSISTB) == RESET)
    {
    }
    RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI);
}
Beispiel #15
0
void EvbUart2Config(void)
{
    /* Configure the GPIO ports */
    GPIO_InitPara  GPIO_InitStructure;
    USART_InitPara  USART_InitStructure;

    /* Enable GPIO clock */
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOA, ENABLE);

    /* Enable USART APB clock */
    RCC_APB1PeriphClock_Enable(RCC_APB1PERIPH_USART2, ENABLE);

    /* Connect PXx to USARTx_Tx */
    GPIO_PinAFConfig(GPIOA, GPIO_PINSOURCE2, GPIO_AF_1);

    /* Connect PXx to USARTx_Rx */
    GPIO_PinAFConfig(GPIOA, GPIO_PINSOURCE3, GPIO_AF_1);

    /* Configure USART Rx/Tx as alternate function push-pull */
    GPIO_InitStructure.GPIO_Pin     = GPIO_PIN_2 | GPIO_PIN_3;
    GPIO_InitStructure.GPIO_Mode    = GPIO_MODE_AF;
    GPIO_InitStructure.GPIO_Speed   = GPIO_SPEED_50MHZ;
    GPIO_InitStructure.GPIO_OType   = GPIO_OTYPE_PP;
    GPIO_InitStructure.GPIO_PuPd    = GPIO_PUPD_NOPULL;
    GPIO_Init(GPIOA , &GPIO_InitStructure);

    USART_DeInit( USART2 );

    USART_InitStructure.USART_BRR                 = 115200;
    USART_InitStructure.USART_WL                  = USART_WL_8B;
    USART_InitStructure.USART_STBits              = USART_STBITS_1;
    USART_InitStructure.USART_Parity              = USART_PARITY_RESET;
    USART_InitStructure.USART_HardwareFlowControl = USART_HARDWAREFLOWCONTROL_NONE;
    USART_InitStructure.USART_RxorTx              = USART_RXORTX_RX | USART_RXORTX_TX;
    USART_Init(USART2, &USART_InitStructure);

    /* USART enable */
    USART_Enable(USART2, ENABLE);
}
Beispiel #16
0
//初始化SH1107
void OLED_Init(void)
{
    GPIO_InitPara  GPIO_InitStructure;
    RCC_AHBPeriphClock_Enable(OLED_RESET_RCC, ENABLE);
    GPIO_InitStructure.GPIO_Pin = RST_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUT;
    GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
    GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_PP;
    GPIO_Init(RST_GPIO, &GPIO_InitStructure);

    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOA, ENABLE);
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOB, ENABLE);
    GPIO_InitStructure.GPIO_Pin = GPIO_PIN_15;
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUT;
    GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
    GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_PP;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
    GPIO_InitStructure.GPIO_Pin = GPIO_PIN_3;
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUT;
    GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
    GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_PP;
    GPIO_Init(GPIOB, &GPIO_InitStructure);
    GPIO_SetBits(GPIOA, GPIO_PIN_15);
    GPIO_SetBits(GPIOB, GPIO_PIN_3);
    delay_ms(100);

    GPIO_ResetBits(RST_GPIO, RST_PIN); // Pull CS low, Pull DC low; reset LCD
    delay_ms(10); //delay 100ms
    GPIO_SetBits(RST_GPIO, RST_PIN); // Toggle Reset High after 200ms
    delay_ms(10); //delay 100ms

// Reset OLED first then reset I2C bus
// If the OLED pannel has error(hold I2C SCLK, SDA low), we need reset the OLED first. Then reset the OLED pannel.
#ifndef USE_I2C_LIB
    RCC_AHBPeriphClock_Enable(OLED_RCC, ENABLE);
    GPIO_InitStructure.GPIO_Pin = SCL_PIN|SDL_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUT; 		 //????
    GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
    GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_OD ;
    GPIO_Init(OLED_GPIO, &GPIO_InitStructure);	  //???GPIOD3,6
    GPIO_SetBits(OLED_GPIO, SCL_PIN|SDL_PIN);
#else
    I2C_GPIO_init();
#endif

    OLED_WR_Byte(0xAE,OLED_CMD);//--display off
    OLED_WR_Byte(0x00,OLED_CMD);//---set low column address
    OLED_WR_Byte(0x10,OLED_CMD);//---set high column address

    OLED_WR_Byte(0xB0,OLED_CMD);//--set page address
    OLED_WR_Byte(0xDC,OLED_CMD);//--set start line address
    OLED_WR_Byte(0x00,OLED_CMD);//--set start line address
    OLED_WR_Byte(0x81,OLED_CMD); // contract control
    OLED_WR_Byte(0xFF,OLED_CMD);//--255

    // Maybe need to change.
    OLED_WR_Byte(0xA1,OLED_CMD);//set segment remap
    OLED_WR_Byte(0xC8,OLED_CMD);//Com scan direction

    OLED_WR_Byte(0xA4,OLED_CMD);//Disable Entire Display On (0xA4/0xA5)


    OLED_WR_Byte(0xA6,OLED_CMD);//--normal / reverse
    OLED_WR_Byte(0xA8,OLED_CMD);//--set multiplex ratio(1 to 64)
    OLED_WR_Byte(0xFF,OLED_CMD);//-- 1/128 duty

    OLED_WR_Byte(0xD3,OLED_CMD);//-set display offset
    OLED_WR_Byte(0x60,OLED_CMD);//

    OLED_WR_Byte(0xD5,OLED_CMD);//set osc division
    OLED_WR_Byte(0x50,OLED_CMD);//

    OLED_WR_Byte(0xD8,OLED_CMD);//set area color mode off
    OLED_WR_Byte(0x05,OLED_CMD);//

    OLED_WR_Byte(0xD9,OLED_CMD);//Set Pre-Charge Period
    OLED_WR_Byte(0x22,OLED_CMD);//

    OLED_WR_Byte(0xDB,OLED_CMD);//set Vcomh
    OLED_WR_Byte(0x35,OLED_CMD);//

    OLED_WR_Byte(0xAD,OLED_CMD);//set charge pump enable
    OLED_WR_Byte(0x8A,OLED_CMD);//

/*
    OLED_WR_Byte(0xAF,OLED_CMD);//--turn on oled panel
    OLED_Clear();
    OLED_ShowChar_Bold(0,0,'2',16);
*/
    //OLED_ShowString_Mode(16,2, "Here", 16, 1);
    //while(1);
}
Beispiel #17
0
/**
  * @brief  Init the GPIO port of LCD peripheral.
  * @retval None
  */
static void LCD_GPIO_Config(void)
{
    GPIO_InitPara GPIO_InitStructure;

    /* Enable the clock of GPIO */
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOA | RCC_AHBPERIPH_GPIOB | RCC_AHBPERIPH_GPIOC | RCC_AHBPERIPH_GPIOF,ENABLE);

    GPIO_InitStructure.GPIO_Pin = GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10;
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_AF; 
    GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
    GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_PP;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PUPD_NOPULL;
    GPIO_Init(GPIOA,&GPIO_InitStructure);
    GPIO_PinAFConfig( GPIOA, GPIO_PINSOURCE8, GPIO_AF_11);
    GPIO_PinAFConfig( GPIOA, GPIO_PINSOURCE9, GPIO_AF_11);
    GPIO_PinAFConfig( GPIOA, GPIO_PINSOURCE10, GPIO_AF_11);

    GPIO_InitStructure.GPIO_Pin = GPIO_PIN_9 | GPIO_PIN_14 | GPIO_PIN_15;
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_AF;
    GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
    GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_PP;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PUPD_NOPULL;
    GPIO_Init(GPIOB,&GPIO_InitStructure);
    GPIO_PinAFConfig( GPIOB, GPIO_PINSOURCE9, GPIO_AF_11);
    GPIO_PinAFConfig( GPIOB, GPIO_PINSOURCE14, GPIO_AF_11);
    GPIO_PinAFConfig( GPIOB, GPIO_PINSOURCE15, GPIO_AF_11);

    GPIO_InitStructure.GPIO_Pin = GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_8 | GPIO_PIN_9;
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_AF;
    GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
    GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_PP;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PUPD_NOPULL;
    GPIO_Init(GPIOC,&GPIO_InitStructure);
    GPIO_PinAFConfig( GPIOC, GPIO_PINSOURCE4, GPIO_AF_11);
    GPIO_PinAFConfig( GPIOC, GPIO_PINSOURCE5, GPIO_AF_11);
    GPIO_PinAFConfig( GPIOC, GPIO_PINSOURCE6, GPIO_AF_11);
    GPIO_PinAFConfig( GPIOC, GPIO_PINSOURCE7, GPIO_AF_11);
    GPIO_PinAFConfig( GPIOC, GPIO_PINSOURCE8, GPIO_AF_11);
    GPIO_PinAFConfig( GPIOC, GPIO_PINSOURCE9, GPIO_AF_11);

    GPIO_InitStructure.GPIO_Pin = GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7;
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_AF;
    GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
    GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_PP;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PUPD_NOPULL;
    GPIO_Init(GPIOF,&GPIO_InitStructure);
    GPIO_PinAFConfig( GPIOF, GPIO_PINSOURCE4, GPIO_AF_11);
    GPIO_PinAFConfig( GPIOF, GPIO_PINSOURCE5, GPIO_AF_11);
    GPIO_PinAFConfig( GPIOF, GPIO_PINSOURCE6, GPIO_AF_11);
    GPIO_PinAFConfig( GPIOF, GPIO_PINSOURCE7, GPIO_AF_11);

    GPIO_InitStructure.GPIO_Pin = GPIO_PIN_2 | GPIO_PIN_0 | GPIO_PIN_12;
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_AN;
    GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
    GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_PP;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PUPD_NOPULL;
    GPIO_Init(GPIOB,&GPIO_InitStructure);
    GPIO_PinAFConfig( GPIOB, GPIO_PINSOURCE0, GPIO_AF_11);
    GPIO_PinAFConfig( GPIOB, GPIO_PINSOURCE2, GPIO_AF_11);
    GPIO_PinAFConfig( GPIOB, GPIO_PINSOURCE12, GPIO_AF_11);

}
Beispiel #18
0
/**
* @brief  Configure the different system clocks.
* @param  None
* @retval None
*/
void RCC_Configuration(void)
{
    /* Enable peripheral clocks */
    /* Enable DMA1 clock */
    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_DMA1, ENABLE);
}
Beispiel #19
0
/**
  * @brief  Main program.
  * @param  None
  * @retval None
  */
int main(void)
{  
    /* Configure the USART peripheral ----------------------------------------*/
    USART_InitStructure.USART_BRR = 115200;
    USART_InitStructure.USART_WL = USART_WL_8B;
    USART_InitStructure.USART_STBits = USART_STBITS_1;
    USART_InitStructure.USART_Parity = USART_PARITY_RESET;
    USART_InitStructure.USART_HardwareFlowControl = USART_HARDWAREFLOWCONTROL_NONE ;
    USART_InitStructure.USART_RxorTx = USART_RXORTX_RX | USART_RXORTX_TX; 
    GD_EVAL_COMInit(&USART_InitStructure);

    printf("\n\r  *********************** RTC Calendar Demo ***********************\n\r");

    /* Check if RTC has aready been configured */
    if (RTC->BKP0R != BKP_VALUE)
    {
        RTC_PreConfiguration();

        RTC_Setup(); 

    }
    else
    {
        /* Detect the reset source */
        if (RCC_GetBitState(RCC_FLAG_POPDRST) != RESET)
        {
            printf("\r\n Power On Reset Occurred....\n\r");
        }
        else if (RCC_GetBitState(RCC_FLAG_EPRST) != RESET)
        {
            printf("\r\n External Reset Occurred....\n\r");
        }

        printf("\n\r No Need To Configure RTC....\n\r");

        #ifdef RTC_CLOCK_SOURCE_LSI
            RCC_LSI_Enable(ENABLE);
        #endif 

        RTC_WaitRSF_ToSetAgain();
        RTC_ClearBitState(RTC_STR_AF);
        EXTI_ClearIntBitState(EXTI_LINE17);

        RTC_ShowTime();
        RTC_ShowAlarm();
    }
    
    RCC_ClearBitState();

    /* LED1 GPIO Initialization */
    RCC_AHBPeriphClock_Enable(LED1_GPIO_CLK, ENABLE);
    GPIO_InitStructure.GPIO_Pin = LED1_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUT;
    GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_PP;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PUPD_NOPULL;
    GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
    GPIO_Init(LED1_GPIO_PORT, &GPIO_InitStructure);
    
    LED1_GPIO_PORT->BOR = LED1_PIN;

    /* LED2 GPIO Initialization */
    RCC_AHBPeriphClock_Enable(LED2_GPIO_CLK, ENABLE);
    GPIO_InitStructure.GPIO_Pin = LED2_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUT;
    GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_PP;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PUPD_NOPULL;
    GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
    GPIO_Init(LED2_GPIO_PORT, &GPIO_InitStructure);
    
    LED2_GPIO_PORT->BOR = LED2_PIN;

    /* RTC ALARM Interrupt Configuration */
    EXTI_ClearIntBitState(EXTI_LINE17);
    EXTI_InitStructure.EXTI_LINE = EXTI_LINE17;
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
    EXTI_InitStructure.EXTI_LINEEnable = ENABLE;
    EXTI_Init(&EXTI_InitStructure);

    NVIC_InitStructure.NVIC_IRQ = RTC_IRQn;
    NVIC_InitStructure.NVIC_IRQPreemptPriority = 0;
    NVIC_InitStructure.NVIC_IRQSubPriority = 0;
    NVIC_InitStructure.NVIC_IRQEnable = ENABLE;
    NVIC_Init(&NVIC_InitStructure);

    while (1)
    {
    }
}