forked from EmbeddedNim/picostdlib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhello48mhz.nim
37 lines (35 loc) · 1.01 KB
/
hello48mhz.nim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import picostdlib
import picostdlib/[pll, clock]
proc measure =
let
pllSys = frequencyCountKhz(pllSysClksrcPrimary)
pllUsb = frequencyCountKhz(pllUsbClksrcPrimary)
rosc = frequencyCountKhz(Fc0SrcValue.roscClksrc)
clkSys = frequencyCountKhz(clkSys)
clkPeri = frequencyCountKhz(clkPeri)
clkUsb = frequencyCountKhz(clkUsb)
clkAdc = frequencyCountKhz(clkAdc)
clkRtc = frequencyCountKhz(clkRtc)
print("pll_sys = " & $pllSys)
print("pll_usb = " & $pllUsb)
print("rosc = " & $rosc)
print("clk_sys = " & $clkSys)
print("clk_peri = " & $clkPeri)
print("clk_usb = " & $clkUsb)
print("clk_adc = " & $clkAdc)
print("clk_rtc = " & $clkRtc)
stdioInitAll()
print("Hello world")
measure()
discard clockConfigure(ClockIndex.sys,
CtrlSrcValueClkSrcClkSysAux,
AuxSrcValue.clksrcPllUsb.uint32,
48u32 * Mhz,
48u32 * Mhz)
PllSys.deinit()
discard clockConfigure(ClockIndex.peri, 0u32, AuxSrcValue.clksrcPllUsb.ord.uint32,
48u32 * Mhz,
48u32 * Mhz)
stdioInitAll()
measure()
print("Hello, 48MHz")