Here I implement drivers to be independent on any built in drivers and apply some concepts like
1.modularity
2.save hierarchy
3.easy configurability
Don't forget for any module Driver go to ModuleName_config.h and read it carefully and edit or configure depend on your need and configure ModuleName_config.c if exist
Read ModuleName_interface.h to know each function what can do and what can't Do
Don't Ignore any Note ⛔🙆♂️ in ModuleName_interface.h OR ModuleName_config.h
Here will find all Drivers for external hardware devices that ready to use with ATmega32
Here will find driver for this module and able to config with keypad 4*4 or 4*3
Here will find implementation for LCD LM016L 2*16 and find most of features and add New character to CGRAM
Here will find implementation for Negative Temeperature Coffecient
Here will find implementation for LM35
Here will find Implement of Servo Motor That depend on exist of Timer 1 using ICR1 as Top value
Here will find All drivers for MCU specefic and deal direct with it
Here deal with Digital input / output for MCU
Here will find implementation of INT0 , INT1 and INT2 with full configuration
Here will find implementation for Timer0 Module available with all modes 1.OVF(Polling & Interrupt) 2.CTC(Polling & Interrupt & waveform Generation) 3.Fast PWM 4.Phase correct PWM
Here will find implementation for Timer0 Module available with all modes 1.OVF(Polling & Interrupt & ICU) 2.CTC(Polling & Interrupt & waveform Generation) 3.Fast PWM 4.Phase correct PWM
Here will find implementation for ADC Module availble with 3 modes (Signle Conversion , Free Running , Auto Trigger)
Here will find some service header file used to facilitate dealing
Here will find function like macros that help in change bits in register easly without make stack context switch
Here will find standard data types that don't depend on architecture bits size
Here will find Header file for ALL ISR to Be able to use it