YAHAL
Yet Another Hardware Abstraction Library
Loading...
Searching...
No Matches
clock_msp432.h
1/*
2 * clockmsp432.h
3 *
4 * Created on: 17.04.2016
5 * Author: Andreas Terstegge
6 */
7
8#ifndef _CLOCK_MSP432_H_
9#define _CLOCK_MSP432_H_
10
11#if 0
12#include <stdint.h>
13
14namespace CLKSYS {
15
16enum DCO_CENTER {
17 DCO_1500kHz = 0,
18 DCO_3MHz,
19 DCO_6MHz,
20 DCO_12MHz,
21 DCO_24MHz,
22 DCO_48MHz
23};
24
25enum OSC {
26 LFXT = 0,
27 VLO,
28 REFO,
29 DCO,
30 MOD,
31 HFXT
32};
33
34enum DIVIDER {
35 DIV1 = 0,
36 DIV2,
37 DIV4,
38 DIV8,
39 DIV16,
40 DIV32,
41 DIV64,
42 DIV128
43};
44
45
46 enum CLK {
47 ACLK,
48 MCLK,
49 HSMCLK,
50 SMCLK,
51 BCLK
52 };
53
54}
55
56class clock_msp432 {
57public:
58 clock_msp432();
59 virtual ~clock_msp432();
60
61 void setOscFrequency(CLKSYS::OSC osc, uint32_t hz);
62 uint32_t getOscFrequency(CLKSYS::OSC osc);
63 uint32_t getClockFrequency(CLKSYS::CLK clk);
64
65 void setCLockSource(CLKSYS::CLK clk, CLKSYS::OSC, uint8_t div);
66
67private:
68 float kalib04;
69 float kalib5;
70 uint32_t getDcoFrequency();
71};
72#endif
73
74#endif /* _CLOCK_MSP432_H_ */