Ok nochmal meine Programme:
Das funktionierende Programm: (bestehend aus main.c und miscellaneous.h)
========================================================================
miscellaneous.h
1 | #ifndef MISCELLANEOUS_H_
|
2 | #define MISCELLANEOUS_H_
|
3 |
|
4 | #define SET_BIT(PORT,PIN) PORT |= (1<<PIN)
|
5 | #define CLEAR_BIT(PORT,PIN) PORT &= ~(1<<PIN)
|
6 | #define GET_BIT(PORT,PIN) ((PORT>>PIN) & 0x01)
|
7 | #define TOGGLE_BIT(PORT,PIN) PORT ^= (1<<PIN)
|
8 |
|
9 |
|
10 | #endif /* MISCELLANEOUS_H_ */
|
main.c
1 | #define F_CPU 1000000UL
|
2 |
|
3 | #include <avr/io.h>
|
4 | #include <util/delay.h>
|
5 | #include "miscellaneous.h"
|
6 |
|
7 | int main(void)
|
8 | {
|
9 | SET_BIT(DDRC,PC0);
|
10 | SET_BIT(PORTC,PC0);
|
11 | while (1)
|
12 | {
|
13 | _delay_ms(1000);
|
14 | TOGGLE_BIT(PORTC,PC0);
|
15 | }
|
16 | }
|
Das nicht funktionierende Programm: (bestehend aus main.c,
miscellaneous.h, TestFile.h und TestFile.c)
========================================================================
miscellaneous.h
1 | #ifndef MISCELLANEOUS_H_
|
2 | #define MISCELLANEOUS_H_
|
3 |
|
4 | #define SET_BIT(PORT,PIN) PORT |= (1<<PIN)
|
5 | #define CLEAR_BIT(PORT,PIN) PORT &= ~(1<<PIN)
|
6 | #define GET_BIT(PORT,PIN) ((PORT>>PIN) & 0x01)
|
7 | #define TOGGLE_BIT(PORT,PIN) PORT ^= (1<<PIN)
|
8 |
|
9 |
|
10 | #endif /* MISCELLANEOUS_H_ */
|
main.c
1 | #define F_CPU 1000000UL
|
2 |
|
3 | #include <avr/io.h>
|
4 | #include <util/delay.h>
|
5 | #include "TestFile.h"
|
6 |
|
7 | int main(void)
|
8 | {
|
9 | InitIO();
|
10 | while (1)
|
11 | {
|
12 | _delay_ms(1000);
|
13 | ToggleIO();
|
14 | }
|
15 | }
|
TestFile.h
1 | #ifndef TESTFILE_H_
|
2 | #define TESTFILE_H_
|
3 |
|
4 | #include "miscellaneous.h"
|
5 | #include <avr/io.h>
|
6 | #include <util/delay.h>
|
7 |
|
8 | void InitIO();
|
9 | void ToggleIO();
|
10 |
|
11 |
|
12 | #endif /* TESTFILE_H_ */
|
TestFile.c
1 | #include "TestFile.h"
|
2 |
|
3 | void InitIO()
|
4 | {
|
5 | SET_BIT(DDRC,PC0);
|
6 | SET_BIT(PORTC,PC0);
|
7 | }
|
8 |
|
9 | void ToggleIO()
|
10 | {
|
11 | TOGGLE_BIT(PORTC,PC0);
|
12 | }
|
=====================================
Atmel Studio Version 7.0.1006
Keine Warnings und Errors
Das Programm lässt sich auf den ATMega64 hochladen, funktioniert jedoch
bei meiner 2. Version leider nicht.