closed

Loginbox

Please enter your username and password into the following fields to log in.


  • Username:
  • Password:
  •  
  • Auto log in on every visit.


  •  

TWIoutP-Problem



Harry offline
PowerUser
Avatar
Gender: male
Location: GERMANY  zwischen Augsburg und Ulm
Age: 55
Posts: 1660
Registered: 03 / 2003
Private message
Subject: TWIoutP-Problem  -  Posted: 05.01.2020 - 14:35   -  
Hallo Zusammen,

ich habe folgendes Programm:
Code

Const
  SSeq : Array[0..3] of Byte = $AA,$55,$A5,$5A;
.
.
.
TWIoutP($3E,SSeq[0],@SSeq[1],3];

Zur Erinnerung die Syntax:
Function TWIoutP(SlaveAdr : byte; Command : byte; src : pointer; len : word) : boolean;

Meine Überlegung: Als Command wird Byte0 von SSeq gesendet und als Daten Pointer ab SSeq[1] 3 Bytes.

Festgestellt: Es wird nur Byte0 gesendet und danach 3x $00.

Wo könnte das Problem sein?

Ich will einfach nur 4 Bytes senden und ein Command bräuchte ich eigentlich garnicht.

Gruss
Harry

..... achja ist nur ein einfacher Mega8@1MHz
You must be logged in or your permissions are to low to see this Attachment(s).
Elektronik arbeitet mit Rauch - wenn man den Rauch raus läßt, funktioniert es nicht mehr.
Electronics works with smoke - if you let the smoke out, it works no longer.
This post has been edited 3-times. Last edit: 05.01.2020 - 15:08 by Harry.
go down go up
pvs-deck offline
PowerUser
Avatar
Gender: male
Location: GERMANY 
Age: 49
Posts: 1122
Registered: 02 / 2009
Homepage Private message
Subject: Re: TWIoutP-Problem  -  Posted: 05.01.2020 - 15:56   -  
Hallo Harry,

kurze Frage nebenbei was ist das für eine Version vom RIGOL / Gerätetyp.
Meine Firmware hat das mit dem Decodieren Clk/Data noch nicht.
Vielleicht muss ich mal ein Update machen.

Thorsten
---------------------------------------------------------
Nichts ist unmöglich in der Elektronik und der Software, die Grenzen
setzt nur das Budget, Zeit und der Entwickler! ( P V S - D E C K )
go down go up
Harry offline
PowerUser
Avatar
Gender: male
Location: GERMANY  zwischen Augsburg und Ulm
Age: 55
Posts: 1660
Registered: 03 / 2003
Private message
Subject: Re: TWIoutP-Problem  -  Posted: 05.01.2020 - 17:24   -  
Hi Thorsten,

das ist ein DSO1104Z Softwarestand vor einem Jahr. Genaue Version muß ich nachschauen.

Gruss
Harry

.... decodieren ist eine Option, die du extra kaufen mußt. Wenn das Oszi neu ist, kann man alle Optionen für (glaub ich) 20 Stunden so benutzen. Danach nicht mehr.
Elektronik arbeitet mit Rauch - wenn man den Rauch raus läßt, funktioniert es nicht mehr.
Electronics works with smoke - if you let the smoke out, it works no longer.
This post has been edited 1-times. Last edit: 05.01.2020 - 18:04 by Harry.
go down go up
golf offline
Benutzer
Avatar
Gender: male
Location: GERMANY  Donauwörth
Age: 67
Posts: 168
Registered: 11 / 2009
Private message
Subject: Re: TWIoutP-Problem  -  Posted: 06.01.2020 - 09:08   -  
Hallo Harry,
hätte auch gedacht, daß Dein Programm so funktioniert.
Bleibt vielleicht erstmal, $AA als Command und das Array [0..2] =$55,$A5,$5A zu senden
TWIOut($AA,SSeq);

golf
go down go up
Harry offline
PowerUser
Avatar
Gender: male
Location: GERMANY  zwischen Augsburg und Ulm
Age: 55
Posts: 1660
Registered: 03 / 2003
Private message
Subject: Re: TWIoutP-Problem  -  Posted: 06.01.2020 - 09:27   -  
Hallo Golf,

ich kann nicht auf zweimal senden, da dann wieder die Adresse dabei ist und letztendlich immer noch ein Byte fehlt.
Der Workaround ist übrigens die Konstante in eine Variable umzukopieren und diese dann zu verwenden.
Ich denke TWIoutP mag keinen Pointer auf Konstanten. Gehört das so?

