Forum: Mikrocontroller und Digitale Elektronik Code von Sissy nach Avr Studio. Fehler..


von Jochen (Gast)


Lesenswert?

Hallo,
ich habe das MyAvr Starter Set und versuche eine Projekt von der 
Software Sissy in AVR Studio zu kompilieren.
(*.h und *.cpp Dateien in den Ordner Output Files)
Folgender Code bereitet Probleme:
1
//////////////////////////////////////////////////////
2
//
3
// Diese Quellcodedatei wurde automatisch erzeugt.
4
// SiSy UML CodeGenerierung
5
//
6
//////////////////////////////////////////////////////
7
8
///<ObjektNummer>136</ObjektNummer>  GoToSiSy:d:135
9
10
#define GeneratedBySisy
11
#include "Controller.h"
12
13
#include "Controller.h"
14
15
extern  Controller app;
16
17
18
ISR(TIMER1_COMPA_vect)
19
{
20
  app.onInt_timer1compareA();
21
}
22
/////////////////////////////
23
//
24
//  Konstruktor  GoToSiSy:d:135|o:136
25
//
26
/////////////////////////////
27
Controller::Controller()
28
{
29
  
30
}
31
/////////////////////////////
32
//
33
//  Destruktor  GoToSiSy:d:135|o:136
34
//
35
/////////////////////////////
36
Controller::~Controller()
37
{
38
  
39
}
40
/*/////////////////////////////
41
//
42
//  powerOn()  GoToSiSy:d:135|o:137
43
//
44
/////////////////////////////
45
*/
46
void Controller::powerOn()
47
{
48
  // hier Initialisierungen durchführen
49
  lcd.configLcd(PORTA,PORTC);
50
  btnLeft.config(PORTK,BIT4);    // Joystick nach links
51
  btnRight.config(PORTK,BIT6);    // Joystick nach rechts
52
  game.config();
53
  timer1.config_compareMatch( Timer1::sourcePrescale64, 2500);  // 16MHz => 16000000/64/2500 = 100 Hz
54
  timer1.configInt_compare(true);
55
  // mainloop starten
56
  run();
57
  
58
59
} 
60
/*/////////////////////////////
61
//
62
//  run()  GoToSiSy:d:135|o:138
63
//
64
/////////////////////////////
65
*/
66
void Controller::run()
67
{
68
  do {
69
  
70
    game.work();
71
  
72
  } while (true);
73
  
74
75
} 
76
77
/////////////////////////////
78
//
79
//  onInt_timer1compareA()  GoToSiSy:d:135|o:140
80
//
81
/////////////////////////////
82
void Controller::onInt_timer1compareA()
83
{
84
  // Timer alle 1ms
85
  game.onTimer10ms();
86
  
87
}

Die Meldung Error  6  'BIT4' was not declared in this scope

erscheint im AVR Studio. Habt Ihr eine Idee?
Schönen Dank!
jo

von Hubert G. (hubertg)


Lesenswert?

Den Sissy Code kannst du nicht so einfach in einen AVR-GCC-Code 
umwandeln.
BIT4 gibt es nicht, ist nicht deklariert.

von Hans Peter B. (Gast)


Lesenswert?

Wenn du Teilmengen von cpp mit dem AVR-Studio kompilieren willst, dann 
schau die Hinweise unter:
http://www.mikrocontroller.net/articles/AVR-Studio#Tipps_.26_Tricks
Hans Peter

von Jahat I. (jaib)


Lesenswert?

hallo,

Sisy bindet offensichtlich automatisch eigene Deklarationen mit ein. 
Schreibe die einfach an den Anfang deines Codes:
1
#define BIT0 1<<0
2
#define BIT1 1<<1
3
#define BIT2 1<<2
4
#define BIT3 1<<3
5
#define BIT4 1<<4
6
#define BIT5 1<<5
7
#define BIT6 1<<6
8
#define BIT7 1<<7


Gruß Jahat

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
Noch kein Account? Hier anmelden.