source: trunk/firmware/Core/src/buzzer.c @ 10

Last change on this file since 10 was 9, checked in by f.jahn, 5 months ago

Firmware Erstellung begonnen:

  • Relais schaltet
  • Mode wird eingelesen
  • Button auf Platine getestet
  • Buzzer Funktionen erstellt
File size: 1.3 KB
Line 
1#include "main.h"
2#include "buzzer.h"
3
4unsigned int onTimeCounter;
5unsigned int offTimeCounter;
6unsigned int onTime;
7unsigned int offTime;
8unsigned int alarmMode;
9
10
11
12void BUZZER_Exec(void)
13{
14
15  if (onTimeCounter > 0)
16  {
17    onTimeCounter--;
18    if (onTimeCounter == 0)
19    {
20      HAL_GPIO_WritePin(GPIO_OUTPUT_BUZZER_GPIO_Port, GPIO_OUTPUT_BUZZER_Pin, GPIO_PIN_RESET);
21
22      if (alarmMode == 1) offTimeCounter = offTime;
23    }
24  }
25
26  if (offTimeCounter > 0)
27  {
28    offTimeCounter--;
29    if (offTimeCounter == 0)
30    {
31      HAL_GPIO_WritePin(GPIO_OUTPUT_BUZZER_GPIO_Port, GPIO_OUTPUT_BUZZER_Pin, GPIO_PIN_SET);
32      onTimeCounter = onTime;
33    }
34  }
35}
36
37
38
39void BUZZER_Beep(unsigned int time)
40{
41  HAL_GPIO_WritePin(GPIO_OUTPUT_BUZZER_GPIO_Port, GPIO_OUTPUT_BUZZER_Pin, GPIO_PIN_SET);
42  onTimeCounter = time;
43
44}
45
46void BUZZER_Alarm_Start(unsigned int on, unsigned int off )
47{
48  onTime = on;
49  offTime = off;
50  alarmMode = 1;
51
52  HAL_GPIO_WritePin(GPIO_OUTPUT_BUZZER_GPIO_Port, GPIO_OUTPUT_BUZZER_Pin, GPIO_PIN_SET);
53  onTimeCounter = on;
54
55}
56
57void BUZZER_Alarm_Stop(void)
58{
59  HAL_GPIO_WritePin(GPIO_OUTPUT_BUZZER_GPIO_Port, GPIO_OUTPUT_BUZZER_Pin, GPIO_PIN_RESET);
60  alarmMode = 0;
61  offTimeCounter = 0;
62  onTimeCounter = 0;
63
64}
Note: See TracBrowser for help on using the repository browser.