Forum: Mikrocontroller und Digitale Elektronik Clock lässt sich nicht umstellen |MSP430FR5739


von Jo T. (trilli)


Lesenswert?

{
CSCTL0 = CSKEY;
CSCTL2 |= SELS__DCOCLK; //SELS SMCLK
CSCTL1 |= DCOFSEL_3;//DCO TO 8MHZ
CSCTL3 &= DIVS__1; // f(SMCLK)/1
}

Hallo leute,
hatte mich schonmal wegen nem ähnlichen Problem gemeldet. also, ich 
möchte die DCOCLK auf 8MHz setzen und dann meiner SMCLK zu weisen. damit 
möchte ich dann ein signal bestimmter frequenz mit hilfe der PWM 
erzeugen.
fälschlicherweise habe ich angenommen, dass mein programm das tut, was 
es machen soll, macht es abert natürlich nicht.
meine smclk bzw dcoclk ist immer auf 1mhz eingestellt, das kontrollier 
ich mit der pwm, die mit hilfe des timers erzeugt wird, auf einem oszi.

lässt sich das ganze vll nicht so einfach realisieren, weil dcoclk für 
die mclk benutzt wird?
mein betreuer meint, dass der programmabschnitt eigentlich funktionieren 
müsste.
hab echt keine ideen mehr. hab wirklich alles ausprobiert.
oder gibt es vll andere möglichkeiten ne 8mhz frequenz für die smclk zu 
erzeugen?
danke schon mal für eure hilfe!!

: Bearbeitet durch User
von Clemens L. (c_l)


Lesenswert?

Jo T. schrieb:
> CSCTL2 |= SELS__DCOCLK; //SELS SMCLK

Damit wird das oberste Bit des SELS-Feldes nicht gelöscht.

> CSCTL3 &= DIVS__1; // f(SMCLK)/1

Damit werden DIVM, DIVS und DIVA auf /1 gesetzt.


Hast du dir mal TIs Beispielcode für den FR5739 angeschaut?

von Jo T. (trilli)


Lesenswert?

hab mir die beispiele mal angeschaut und es hat sehr geholfen!
man muss lediglich die divider auf 1 setzen, dann hat man die 8 Mhz.
vorher muss noch das passwort in CSCTL0_h register geschrieben werden

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.