Example #1
0
int main(void) 					// Объявляем функцию которая принимает значение void
{

	SystemInit(); 				// Настройка и включение кварца (Quarz Einstellungen aktivieren)
  	  	  	  	  	  	  	  	// ### SystemInit кокофигурируется где то в дебрях system_stm32f4xx.h


  UB_Button_Init(); 			// Активация Кнопки (Init der Buttons)
  UB_Led_Init();    			// Активация LEDs (Init der LEDs)
  	  	  	  	  	  	  	  	// ### UB_Button_Init UB_Led_Init кофигурируется в файлах
  	  	  	  	  	  	  	  	// ### stm32_ub_button.c stm32_ub_button.h stm32_ub_led.c stm32_ub_led.h


  UB_Led_On(LED_GREEN);			// Включение GREEN СветоДиода (gruene LED einschalten)
  	  	  	  	  	  	  	  	// ### UB_Led_On кофигурируется в файлах stm32_ub_led.c stm32_ub_led.h


  while(1)						// Открываем цикл
  {
	  	  	  	  	  	  	  	// прорверяем нажата ли кнопка USER (Test ob Button gedruckt ist)
	if(UB_Button_Read(BTN_USER)==BTN_PRESSED) { // ### UB_Button_Read кофигурируется в файлах stm32_ub_button.c stm32_ub_button.h
      UB_Led_On(LED_RED);  		// Включение RED СветоДиода (rote LED einschalten)
      UB_Led_Off(LED_GREEN);	// ### UB_Led_On UB_Led_Off кофигурируется в файлах stm32_ub_led.c stm32_ub_led.h
      UB_Led_On(LED_ORANGE);
      UB_Led_Off(LED_BLUE);
	}
	else {
      UB_Led_Off(LED_RED); 		// Выключение RED СветоДиода (rote LED ausschalten)
      UB_Led_On(LED_GREEN);
      UB_Led_Off(LED_ORANGE);
      UB_Led_On(LED_BLUE);
	}

  }
}
Example #2
0
//--------------------------------------------------------------
// init der Hardware
//--------------------------------------------------------------
uint32_t p_oszi_hw_init(void)
{
  uint32_t ret_wert=0;

  // init vom Touch
  if(UB_Touch_Init()!=SUCCESS) {
    ret_wert=1; // Touch error
  }

  // Check der Defines
  if(ADC_ARRAY_LEN!=SCALE_W) {
    ret_wert=2; // define error
  }

  // init vom Systick
  UB_Systick_Init();

  // init der LEDs
  UB_Led_Init();

  // init vom Button
  UB_Button_Init();

  // init der UART
  UB_Uart_Init();

  // init vom LCD (und SD-RAM)
  UB_LCD_Init();
  UB_LCD_LayerInit_Fullscreen();
  UB_LCD_SetMode(LANDSCAPE);

  // alle Puffer löschen
  p_oszi_clear_all();

  // init vom ADC
  ADC_Init_ALL();

  return(ret_wert);
}
int main(void)
{
	RTC_STATUS_t check;
	uint8_t old_sek=0;

	char buf[APP_TX_BUF_SIZE]; // puffer fuer Datenempfang

	SystemInit(); // Quarz Einstellungen aktivieren

	// Init der LEDs
	UB_Led_Init();

	// Init der Buttons
	UB_Button_Init ( );

	// Init und start der RTC
	check=UB_RTC_Init();

	if(check==RTC_UNDEFINED) {
		// RTC war noch nie initialisiert
		UB_Led_On(LED_RED);
	}
	else {
		// RTC war schon initialisiert
		UB_Led_On(LED_GREEN);
	}

	// Init vom USB-OTG-Port als CDC-Device
	// (Virtueller-ComPort)

	/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	 *  die nächste Zeile auskommentieren,
	 *  dann funktioniert das Zurücksetzen
	 *  des RTC
	 */
	UB_USB_CDC_Init();

	while ( 1 )
	{
		// wenn Button gedrückt -> RTC zurücksetzen
		if ( UB_Button_Read ( BTN_USER ) )
		{
			// orange LED ein
			UB_Led_On ( LED_ORANGE );
			// RTC zurücksetzen
			ResetRTC ( );
			// warten bis Button gelöst
			while ( UB_Button_Read ( BTN_USER ) );
			// die LED noch ein Weilchen an lassen
			Delay ( 10000000 );
			UB_Led_Off ( LED_ORANGE );
		}
		// aktuelle RTC-Zeit auslesen
		UB_RTC_GetClock(RTC_DEC);
		if(UB_RTC.sek!=old_sek) {
			// wenn eine Sekunde um ist
			old_sek=UB_RTC.sek;
			UB_Led_Toggle(LED_BLUE);

			// aktuelle Zeit als String formatieren
			sprintf ( buf, "%02d.%02d.%02d %02d:%02d:%02d",
					UB_RTC.tag, UB_RTC.monat, UB_RTC.jahr,
					UB_RTC.std, UB_RTC.min, UB_RTC.sek );
			// an Semihosting senden
			printf ( "%s\r\n", buf );

			// Test ob USB-Verbindung zum PC besteht
			if(UB_USB_CDC_GetStatus()==USB_CDC_CONNECTED)
			{
				// an PC senden
				UB_USB_CDC_SendString ( buf, LFCR );
			}
		}
	}
}