Skip to content

Commit ca77dd6

Browse files
committed
Exti docs
1 parent 23f0397 commit ca77dd6

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

src/gpio/exti.rs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,22 @@ impl<const P: char, const N: u8, MODE> Pin<P, N, MODE> {
2525

2626
/// External Interrupt Pin
2727
pub trait ExtiPin {
28+
/// Make corresponding EXTI line sensitive to this pin
2829
fn make_interrupt_source(&mut self, syscfg: &mut SysCfg);
30+
31+
/// Generate interrupt on rising edge, falling edge or both
2932
fn trigger_on_edge(&mut self, exti: &mut EXTI, level: Edge);
33+
34+
/// Enable external interrupts from this pin.
3035
fn enable_interrupt(&mut self, exti: &mut EXTI);
36+
37+
/// Disable external interrupts from this pin
3138
fn disable_interrupt(&mut self, exti: &mut EXTI);
39+
40+
/// Clear the interrupt pending bit for this pin
3241
fn clear_interrupt_pending_bit(&mut self);
42+
43+
/// Reads the interrupt pending bit for this pin
3344
fn check_interrupt(&self) -> bool;
3445
}
3546

@@ -38,7 +49,6 @@ where
3849
PIN: PinExt,
3950
PIN::Mode: marker::Interruptable,
4051
{
41-
/// Make corresponding EXTI line sensitive to this pin
4252
#[inline(always)]
4353
fn make_interrupt_source(&mut self, syscfg: &mut SysCfg) {
4454
let i = self.pin_id();
@@ -69,7 +79,6 @@ where
6979
}
7080
}
7181

72-
/// Generate interrupt on rising edge, falling edge or both
7382
#[inline(always)]
7483
fn trigger_on_edge(&mut self, exti: &mut EXTI, edge: Edge) {
7584
let i = self.pin_id();
@@ -95,27 +104,23 @@ where
95104
}
96105
}
97106

98-
/// Enable external interrupts from this pin.
99107
#[inline(always)]
100108
fn enable_interrupt(&mut self, exti: &mut EXTI) {
101109
exti.imr
102110
.modify(|r, w| unsafe { w.bits(r.bits() | (1 << self.pin_id())) });
103111
}
104112

105-
/// Disable external interrupts from this pin
106113
#[inline(always)]
107114
fn disable_interrupt(&mut self, exti: &mut EXTI) {
108115
exti.imr
109116
.modify(|r, w| unsafe { w.bits(r.bits() & !(1 << self.pin_id())) });
110117
}
111118

112-
/// Clear the interrupt pending bit for this pin
113119
#[inline(always)]
114120
fn clear_interrupt_pending_bit(&mut self) {
115121
unsafe { (*EXTI::ptr()).pr.write(|w| w.bits(1 << self.pin_id())) };
116122
}
117123

118-
/// Reads the interrupt pending bit for this pin
119124
#[inline(always)]
120125
fn check_interrupt(&self) -> bool {
121126
unsafe { ((*EXTI::ptr()).pr.read().bits() & (1 << self.pin_id())) != 0 }

0 commit comments

Comments
 (0)