Files @ 9fdc9e276115
Branch filter:

Location: therm/main.c - annotation

Ethan Zonca
Fixed linkerfile
970a161634a0
970a161634a0
6ef9b6f499ac
970a161634a0
970a161634a0
970a161634a0
970a161634a0
6982c8ddef15
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
56d27a356b39
56d27a356b39
56d27a356b39
56d27a356b39
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
1c5909c633fa
676f49902c7d
970a161634a0
08d36c537581
970a161634a0
970a161634a0
970a161634a0
970a161634a0
6982c8ddef15
6982c8ddef15
970a161634a0
56d27a356b39
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
56d27a356b39
6ef9b6f499ac
6ef9b6f499ac
6ef9b6f499ac
970a161634a0
f23a287bb7c1
08d36c537581
f23a287bb7c1
08d36c537581
08d36c537581
970a161634a0
970a161634a0
970a161634a0
970a161634a0
08d36c537581
970a161634a0
970a161634a0
08d36c537581
970a161634a0
970a161634a0
970a161634a0
08d36c537581
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
#include "main.h"
#include "stm32l100c_discovery.h"
#include "ssd1306.h"

static __IO uint32_t TimingDelay;
uint8_t BlinkSpeed = 0;


ErrorStatus HSEStartUpStatus;
// Clock config
void RCC_Configuration(void)
{   
  /* RCC system reset(for debug purpose) */
  RCC_DeInit();

  /* Enable HSE */
  RCC_HSEConfig(RCC_HSE_ON);

  /* Wait till HSE is ready */
  HSEStartUpStatus = RCC_WaitForHSEStartUp();

  if(HSEStartUpStatus == SUCCESS)
  {
    /* HCLK = SYSCLK */
    RCC_HCLKConfig(RCC_SYSCLK_Div1); 
  
    /* PCLK2 = HCLK */
    RCC_PCLK2Config(RCC_HCLK_Div1); 

    /* PCLK1 = HCLK/2 */
    RCC_PCLK1Config(RCC_HCLK_Div2);

    /* PLLCLK = 8MHz * 8 = ?? MHz */
    RCC_PLLConfig(RCC_PLLSource_HSE, RCC_PLLMul_8, RCC_PLLDiv_2);

    /* 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 is used as system clock source */
    while(RCC_GetSYSCLKSource() != 0x08)
    {
    }
  }

  /* Enable GPIO_LED clock */
//  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO_LED, ENABLE);
}

/* Main */
int main(void)
{
   RCC_ClocksTypeDef RCC_Clocks;
  
  /* Configure LED3 and LED4 on STM32L100C-Discovery */
  STM_EVAL_LEDInit(LED3);
  STM_EVAL_LEDInit(LED4);
  

//  RCC_Configuration();
  /* Initialize User_Button on STM32L100C-Discovery */
  //STM_EVAL_PBInit(BUTTON_USER, BUTTON_MODE_GPIO);
  
  /* SysTick end of count event each 1ms */
  RCC_GetClocksFreq(&RCC_Clocks);
  SysTick_Config(RCC_Clocks.HCLK_Frequency / 1000);

 /* Initiate Blink Speed variable */ 
  BlinkSpeed = 1;

  while(1) {
	  ITM_SendChar('!');
  } 

 /* Init lcd driver */
  SSD1303_Init();
  SSD1303_DrawPoint(3,3,1);
  SSD1303_DrawPoint(5,5,0);
  
  STM_EVAL_LEDOn(LED4);
  Delay(1000);
  STM_EVAL_LEDOff(LED4);
  Delay(1000);

  while(1)
  {  
      /* Turn on LD4 Blue LED during 1s each time User button is pressed */
      STM_EVAL_LEDOn(LED4);
      //STM_EVAL_LEDOn(LED3);
      
      /* wait for 1s */
      Delay(300);
      
      /* Turn off LD4 Blue LED after 1s each time User button is pressed */
      STM_EVAL_LEDOff(LED4);
      Delay(300);
  }
}

/**
  * @brief  Inserts a delay time.
  * @param  nTime: specifies the delay time length, in 1 ms.
  * @retval None
  */
void Delay(__IO uint32_t nTime)
{
  TimingDelay = nTime;

  while(TimingDelay != 0);
}

/**
  * @brief  Decrements the TimingDelay variable.
  * @param  None
  * @retval None
  */
void TimingDelay_Decrement(void)
{
  if (TimingDelay != 0x00)
  { 
    TimingDelay--;
  }
}

#ifdef  USE_FULL_ASSERT

/**
  * @brief  Reports the name of the source file and the source line number
  *   where the assert_param error has occurred.
  * @param  file: pointer to the source file name
  * @param  line: assert_param error line source number
  * @retval None
  */
void assert_failed(uint8_t* file, uint32_t line)
{ 
  /* User can add his own implementation to report the file name and line number,
     ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */

  /* Infinite loop */
  while (1)
  {}
}
#endif