Lokesh12121 / Emb-C

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project

  • Naming Convention "M2_YourProjectGoal"
  • Folder Structure must be similar to template
    • 1_Requirements
    • 2_Architecture
    • 3_Implementation
      • src
      • inc
      • simulation
      • documentation
      • Makefile
    • 4_TestPlanAndOutput
    • 5_Report
    • 6_ImagesAndVideos

Project must have below components

  • Atmega328 based Embedded C Programming with below Peripherals
    • GPIO (Digital input or Output) and Interrupt
    • ADC based sensor
    • One Communication Interface (UART or SPI or I2C)
    • Any other peripherals used (Timers, PWM etc.)

Embedded C Programming Examples with Continuous Integration and Code Quality

LED Blinking

In Action

ON OFF
ON OFF

CI and Code Quality

Build Cppcheck Codacy
Compile-Linux Cppcheck Codacy Badge

Communication Protocols

  • Wired

    • Parallel
    • Serial
      • UART - TX & RX (2 devices)

        • 2 Wire
        • Individual clocks used by the both parties
        • Standard speed (9600, 115200) - Baud rate
        • Parity
      • SPI - Serial Programming Interface (Master and Slave)

        • 3 + 1 wire
          • Master In Slave Out
          • Master out Slave In
          • Clock
          • Optional Chip select - Individual Chip select
        • Max - Number GPIO's availabel CS pins
        • Frequency - 1/3 of Operating
      • I2C - Inter IC (Master & Slave), External Pull up resistors

        • 2 wired
          • Serial Data
          • Serial Clock
        • 7/9 bit Address for each entity
        • Start - Data line going low, clock low
        • Stop - Dataline going high, clock low
        • 7 bit address + 1 bit of acknowledge
        • 100k, 400K, 1.2M
      • Frequency

      • Data throughput

      • Number of pins

      • Type of devices which needs to talk

      • Error detection (UART & I2C)

  • SDIO - uSD

  • HDMI

  • Ethernet

  • Wireless

    • Bluetooth
    • Wifi
    • LORA
    • RFID

Wiki Documentation

About


Languages

Language:C 68.2%Language:Makefile 31.8%