This project focuses on the development and implementation of advanced features on STM32 microcontrollers, with a particular emphasis on the CAN (Controller Area Network) communication protocol.
The project aims to:
- Master the CAN Protocol: Integrate and manage CAN message transmission and reception using STM32 microcontrollers.
- Develop Embedded Services: Create services for adjusting CAN baud rate, controlling GPIOs, managing PWM signals (both input and output modes), and performing ADC conversions configured in DMA mode.
- Explore the UDS Protocol: Implement the Unified Diagnostic Services (UDS) protocol for embedded diagnostics, including sending validation or error frames in response to confirm reception and the type of detected errors.
- CAN Transmission and Reception: Send and receive CAN messages with standard and extended IDs.
- GPIO Services: Control LEDs via CAN messages with APIs for turning LEDs on, off, and retrieving their state. -ADC Data Acquisition: Efficiently convert analog signals to digital values with DMA mode, enabling high-speed, continuous sampling and direct access to results.
- PWM Signal Management: Generate and measure PWM signals with configurable duty cycles and frequencies, including precise measurements using an oscilloscope.
- Diagnostic Services: Implement UDS-based diagnostic services to ensure robust error handling and validation of the communication process.
This project not only demonstrates the practical application of CAN communication in embedded systems but also provides a comprehensive solution for integrating and managing various services on STM32 microcontrollers. It is designed to be a valuable resource for developers looking to enhance their understanding of embedded communications and diagnostics.