Tagged: dma

STM32 tutorial: Efficiently receive UART data using DMA 4

STM32 tutorial: Efficiently receive UART data using DMA

U(S)ART peripheral can work very good by using RXNE (Receive Not Empty) for each byte separatelly. In this case, every received byte is manipulated by CPU by jumping to appropriate UART interrupt service routine. To allow CPU to do fully other job when we receive UART data at high speed we can use DMA (Direct Memory Access) to offload CPU. We can think of DMA as co-processor who can only transfer data between different memories, in our case between peripheral data register UART...

HAL Library 33- DMA extension for SPI on STM32Fxxx 21

HAL Library 33- DMA extension for SPI on STM32Fxxx

SPI DMA library allows you to send and receive data via SPI in non-blocking mode. It can be use for TX only, RX only or both (transmissing mode). This library is extension for my SPI library. It requires SPI library as basic to make this to work. Library Read more about HAL libraries Features SPI extension for non-blocking TX, RX or both modes Supports all SPI peripherals on STM32F4 and STM32F7 device Supports interrupt processing Allows you to start DMA transmissing and wait till done This is...

HAL Library 32- DMA extension for USART on STM32Fxxx 2

HAL Library 32- DMA extension for USART on STM32Fxxx

USART DMA library allows you to send data via USART in non-blocking mode. It is designed only for TX mode, because my USART library already uses RX interrupts and DMA RX is not necessary for that purpose. This library is extension for my USART library. It requires USART library as basic to make this to work. Library Read more about HAL libraries Features USART extension for non-blocking TX mode Supports all U(S)ART peripherals on STM32F4 and STM32F7 device Supports TX...

HAL Library 31- DMA for STM32Fxxx devices 1

HAL Library 31- DMA for STM32Fxxx devices

It’s been a while since last published library. From that time, I got some requests about making DMA library for HAL and later using this library with USART, SPI, ADC and more libraries. So I’ve made a first step in DMA libraries list. Basic “root” library for DMA process has been created for managing things with DMA streams for STM32F4 and STM32F7 devices. What else it supports, you should check below. Library Read more about HAL libraries Features Root library...

Library 63- DMA for STM32F4xx 12

Library 63- DMA for STM32F4xx

Having each stream on separate bits for checking flags has really annoying for me! I had to made a library for DMA which will handle all that stuff any maybe a little more for me because it is really stressfull, when I have to change DMA stream. Then you have to change interrupt handler function name, all flag bit locations and so on. Too much work for easily fail and bug is here! To enable/disable interrupts, get/clear flags, you have to...

Library 56- Extend SPI with DMA for STM32F4xx 12

Library 56- Extend SPI with DMA for STM32F4xx

As said in one post before, here is SPI DMA library for STM32F4 devices. Instead of onl TX functionality (as in USART DMA library) SPI DMA extension library enables DMA for TX and RX modes at the same time, to receive and transmit data over DMA. Library supports up to 6 SPIs (max number in STM32F4 devices). It can work in 3 main modes: Send data to slave device, receive data from slave device Send data to slave device, don’t...