Skip to content

Instantly share code, notes, and snippets.

@avr-programmierung
Created May 14, 2019 09:56
Show Gist options
  • Save avr-programmierung/a5cb6bc6b12447cc70ef5d241b610049 to your computer and use it in GitHub Desktop.
Save avr-programmierung/a5cb6bc6b12447cc70ef5d241b610049 to your computer and use it in GitHub Desktop.
ATmega88 @ 8MHz 13
// Datei main.c
/* code013.c ATmega88 @ 8MHz */
#include <avr/io.h>
#include "main.h" // Bindet die Headerdatei main.h ein
#include "sub.h" // Bindet die Headerdatei sub.h ein
#include "mult.h" // Bindet die Headerdatei mult.h ein
int main(void)
{
uint8_ta=4, b=2, ergebnis;
ergebnis = addition(a, b); // *1
ergebnis = subtraction(a, b); // *2
ergebnis = multiplication(a, b); // *3
ergebnis = ergebnis + c; // *4
}
uint8_t addition(uint8_t a, uint8_t b)
{
return a+b;
}
// Datei sub.c
uint8_t subtraction (uint8_t a, uint8_t b)
{
return a-b;
}
// Datei mult.c
uint8_t c = 10; // Die Variable c wurde in mult.h deklariert und an dieser Stelle definiert. Gleichzeitig wird sie mit dem Wert 10 initialisiert
uint8_t multiplication (uint8_t a, uint8_t b)
{
return a*b;
}
// Datei main.h
#ifndef MAIN_H_
#define MAIN_H_
uint8_t addition (uint8_t a, uint8_t b); // Funktionsprototyp
#endif /* MAIN_H_ */
// Datei sub.h
#ifndef SUB_H_
#define SUB_H_
uint8_t subtraction (uint8_t a, uint8_t b); // Funktionsprototyp
#endif /* SUB_H_ */
// Datei mult.h
#ifndef MULT_H_
#define MULT_H_
extern uint8_t c; // Durch das Schlüsselwort extern wird die Variable c deklariert
uint8_t multiplication (uint8_t a, uint8_t b); // Funktionsprototyp
#endif /* MULT_H_ */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment