Skip to content

iooi/AVR

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AVR

This project aims to use most features of a barebone Atmega328P. Currently supported features are:

* LED blinking
* Bufferized, non-blocking UART output
* Basic PC interrupts (to i.e. detect a button press)

The UART's putchar is non-blocking and writes to a circular buffer. An interrupt triggers when the register used to transmit data is empty, and the next character is pulled from the buffer. This allows for fast, non-blocking transmissions, as long as the buffer is not full. If it is the case putchar will simply block until the buffer frees a slot.