From ffcf53ef00389aca1b2420ee40fb80b809570046 Mon Sep 17 00:00:00 2001 From: Thomas Otto Date: Sun, 2 May 2010 20:28:51 +0200 Subject: Make examples/other make use of new clock setup. --- examples/other/adc_temperature_sensor/adc.c | 43 +-------------------- examples/other/dma_mem2mem/dma.c | 43 +-------------------- examples/other/dogm128/main.c | 43 +-------------------- .../other/i2c_stts75_sensor/i2c_stts75_sensor.c | 8 +--- examples/other/systick/systick.c | 43 +-------------------- examples/other/timer_interrupt/timer.c | 44 +--------------------- 6 files changed, 6 insertions(+), 218 deletions(-) (limited to 'examples/other') diff --git a/examples/other/adc_temperature_sensor/adc.c b/examples/other/adc_temperature_sensor/adc.c index 0353f44..be89225 100644 --- a/examples/other/adc_temperature_sensor/adc.c +++ b/examples/other/adc_temperature_sensor/adc.c @@ -23,47 +23,6 @@ #include #include -/* Set STM32 to 72 MHz. HSE 16MHz */ -void clock_setup(void) -{ - /* enable Internal High Speed Oscillator */ - rcc_osc_on(HSI); - rcc_wait_for_osc_ready(HSI); - - /* Select HSI as SYSCLK source. */ - rcc_set_sysclk_source(SW_SYSCLKSEL_HSICLK); - - /* enable External High Speed Oscillator 16MHz */ - rcc_osc_on(HSE); - rcc_wait_for_osc_ready(HSE); - rcc_set_sysclk_source(SW_SYSCLKSEL_HSECLK); - - /* set prescalers for ADC, ABP1, ABP2... make this before touching the PLL */ - rcc_set_hpre(HPRE_SYSCLK_NODIV); //prescales the AHB clock from the SYSCLK - rcc_set_adcpre(ADCPRE_PLCK2_DIV6); //prescales the ADC from the APB2 clock; max 14MHz - rcc_set_ppre1(PPRE1_HCLK_DIV2); //prescales the APB1 from the AHB clock; max 36MHz - rcc_set_ppre2(PPRE2_HCLK_NODIV); //prescales the APB2 from the AHB clock; max 72MHz - - /* sysclk should run with 72MHz -> 2 Waitstates ; choose 0WS from 0-24MHz, 1WS from 24-48MHz, 2WS from 48-72MHz */ - flash_set_ws(FLASH_LATENCY_2WS); - - /* Set the PLL multiplication factor to 9. -> 16MHz (external) * 9 (multiplier) / 2 (PLLXTPRE_HSE_CLK_DIV2) = 72MHz */ - rcc_set_pll_multiplication_factor(PLLMUL_PLL_CLK_MUL9); - - /* Select HSI as PLL source. */ - rcc_set_pll_source(PLLSRC_HSE_CLK); - - /* divide external frequency by 2 before entering pll (only valid/needed for HSE) */ - rcc_set_pllxtpre(PLLXTPRE_HSE_CLK_DIV2); - - /* Enable PLL oscillator and wait for it to stabilize. */ - rcc_osc_on(PLL); - rcc_wait_for_osc_ready(PLL); - - /* Select PLL as SYSCLK source. */ - rcc_set_sysclk_source(SW_SYSCLKSEL_PLLCLK); -} - void usart_setup(void) { /* Enable clocks for GPIO port A (for GPIO_USART1_TX) and USART1. */ @@ -150,7 +109,7 @@ int main(void) u8 channel_array[16]; u16 temperature; - clock_setup(); + rcc_clock_setup_in_hse_16mhz_out_72mhz(); gpio_setup(); usart_setup(); adc_setup(); diff --git a/examples/other/dma_mem2mem/dma.c b/examples/other/dma_mem2mem/dma.c index 98c360d..726687c 100644 --- a/examples/other/dma_mem2mem/dma.c +++ b/examples/other/dma_mem2mem/dma.c @@ -23,47 +23,6 @@ #include #include -/* Set STM32 to 72 MHz. HSE 16MHz */ -void clock_setup(void) -{ - /* enable Internal High Speed Oscillator */ - rcc_osc_on(HSI); - rcc_wait_for_osc_ready(HSI); - - /* Select HSI as SYSCLK source. */ - rcc_set_sysclk_source(SW_SYSCLKSEL_HSICLK); - - /* enable External High Speed Oscillator 16MHz */ - rcc_osc_on(HSE); - rcc_wait_for_osc_ready(HSE); - rcc_set_sysclk_source(SW_SYSCLKSEL_HSECLK); - - /* set prescalers for ADC, ABP1, ABP2... make this before touching the PLL */ - rcc_set_hpre(HPRE_SYSCLK_NODIV); //prescales the AHB clock from the SYSCLK - rcc_set_adcpre(ADCPRE_PLCK2_DIV6); //prescales the ADC from the APB2 clock; max 14MHz - rcc_set_ppre1(PPRE1_HCLK_DIV2); //prescales the APB1 from the AHB clock; max 36MHz - rcc_set_ppre2(PPRE2_HCLK_NODIV); //prescales the APB2 from the AHB clock; max 72MHz - - /* sysclk should run with 72MHz -> 2 Waitstates ; choose 0WS from 0-24MHz, 1WS from 24-48MHz, 2WS from 48-72MHz */ - flash_set_ws(FLASH_LATENCY_2WS); - - /* Set the PLL multiplication factor to 9. -> 16MHz (external) * 9 (multiplier) / 2 (PLLXTPRE_HSE_CLK_DIV2) = 72MHz */ - rcc_set_pll_multiplication_factor(PLLMUL_PLL_CLK_MUL9); - - /* Select HSI as PLL source. */ - rcc_set_pll_source(PLLSRC_HSE_CLK); - - /* divide external frequency by 2 before entering pll (only valid/needed for HSE) */ - rcc_set_pllxtpre(PLLXTPRE_HSE_CLK_DIV2); - - /* Enable PLL oscillator and wait for it to stabilize. */ - rcc_osc_on(PLL); - rcc_wait_for_osc_ready(PLL); - - /* Select PLL as SYSCLK source. */ - rcc_set_sysclk_source(SW_SYSCLKSEL_PLLCLK); -} - void usart_setup(void) { /* Enable clocks for GPIO port A (for GPIO_USART1_TX) and USART1. */ @@ -113,7 +72,7 @@ int main(void) char s1[20] = "Hello STM MEM2MEM\r\n"; char s2[20]; - clock_setup(); + rcc_clock_setup_in_hse_16mhz_out_72mhz(); gpio_setup(); usart_setup(); diff --git a/examples/other/dogm128/main.c b/examples/other/dogm128/main.c index 4fe2197..f9453bb 100644 --- a/examples/other/dogm128/main.c +++ b/examples/other/dogm128/main.c @@ -26,47 +26,6 @@ #include #include "./dogm128.h" -/* Set STM32 to 72 MHz. HSE 16MHz */ -void clock_setup(void) -{ - /* enable Internal High Speed Oscillator */ - rcc_osc_on(HSI); - rcc_wait_for_osc_ready(HSI); - - /* Select HSI as SYSCLK source. */ - rcc_set_sysclk_source(SW_SYSCLKSEL_HSICLK); - - /* enable External High Speed Oscillator 16MHz */ - rcc_osc_on(HSE); - rcc_wait_for_osc_ready(HSE); - rcc_set_sysclk_source(SW_SYSCLKSEL_HSECLK); - - /* set prescalers for ADC, ABP1, ABP2... make this before touching the PLL */ - rcc_set_hpre(HPRE_SYSCLK_NODIV); //prescales the AHB clock from the SYSCLK - rcc_set_adcpre(ADCPRE_PLCK2_DIV6); //prescales the ADC from the APB2 clock; max 14MHz - rcc_set_ppre1(PPRE1_HCLK_DIV2); //prescales the APB1 from the AHB clock; max 36MHz - rcc_set_ppre2(PPRE2_HCLK_NODIV); //prescales the APB2 from the AHB clock; max 72MHz - - /* sysclk should run with 72MHz -> 2 Waitstates ; choose 0WS from 0-24MHz, 1WS from 24-48MHz, 2WS from 48-72MHz */ - flash_set_ws(FLASH_LATENCY_2WS); - - /* Set the PLL multiplication factor to 9. -> 16MHz (external) * 9 (multiplier) / 2 (PLLXTPRE_HSE_CLK_DIV2) = 72MHz */ - rcc_set_pll_multiplication_factor(PLLMUL_PLL_CLK_MUL9); - - /* Select HSI as PLL source. */ - rcc_set_pll_source(PLLSRC_HSE_CLK); - - /* divide external frequency by 2 before entering pll (only valid/needed for HSE) */ - rcc_set_pllxtpre(PLLXTPRE_HSE_CLK_DIV2); - - /* Enable PLL oscillator and wait for it to stabilize. */ - rcc_osc_on(PLL); - rcc_wait_for_osc_ready(PLL); - - /* Select PLL as SYSCLK source. */ - rcc_set_sysclk_source(SW_SYSCLKSEL_PLLCLK); -} - void gpio_setup(void) { /* Enable GPIOB clock. */ @@ -116,7 +75,7 @@ void spi_setup() int main(void) { - clock_setup(); + rcc_clock_setup_in_hse_16mhz_out_72mhz(); gpio_setup(); spi_setup(); diff --git a/examples/other/i2c_stts75_sensor/i2c_stts75_sensor.c b/examples/other/i2c_stts75_sensor/i2c_stts75_sensor.c index 748e12b..fe70f8f 100644 --- a/examples/other/i2c_stts75_sensor/i2c_stts75_sensor.c +++ b/examples/other/i2c_stts75_sensor/i2c_stts75_sensor.c @@ -24,12 +24,6 @@ #include #include "stts75.h" -/* Set STM32 to 72 MHz. */ -void clock_setup(void) -{ - rcc_clock_setup_in_hse_8mhz_out_72mhz(); -} - void usart_setup(void) { /* Enable clocks for GPIO port A (for GPIO_USART1_TX) and USART1. */ @@ -113,7 +107,7 @@ int main(void) int i = 0; u16 temperature; - clock_setup(); + rcc_clock_setup_in_hse_16mhz_out_72mhz(); gpio_setup(); usart_setup(); i2c_setup(); diff --git a/examples/other/systick/systick.c b/examples/other/systick/systick.c index 1f1153b..329218b 100644 --- a/examples/other/systick/systick.c +++ b/examples/other/systick/systick.c @@ -25,47 +25,6 @@ u32 temp32; -/* Set STM32 to 72 MHz. HSE 16MHz */ -void clock_setup(void) -{ - /* enable Internal High Speed Oscillator */ - rcc_osc_on(HSI); - rcc_wait_for_osc_ready(HSI); - - /* Select HSI as SYSCLK source. */ - rcc_set_sysclk_source(SW_SYSCLKSEL_HSICLK); - - /* enable External High Speed Oscillator 16MHz */ - rcc_osc_on(HSE); - rcc_wait_for_osc_ready(HSE); - rcc_set_sysclk_source(SW_SYSCLKSEL_HSECLK); - - /* set prescalers for ADC, ABP1, ABP2... make this before touching the PLL */ - rcc_set_hpre(HPRE_SYSCLK_NODIV); //prescales the AHB clock from the SYSCLK - rcc_set_adcpre(ADCPRE_PLCK2_DIV6); //prescales the ADC from the APB2 clock; max 14MHz - rcc_set_ppre1(PPRE1_HCLK_DIV2); //prescales the APB1 from the AHB clock; max 36MHz - rcc_set_ppre2(PPRE2_HCLK_NODIV); //prescales the APB2 from the AHB clock; max 72MHz - - /* sysclk should run with 72MHz -> 2 Waitstates ; choose 0WS from 0-24MHz, 1WS from 24-48MHz, 2WS from 48-72MHz */ - flash_set_ws(FLASH_LATENCY_2WS); - - /* Set the PLL multiplication factor to 9. -> 16MHz (external) * 9 (multiplier) / 2 (PLLXTPRE_HSE_CLK_DIV2) = 72MHz */ - rcc_set_pll_multiplication_factor(PLLMUL_PLL_CLK_MUL9); - - /* Select HSI as PLL source. */ - rcc_set_pll_source(PLLSRC_HSE_CLK); - - /* divide external frequency by 2 before entering pll (only valid/needed for HSE) */ - rcc_set_pllxtpre(PLLXTPRE_HSE_CLK_DIV2); - - /* Enable PLL oscillator and wait for it to stabilize. */ - rcc_osc_on(PLL); - rcc_wait_for_osc_ready(PLL); - - /* Select PLL as SYSCLK source. */ - rcc_set_sysclk_source(SW_SYSCLKSEL_PLLCLK); -} - void gpio_setup(void) { /* Enable GPIOB clock. */ @@ -91,7 +50,7 @@ void sys_tick_handler() int main(void) { - clock_setup(); + rcc_clock_setup_in_hse_16mhz_out_72mhz(); gpio_setup(); gpio_clear(GPIOB, GPIO7); /* LED1 on */ diff --git a/examples/other/timer_interrupt/timer.c b/examples/other/timer_interrupt/timer.c index f88de86..5c9791c 100644 --- a/examples/other/timer_interrupt/timer.c +++ b/examples/other/timer_interrupt/timer.c @@ -20,51 +20,9 @@ #include #include #include -#include #include #include -/* Set STM32 to 72 MHz. HSE 16MHz */ -void clock_setup(void) -{ - /* enable Internal High Speed Oscillator */ - rcc_osc_on(HSI); - rcc_wait_for_osc_ready(HSI); - - /* Select HSI as SYSCLK source. */ - rcc_set_sysclk_source(SW_SYSCLKSEL_HSICLK); - - /* enable External High Speed Oscillator 16MHz */ - rcc_osc_on(HSE); - rcc_wait_for_osc_ready(HSE); - rcc_set_sysclk_source(SW_SYSCLKSEL_HSECLK); - - /* set prescalers for ADC, ABP1, ABP2... make this before touching the PLL */ - rcc_set_hpre(HPRE_SYSCLK_NODIV); //prescales the AHB clock from the SYSCLK - rcc_set_adcpre(ADCPRE_PLCK2_DIV6); //prescales the ADC from the APB2 clock; max 14MHz - rcc_set_ppre1(PPRE1_HCLK_DIV2); //prescales the APB1 from the AHB clock; max 36MHz - rcc_set_ppre2(PPRE2_HCLK_NODIV); //prescales the APB2 from the AHB clock; max 72MHz - - /* sysclk should run with 72MHz -> 2 Waitstates ; choose 0WS from 0-24MHz, 1WS from 24-48MHz, 2WS from 48-72MHz */ - flash_set_ws(FLASH_LATENCY_2WS); - - /* Set the PLL multiplication factor to 9. -> 16MHz (external) * 9 (multiplier) / 2 (PLLXTPRE_HSE_CLK_DIV2) = 72MHz */ - rcc_set_pll_multiplication_factor(PLLMUL_PLL_CLK_MUL9); - - /* Select HSI as PLL source. */ - rcc_set_pll_source(PLLSRC_HSE_CLK); - - /* divide external frequency by 2 before entering pll (only valid/needed for HSE) */ - rcc_set_pllxtpre(PLLXTPRE_HSE_CLK_DIV2); - - /* Enable PLL oscillator and wait for it to stabilize. */ - rcc_osc_on(PLL); - rcc_wait_for_osc_ready(PLL); - - /* Select PLL as SYSCLK source. */ - rcc_set_sysclk_source(SW_SYSCLKSEL_PLLCLK); -} - void gpio_setup(void) { /* Enable GPIOB clock. */ @@ -95,7 +53,7 @@ void tim2_isr() int main(void) { - clock_setup(); + rcc_clock_setup_in_hse_16mhz_out_72mhz(); gpio_setup(); nvic_setup(); -- cgit v1.2.3