Hallo zusammen,
ich habe da mal eine Frage zu meiner Funktion im Anhang. Wenn ich jetzt
wie folgt weiter führe:
1 | void main (void)
|
2 | {
|
3 | char *Text;
|
4 | Text = Write_All(0x10,0x20,0x30);
|
5 |
|
6 | if(Text == "Adressierung fehlgeschlagen")
|
7 | {
|
8 | //... hier der Code,damit LED anfängt zu leuchten
|
9 | }
|
10 | }// main Ende
|
Alles unter der Annahme, dass mir in dem internen Funktionsaufruf von
i2cWrite(Byte1) eine 0 herauskommt. Natürlich habe ich keine
Errormeldungen und Head-Dateien sind auch alle richtig definiert.
Nach meinem Verständnis müsste mir die Write_All als Rückgabewert den
Pointer auf die Feldposition 1, sprich "Adressierung fehlgeschlagen"
geben, da ja auch die If-Bedingung in Write_All nicht erfüllt wird und
somit Fehlerstelle auf seinem Initialisierungswert 1 bleibt.
Das ganze müsste dann dem Pointer Text übergeben werden und dann in der
If-Bedingung dazu führen, dass die LED aktiviert wird.
Leider tut sie das nicht. Ihr könnt auch davon ausgehen, dass die
Deklaration und Aufruf für die Aktivierung der LED richtig ist.
Noch zur Info, ich arbeite mit einem TriCore 1797, Tasking VX-toolset
for TriCore Version 3.1, DAvE und als Debugger einen Lauterbach mit
TRACE32.
Danke für Eure Bemühungen im Voraus.
Gruß,
Josef