Skip to content

vzabavnov/AVRTL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

title
Welcome to the AVR Template Library

Few days ago, I started my home project and wanted to use AVR microcontroller. I found a lot of information about hot to program it in C and assembler and almost nothing in C++. I started my own research and realize – most microcontroller developers very good know bit/bytes/code performance/size and thinking this why, but they do not think “abstract” way. When they think about C++ - in their mind it is heavy abstraction with virtual method and method’s overrides. Of course C++ will be rejected by this reason, but! ...

This library is my try to reach microcontroller world using power of C++ templates.

The AVR Template library provides set of C++ templates to use to program of AVR

MCUs. The goal of this project to bring modern way of coding to microcontroller

World without sacrifice of performance.

Here is simple example to blink a LED:

#include <atlport.h>

int main(void) { atl::std::PortB.Direction.AsOutput(); while(1) { atl::std::PortB.Set(1 << 3); _delay_ms(1000); atl::std::PortB.Set(0); _delay_ms(1000); } }

About

AVR Template Library (ATL)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages