blob: 0a83a41f0f67998cdde54cd15accfa9017c82c9c (
plain)
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
//! Pin configuration helpers (separate from peripheral drivers).
use crate::pac;
pub unsafe fn configure_uart2_pins_port2() {
// P2_2 = LPUART2_TX ALT3, P2_3 = LPUART2_RX ALT3 with pull-up, input enable, high drive, slow slew.
let port2 = &*pac::Port2::ptr();
port2.pcr2().write(|w| {
w.ps()
.ps1()
.pe()
.pe1()
.sre()
.sre1()
.dse()
.dse1()
.mux()
.mux3()
.ibe()
.ibe1()
});
port2.pcr3().write(|w| {
w.ps()
.ps1()
.pe()
.pe1()
.sre()
.sre1()
.dse()
.dse1()
.mux()
.mux3()
.ibe()
.ibe1()
});
core::arch::asm!("dsb sy; isb sy");
}
pub unsafe fn configure_adc_pins() {
// P1_10 = ADC1_A8
let port1 = &*pac::Port1::ptr();
port1.pcr10().write(|w| {
w.ps()
.ps0()
.pe()
.pe0()
.sre()
.sre0()
.ode()
.ode0()
.dse()
.dse0()
.mux()
.mux0()
.ibe()
.ibe0()
.inv()
.inv0()
.lk()
.lk0()
});
core::arch::asm!("dsb sy; isb sy");
}
|