AVR340 Code lauffähig machen

#3889073
Lesenswert?

Hallo,

der in der AVR340 enthaltene Code ist mit CodeVision AVR compiliert und 
daher im Studio nicht direkt lauffähig. Da meine C Kenntnisse sehr 
rudimentär sind, komme ich leider nicht weiter.

Die erste Fehlermeldung bezog sich auf

#include <mega48.h>

daher habe ich es in einen Kommentar geändert.

Die zweite war

interrupt [TIM0_OVF] void timer0_ovf_isr(void)

Mit einer Änderung in

isr (TIMER1_OVF_vect) void timer0_ovf_isr(void)

ist diese spezielle Meldung zwar auch weg, aber dafür habe ich eine 
Reihe anderer:

Warning  1  return type defaults to 'int' [enabled by default] 36  1
Error    2  expected '=', ',', ';', 'asm' or '__attribute__' before '{' 
token  37  1
Error    3  expected '=', ',', ';', 'asm' or '__attribute__' before '{' 
token  48  2
Error    4  invalid preprocessing directive #asm  50  3
Error    5  expected '=', ',', ';', 'asm' or '__attribute__' before '{' 
token  180  1
Warning  6  type of '__vector_13' defaults to 'int' [enabled by default] 
36  1
Warning  7  control reaches end of non-void function [-Wreturn-type] 
209  1

Damit sind meine Möglichkeiten überfordert. Kann jemand helfen?

Gruß Bruno
Angehängte Dateien:
Gast #3889082
Lesenswert?

> Error    2  expected '=', ',', ';', 'asm' or '__attribute__' before '{'

Er erwartet eine der Angaben, die in der Aufzählung von '=' bis 
'__attribute__' genannt werden, vor dem '{'.

Du solltest die entsprechenden Quelltextzeilen posten.
Moderator #3889109
Lesenswert?

Folgendes musst du ändern, damit der Code unter AVR-GCC mit AVR-Libc
baut:
1
36c36
2
< isr (TIMER1_OVF_vect) void timer0_ovf_isr(void)
3
---
4
> ISR (TIMER1_OVF_vect)
5
50c50
6
<       #asm("sei")                                     //* * * * * * * Eanble Global enable interrupts* * * * * * * * ** * 
7
---
8
>       asm("sei");                                     //* * * * * * * Eanble Global enable interrupts* * * * * * * * ** * 
9
101c101
10
<                               DDRD  = 0x02;  /                /COM2 asserted High 
11
---
12
>                               DDRD  = 0x02;  //COM2 asserted High 
13
214c214,215
14
< //************************End of Initialization function *************************** 
15
\ No newline at end of file
16
---
17
> //************************End of Initialization function *************************** 
18
> }
#3889110
Lesenswert?

Peter II schrieb:

> dann fehlt dir doch die hälfte, denn in dieser Datei ist die "Hardware"
> beschrieben.

Der Controller wird mit den Project Properties eingeschlossen.

Motek schrieb:

> Du solltest die entsprechenden Quelltextzeilen posten.

Die sind im pdf File enthalten.
#3890091
Lesenswert?

Ich habe mich zu früh gefreut!

Das build funktioniert zwar jetzt ohne Probleme, aber beim debuggen 
geschehen Dinge die ich nicht nachvollziehen kann.

Er springt schon vor dem ersten Interrupt in die switch Auswahl zu case 
7 obwohl state_counter mit 8 vorbelegt ist. Dann verlangt er nach einer 
Datei libgcc.S und landet anschließend im Nirwana.

Wo liegt der Fehler? Ich möchte das Programm gerne verstehen, um es dann 
in asm zu realisieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren