chipKIT® Development Platform

Inspired by Arduino™

Max peripheral bus freq

Created Tue, 26 Jul 2011 16:40:26 +0000 by pito


Tue, 26 Jul 2011 16:40:26 +0000

Hi, my understanding is the max peripheral bus freq is 80MHz. Is there any objection to use 80 instead of 40MHz? P.


Tue, 26 Jul 2011 17:52:15 +0000

I believe both the serial and usb bootloaders set the peripheral bus frequency to 80MHz already.

See if this shows 0 on your PIC32 to confirm.

void setup() {

void loop() {

bit 20-19 PBDIV<1:0>: Peripheral Bus Clock Divisor 11 = PBCLK is SYSCLK divided by 8(default) 10 = PBCLK is SYSCLK divided by 4 01 = PBCLK is SYSCLK divided by 2 00 = PBCLK is SYSCLK divided by 1


Tue, 26 Jul 2011 23:02:07 +0000

I believe that there was a miscommunication between Mark Sproul and I when I was communicating what the default configuration bit settings were supposed to be. My intent was to have the boot loader config bits set the peripheral bus clock to 80Mhz. However, the boot loader config bits are setting it to 10Mhz, but then the boot loader is overriding that and setting it back to 80Mhz by setting the PBDIV bits back to 00. The end result is still pb clock of 80Mhz, but in a kind of round-about way.

I believe that some of the peripheral libraries assume that the peripheral clock is set to 80Mhz. If the frequency is changed, some of the libraries will stop working and have to be modified.

Gene Apperson Digilent