We all love arduino but we have to admit that most of the times, it is limited and if you really want to understand nitty-gritty details of microcontrollers then you need to strip your arduino board.
In this project, i will programming various AVR microcontrollers with C.
Details
I will be using USBasp as my programmer, since i run i Linux, i will programming straight from the terminal using avrdude.
I will also be programming an Attiny85 directly and Atmega328p from UNO board.
Files
RGB.c
Code for iterating through the 3 colours of an RGB LED
Today i decided to use tactile push button to get binary input unlike the arduino code i had to do math. Encountered my third AVR i/o avr register PINx.
//This Code is a simple i/o using tactile switch button and a LED.#define F_CPU 16000000L#include<avr/io.h>#include<util/delay.h>intmain(){
DDRB = 0x01;//Setting PB0 as output
PORTB = 0x02;//Activating internal pullups of PB1while(1){
if(!(PINB & 0x02)){
PORTB |= 0x01;//Bitmask operation
}
else{
PORTB &= 0xFE;//Bitmask operation
}
}
}
Thanks, I really appreciate.