Skip to content

raissi-oussema/Embedded-Systems-Bare-Metal-Programming

Repository files navigation

STM32F4Cx Drivers Project for UART, I2C, Systick, general purpose timers, DMA, Interrupts, and SPI with Proteus Simulation

This folder contains a collection of drivers for UART (Universal Asynchronous Receiver-Transmitter), I2C (Inter-Integrated Circuit), Systick, general purpose timers, DMA, Interrupts manipulation , and SPI (Serial Peripheral Interface) peripherals for the STM32F4Cx microcontroller series. These drivers are designed to facilitate communication protocols commonly used in embedded systems.

Contents

  1. UART Driver: Enables communication over UART interface.
  2. I2C Driver: Facilitates communication over the I2C bus.
  3. SysTick Driver: Provides timing services and periodic interrupts.
  4. General-Purpose Timers Driver: Allows users to configure and utilize general-purpose timers for various timing applications.
  5. DMA (Direct Memory Access) Driver: Efficiently transfers data between memory and peripherals without CPU intervention.
  6. Interrupts: Supports handling of interrupts from various sources.
  7. SPI (Serial Peripheral Interface) Driver: Enables communication with SPI devices.

Usage

  1. Clone or download the project repository.
  2. Include the necessary drivers in your STM32F4Cx project.
  3. Build and flash the code onto your STM32F4Cx microcontroller.
  4. Open the Proteus project file (.pdsprj) provided in this folder.
  5. Simulate the project to observe the behavior of the drivers under different scenarios.

Dependencies:

These drivers are specifically designed for the STM32F4Cx microcontroller series. However, with appropriate modifications, they can be adapted for use with other microcontroller platforms as well.

Contributors

Oussema Raissi

License

No license is provided.

Feedback and Contributions

We welcome feedback and contributions to enhance the functionality and reliability of these drivers. Feel free to submit issues or pull requests through our https://github.com/raissi-oussema/Embedded-Systems-Bare-Metal-Programming on GitHub.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages