Skip to content

OlinREVO/CAN_101

Repository files navigation

CAN 101

Tutorials for people new to REVO programming.

This will cover not only how to program ATmegas, but also all the things you need to know to be a good person! [+] NOTE: Don't click the link, it is only hovertext (check the FAQ)

Clone this repo to get example code for the tutorials! Follow along! Also make bug requests for typos and whatnot, or make pull-requests if you are super nice! [+]

Some useful files are also in the main folder, such as the ATmega datasheet and the pinouts in a readable form[+]

Tutorials

Tut 1 - Setup

Set up your system and get the necessary tools to program ATmegas!

Tut 2 - Wiring and Flashing

Learn to wire up and flash code onto an ATmega.

Tut 3 - Blinky: How Do You Do?

Learn what "blinky" does line by line.

Tut 4 - Inputs & Outputs

Learn to use digital inputs, analog inputs and analog outputs. From this point on, you can basically do everything with an ATmega.

Tut 5 - Interrupts

Interrupts on an ATmega. You might think you know it all, but you don't! Learn to program like the pros.

Learn Git

A general overview of how to use Git and how we are using git for our project. Remember to never push to master.[+]

Style-Guide

The general code style that we will use. Also includes some comments about commenting your code.

Soon to come Tutorials[+]

Tut 6 - CAN

CAN and how to use it on an ATmega, and how to use our API.

Learn C

A general guide on how to program in C.

FAQ

I Don't know C, What do I do?

I will work on writing a quick learn-C tutorial thingy. But it won't go too in-depth. If you really want to learn, there are a ton of great resources out there!

Learn C the Hard Way is a pretty good starter, and honestly just reading anything you can get your hands on will help.

Why isn't there a tutorial for (INSERT HERE)

It is actually time consuming to write tutorials. I will probably get around to it eventually if it is important.

Why are there links that lead to (NULL)?

These are hover-texts! [+] A jank[+] way of forcing github to display text[+] when you hover. They require a link[+], so that is set to NULL[+]!

But seriously, don't click unless it says (LINK) because otherwise it will send you to a non-existent page or some random page[+] that I find funny.

Should I read the hover-texts?

I generally tried to keep all pertinent information in regular text and mostly extra information is hovertext.[+] Some of the extra information is useful and some of it is just me goofing off[+]. I recommend you read all of them mostly because they help break up the monotony of reading technical tutorials.[+]

I am offended by your hover-texts

This is not a question.

You say to never push to master, but this repo is entirely made of pushes to master

Pushing to master is fine if you are running solo-dolo. It is a major issue when working in groups. Also I am the exception that proves the rule.[+]

There are a ton of errors in the Example code!

That is because they are there to test your understanding. You should be able to fix them and make them work after reading the tutorial. Actually, I just wrote them without seeing if they worked so if you find errors just make a pull-request with fixes and I'll merge them.

About

Tutorials for people new to REVO CAN

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published