aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Ciesielski2012-10-19 16:28:44 -0700
committerJeff Ciesielski2012-10-19 16:28:44 -0700
commita2fc8768c60acdc01b5907984c4f5b79575d4c47 (patch)
treed7bcbdb258a3e80d432d651bc5aa51d3ab2dee4d
parent4b86c281410aa330a1640e4211ae9da476dd0f56 (diff)
stm32/f1/dma: add clear_flag helper function
-rw-r--r--include/libopencm3/stm32/f1/dma.h1
-rw-r--r--lib/stm32/f1/dma.c5
2 files changed, 6 insertions, 0 deletions
diff --git a/include/libopencm3/stm32/f1/dma.h b/include/libopencm3/stm32/f1/dma.h
index b08803f..8a2edba 100644
--- a/include/libopencm3/stm32/f1/dma.h
+++ b/include/libopencm3/stm32/f1/dma.h
@@ -369,6 +369,7 @@ void dma_disable_channel(u32 dma, u8 channel);
void dma_set_peripheral_address(u32 dma, u8 channel, u32 address);
void dma_set_memory_address(u32 dma, u8 channel, u32 address);
void dma_set_number_of_data(u32 dma, u8 channel, u16 number);
+void dma_clear_flag(u32 dma, u32 flag);
END_DECLS
diff --git a/lib/stm32/f1/dma.c b/lib/stm32/f1/dma.c
index 04cb8a1..2bc8926 100644
--- a/lib/stm32/f1/dma.c
+++ b/lib/stm32/f1/dma.c
@@ -363,5 +363,10 @@ void dma_set_number_of_data(u32 dma, u8 channel, u16 number)
{
DMA_CNDTR(dma, channel) = number;
}
+
+void dma_clear_flag(u32 dma, u32 flag)
+{
+ DMA_ISR(dma) &= ~flag;
+}
/**@}*/