Das vollständige Programm besteht nicht nur aus einem eindimensionalen, sondern aus einem zweidimensionalen Array [0..15,0..3] of Byte.

Gruss
Harry

@Thorsten: https://www.rigolna.com/firmware/
Elektronik arbeitet mit Rauch - wenn man den Rauch raus läßt, funktioniert es nicht mehr.
Electronics works with smoke - if you let the smoke out, it works no longer.
This post has been edited 1-times. Last edit: 06.01.2020 - 09:46 by Harry.
go down go up
pvs-deck offline
PowerUser
Avatar
Gender: male
Location: GERMANY 
Age: 49
Posts: 1122
Registered: 02 / 2009
Homepage Private message
Subject: Re: TWIoutP-Problem  -  Posted: 06.01.2020 - 12:18   -  
Quote by Harry

Hallo Golf,

ich kann nicht auf zweimal senden, da dann wieder die Adresse dabei ist und letztendlich immer noch ein Byte fehlt.
Der Workaround ist übrigens die Konstante in eine Variable umzukopieren und diese dann zu verwenden.
Ich denke TWIoutP mag keinen Pointer auf Konstanten. Gehört das so?

Das vollständige Programm besteht nicht nur aus einem eindimensionalen, sondern aus einem zweidimensionalen Array [0..15,0..3] of Byte.

Gruss
Harry

@Thorsten: https://www.rigolna.com/firmware/


Hallo Harry,

yepp, habe mir gestern schon die neue Firmware gezogen :-)

Kann es sein, dass Du den Optimizer nutzt? Wenn Du die Konstante nur über den Pointer nutzt könnte er dies so nicht erkennen und die komplette Konstante evtl. entfernen.

So ein Verhalten habe ich auch bei einem Compiler für ein SPS-System (CodeSys). Du musst dann einmal diese Konstante aufrufen bzw. normal ohne Pointer verwenden, damit der Compiler diese Konstante übernimmt.
Ich weiss nicht wie der AVRco dies umsetzt.

Versuche mal in Deinem Code irgendwo etwa folgendes:

Code
if SSeq[0] = SSeq[0] then 
 //mache nichts oder sonstwas
endif;


Gruß
Thorsten
---------------------------------------------------------
Nichts ist unmöglich in der Elektronik und der Software, die Grenzen
setzt nur das Budget, Zeit und der Entwickler! ( P V S - D E C K )
This post has been edited 1-times. Last edit: 06.01.2020 - 12:20 by pvs-deck.
go down go up
golf offline
Benutzer
Avatar
Gender: male
Location: GERMANY  Donauwörth
Age: 67
Posts: 168
Registered: 11 / 2009
Private message
Subject: Re: TWIoutP-Problem  -  Posted: 06.01.2020 - 12:57   -  
Hallo Harry, das war ein Schnellschuß, da hat auch die Adresse gefehlt bei mir.
Du hast recht. Wenn man die Konstanten in ein Var-Aarray kopiert hat, sollte es auch mit TWIOutP funktionieren.
go down go up
Harry offline
PowerUser
Avatar
Gender: male
Location: GERMANY  zwischen Augsburg und Ulm
Age: 55
Posts: 1660
Registered: 03 / 2003
Private message
Subject: Re: TWIoutP-Problem  -  Posted: 06.01.2020 - 14:24   -  
Hallo,

herzlichen Dank :) .... mit dem umkopieren kann ich leben und ich benutze keinen Optimizer, da das Prog compiliert grad mal 1kB hat. Nur ein einfacher I2C-Sender um einen Tuner zu konfigurieren.

Aber vielleicht kann Rolf was dazu sagen, ob das so gewollt ist bei Konstanten?

@Thorsten: installiert auch? Ich hab ein Gerücht gehört, daß das ganze Decodier-Gedöns jetzt standardmäßig immer frei geschaltet sein soll. Stimmt das?

Gruss
Harry
Elektronik arbeitet mit Rauch - wenn man den Rauch raus läßt, funktioniert es nicht mehr.
Electronics works with smoke - if you let the smoke out, it works no longer.
This post has been edited 1-times. Last edit: 06.01.2020 - 14:27 by Harry.
go down go up
 


Registered users in this topic
Currently no registered users in this section

Delete cookies of this forum  •  FAQ / Help  •  Team page  •  Imprint   |  Local time: 05.08.2020 - 12:20