NavHAL 0.1.0
NAVRobotec's architecture-agnostic HAL for embedded systems.
Loading...
Searching...
No Matches
clock.h
Go to the documentation of this file.
1
16
17#ifndef CORTEX_M4_CLOCK_H
18#define CORTEX_M4_CLOCK_H
19
20#include "utils/clock_types.h"
21
29typedef struct {
31 uint8_t pll_m;
32 uint16_t pll_n;
33 uint8_t pll_p;
34 uint8_t pll_q;
36
46
52uint32_t hal_clock_get_sysclk(void);
53
59uint32_t hal_clock_get_ahbclk(void);
60
66uint32_t hal_clock_get_apb1clk(void);
67
73uint32_t hal_clock_get_apb2clk(void);
74
75#endif // CORTEX_M4_CLOCK_H
void hal_clock_init(hal_clock_config_t *cfg, hal_pll_config_t *pll_cfg)
Initialize the system clock.
Definition clock.c:55
uint32_t hal_clock_get_apb1clk(void)
Get the APB1 bus clock frequency.
Definition clock.c:234
uint32_t hal_clock_get_apb2clk(void)
Get the APB2 bus clock frequency.
Definition clock.c:246
uint32_t hal_clock_get_ahbclk(void)
Get the AHB bus clock frequency.
Definition clock.c:222
uint32_t hal_clock_get_sysclk(void)
Get the system clock frequency (SYSCLK).
Definition clock.c:129
Clock HAL type definitions.
hal_clock_source_t
Enumeration of possible system clock sources.
Definition clock_types.h:23
hal_pll_config_t pll_cfg
Definition main.c:108
hal_clock_config_t cfg
System clock configuration.
Definition main.c:37
System clock configuration structure.
Definition clock_types.h:35
PLL (Phase Locked Loop) configuration structure.
Definition clock.h:29
uint8_t pll_q
Definition clock.h:34
hal_clock_source_t input_src
Definition clock.h:30
uint8_t pll_m
Definition clock.h:31
uint16_t pll_n
Definition clock.h:32
uint8_t pll_p
Definition clock.h:33