Hallo zusammen,
ich beschäftige mich derzeit mit dem TriCore TC1797 von Infineon. Dazu
nutze ich Tasking VX Toolset V3.1 und DAvE. Geflasht wird über einen
LAUTERBACH Debugger und TRACE32.
Ich möchte eine einfache Systemtimer Funktion mit Interruptauslösung
programmieren, jedoch will es einfach nicht funktionieren. Habe das
Ganze wie in den APPNotes konfiguriert über DAvE und erweitert in
Tasking, jedoch ohne Erfolg. Die Fehlermeldungen, die immer kommen sind
ein wenig suspekt für mich.
void INTERRUPT (STM_INT0) STM_viSRN0(void)
{
// USER CODE BEGIN (SRN0,2)
// USER CODE END
if(STM_ICR.B.CMP0IR == 1) // if compare match of CMP0 is pending
{
// USER CODE BEGIN (SRN0,3)
IO_vTogglePin(IO_P7_0);
IO_vTogglePin(IO_P7_1);
STM_CMP0 += 45000000; <---- Fehlerzeile
// USER CODE END
STM_ISRR.B.CMP0IRR = 1; // clear request bit of CMP0
//...
}
Und hier die Fehlermeldungen:
ctc E241: invalid conversion from "union" to "signed_packb"
ctc E241: invalid conversion from "´signed_packb" to "union"
ctc E241: invalid conversion from "signed int" to "signed_packb"
Es gibt auch so ein tolles Feature bei Tasking, dass man Rechtsklick auf
eine Variable oder Funktion macht und dann auswählt "to Declaration"
aber bei dieser Variablen macht er dies nicht. Außerdem verwunderlich
ist, dass diese Variable ein paar Zeilen zuvor schon einmal so
=> STM_CMP0.U = 0x00000001; // load compare register 0
verwendet wird.
Alles ein bisschen fragwürdig aus meiner Sicht. Wenn Ihr noch mehr Infos
braucht, dann sagt mir bescheid.
Gruß,
Josef
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.