TI spezifische Befehle zB .half

Gast #3295841
Lesenswert?

Hi,

ich schaue mir gerade einen Code von einem TI Mikrocontroller an 
(TMS320). Ich finde teils noch Codestücke, die ich mir aus dem Kontext 
erschließen muss. Wie etwa den .bit-Befehl.

Jetzt habe ich wieder ein Codesample, worin ich den .half-Befehl nicht 
verstehe:

irgendwelcheRegs.speziellesRegister.half.speziellesRegister = ...

(konkret: EPwm1Regs.CMPA.half.CMPA = 100)

Gibt es irgendwo eine Referenz für TI-spezifische Befehle?
Gast #3295903
Lesenswert?

Das sind keine Befehle der CPU.
Das sind ganz normale C-Strukturen mit Zugriff darauf.
Diese Strukturen zeigen meisten auf die IO-Register (die memory-mapped 
sind), und damit werden Werte gesetzt.
Es gibt auch Header-Files, wo alles definiert wird.


TI hat meistens Handbucher speziell für den Prozessor und das Subsystem 
(in diesem Fall ein PWM-Modul).

Einfach mal auf den TI-Seiten suchen, da gibt es Referenz-PDFs im 
Überfluss. Die Kunst ist, das richtige zu finden.
Gast #3295934
Lesenswert?

OK, danke euch beiden. Ich werde dann mal schauen, ob ich ein passendes 
Header-File finde. Vielleicht finde ich noch andere nützliche PDFs bei 
TI.com.

Das Datenblatt des PWM-Moduls nutze ich gerade. Mir kommt es nur so vor, 
als müsste man sich Teile der Code Samples selbst erschließen, zumindest 
wenn man noch nie mit einem TI Controller gearbeitet hat. Also ich finde 
da zum Beispiel nichts von .half.
Gast #3295938
Lesenswert?

Oder zum Beispiel diese Zeile:
1
EPwm1Regs.CMPA.half.CMPA = Duty1A; // adjust duty for output EPWM1A

Meist kann man sich zwar denken, was das bedeuten soll, aber nirgendwo 
in dem verflixten Datenblatt finde ich eine Definition von Duty1A bzw. 
Duty1B.
Gast #3295985
Lesenswert?

Alex schrieb:
> Oder zum Beispiel diese Zeile:
> EPwm1Regs.CMPA.half.CMPA = Duty1A; // adjust duty for output EPWM1A
> Meist kann man sich zwar denken, was das bedeuten soll, aber nirgendwo
> in dem verflixten Datenblatt finde ich eine Definition von Duty1A bzw.
> Duty1B.

Das Datenblatt ist für die Hardware. Dort sind die Register und die 
möglichen Werte beschrieben. Bei TI gibt es oft einen Family User Guide, 
der allgemeine Funktionen und Peripherie beschreibt.

Aber das Datenblatt kann nicht wissen, wie du den Controller 
Programmierst. Ob in ASM, in C, Bitchen-Code, oder was auch immer. Du 
wirst also keine Erklärungen zu 08/15 C code im Datenblatt finden und 
auch bei keinem anderen Hersteller finden können.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren