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
Bruno M. schrieb: > #include <mega48.h> > > daher habe ich es in einen Kommentar geändert. dann fehlt dir doch die hälfte, denn in dieser Datei ist die "Hardware" beschrieben. Du muss doch auch ein include file für diese cpu haben.
> 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.
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 | > } |
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.
Yalu X. schrieb: > Folgendes musst du ändern, damit der Code unter AVR-GCC mit AVR-Libc > baut: Super, danke, funktioniert perfekt!
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.