sensorium / Mozzi

sound synthesis library for Arduino
https://sensorium.github.io/Mozzi/
GNU Lesser General Public License v2.1
1.07k stars 186 forks source link

How manually override frequency selection for STM32 inside Arduino #129

Closed pirvcb closed 3 years ago

pirvcb commented 3 years ago

I beg help for this.

https://groups.google.com/g/mozzi-users/c/svJcWE2mws8

Thanks and pardon for unusual approach...

pirvcb commented 3 years ago

Found by myself: IN: /Users/asinus/Documents/Arduino2/libraries/Mozzi-TES-stable/MozziGuts.cpp

IN QUESTA LINEA DI CODICE uint32_t period_cyc = F_CPU / AUDIO_RATE;

F_CPU VA SOSTITUITO DALLA REALE FREQUENZA DELLA CPU IN HZ.

PER 128MHZ COME ESEMPIO SI AVRA’: uint32_t period_cyc = 128000000 / AUDIO_RATE;

PARALLELAMENTE, IN: /Users/asinus/Documents/Arduino2/hardware/Arduino_STM32-master/STM32F1/variants/generic_stm32f103c/wirish/boards_setup.ccp.cpp

if F_CPU==128000000

    #define BOARD_RCC_PLLMUL RCC_PLLMUL_16
#elif F_CPU==72000000
    #define BOARD_RCC_PLLMUL RCC_PLLMUL_9
#elif F_CPU==48000000
    #define BOARD_RCC_PLLMUL RCC_PLLMUL_6
#elif F_CPU==16000000
    #define BOARD_RCC_PLLMUL RCC_PLLMUL_2
#endif

16, 9, 6, 2 SONO I FATTORI DI MOLTIPLICAZIONE DELLA FREQUENZA DI 8MHZ DEL PLL. PERCIO’, COI 128KB DI MEMORIA CHE ARRIVANO AL MASSIMO A FATTORE 14 (112Mhz), andrai a sostituire 14 nel preset che vuoi — 72 o 128 —- ed a riportare manualmente 112000000 al posto di F_CPU.