diff --git a/library/stm32f072xb/dma/abstract-dma/abstract-dma-init.hpp b/library/stm32f072xb/dma/abstract-dma/abstract-dma-init.hpp index 22a65d0a4024a1511eade2b220d170697d515e2e..48223f19abc0dddb7c0276c690eb254440383190 100644 --- a/library/stm32f072xb/dma/abstract-dma/abstract-dma-init.hpp +++ b/library/stm32f072xb/dma/abstract-dma/abstract-dma-init.hpp @@ -15,7 +15,7 @@ struct AbstractDmaInit { const DmaMemorySize memorySize; const DmaPeripheralIncrement peripheralIncrement; const DmaPeripheralSize peripheralSize; - const uint8_t* buffer; + volatile const uint8_t* buffer; const uint16_t bufferSize; }; diff --git a/library/stm32f072xb/dma/abstract-dma/abstract-dma.cpp b/library/stm32f072xb/dma/abstract-dma/abstract-dma.cpp index ad0f160f04b1e6723d7d49bcdfb20be785513e01..f4176d6b22cab8b8141bafbc8b46e31d55f0b688 100644 --- a/library/stm32f072xb/dma/abstract-dma/abstract-dma.cpp +++ b/library/stm32f072xb/dma/abstract-dma/abstract-dma.cpp @@ -50,7 +50,7 @@ void AbstractDma::setPeripheral(DmaPeripheral peripheral) { } } -void AbstractDma::setMemory(const uint8_t* buffer) { +void AbstractDma::setMemory(volatile const uint8_t* buffer) { WRITE_REG(_dmaChannel->CMAR, (uint32_t)(buffer)); } diff --git a/library/stm32f072xb/dma/abstract-dma/abstract-dma.hpp b/library/stm32f072xb/dma/abstract-dma/abstract-dma.hpp index 1a60dd5248f1334280ff991842c4396b515cb501..c6987a3e5050ecf893d27aee32775eb70a8f72c1 100644 --- a/library/stm32f072xb/dma/abstract-dma/abstract-dma.hpp +++ b/library/stm32f072xb/dma/abstract-dma/abstract-dma.hpp @@ -18,7 +18,7 @@ class AbstractDma { private: void setPeripheral(DmaPeripheral peripheral); - void setMemory(const uint8_t* buffer); + void setMemory(volatile const uint8_t* buffer); void setNumberOfDataTransfer(uint16_t numberOfDataTransfer); void setDirection(DmaDirection direction); void setCircularMode(DmaCircularMode circularMode);