Forum: Mikrocontroller und Digitale Elektronik PIC32 - SYSTEMConfigPerformance


von ab2401 (Gast)


Lesenswert?

Hallo, ich bin vom dsPIC33 auf einen PIC32MX470F512 umgestiegen. Bei 
einem ersten Testprogramm ist mir aufgefallen, dass der Mikrocontroller 
für einfache Dinge - beispielsweise das cs-Bit nach der 
SPI-Kommunikation wieder auf high setzen - unverhältnismäßig lange 
braucht.

Ich nutze einen externen Quarz (20MHz) und bringe die System-Frequenz 
per PLL auf 100MHz.
1
#pragma config FPLLMUL = MUL_20, FPLLIDIV = DIV_4, FPLLODIV = DIV_1, FWDTEN = OFF
2
#pragma config POSCMOD = HS, FNOSC = PRIPLL, FPBDIV = DIV_1
3
#pragma config JTAGEN = OFF
4
#define SYS_FREQ (100000000L)
Das Problem der langsamen Ausführung von Anweisungen habe ich durch den 
Aufruf von
1
SYSTEMConfigPerformance(100000000);
in der Main in den Griff bekommen (Das cs-Bit schaltet nun ca. in einem 
Drittel der Zeit). Was jetzt aber nicht mehr beachtet wird, ist die 
FPBDiV-Einstellung. Egal welchen Teiler ich für den Peripherie-Takt 
wähle, stellt sich immer eine Frequenz von 50MHz ein. Anscheinend wird 
die "DIV_1" Anweisung von der oben genannten Funktion überschrieben. 
Daher nun die Frage, wie ich beides unter einen Hut bekomme. Also ein 
schnell rechnender PIC bei einem beliebigen Peripherie-Takt.

Vielen Dank für die Unterstützung!

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.