Finish PWM pulse count configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4287 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
dada7a5200
commit
76e382e073
|
@ -596,10 +596,19 @@ Where <subdir> is one of the following:
|
|||
|
||||
CONFIG_PWM=y : Enable the generic PWM infrastructure
|
||||
CONFIG_PWM_PULSECOUNT=n : Disable to support TIM1/8 pulse counts
|
||||
CONFIG_STM32_TIM4=y : Enable TIM4
|
||||
CONFIG_STM32_TIM4_PWM=y : Use TIM4 to generate PWM output
|
||||
CONFIG_STM32_TIM4_CHANNEL=2
|
||||
|
||||
See also apps/examples/README.txt
|
||||
Or..
|
||||
|
||||
CONFIG_PWM=y : Enable the generic PWM infrastructure
|
||||
CONFIG_PWM_PULSECOUNT=y : Enable to support TIM1/8 pulse counts
|
||||
CONFIG_STM32_TIM1=y : Enable TIM1
|
||||
CONFIG_STM32_TIM1_PWM=y : Use TIM1 to generate PWM output
|
||||
CONFIG_STM32_TIM1_CHANNEL=1
|
||||
|
||||
See also include/board.h and apps/examples/README.txt
|
||||
|
||||
Special PWM-only debug options:
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* configs/stm3240g-eval/include/board.h
|
||||
* include/arch/board/board.h
|
||||
*
|
||||
* Copyright (C) 2009 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2011-12 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -307,20 +307,79 @@
|
|||
/* PWM
|
||||
*
|
||||
* The STM3240G-Eval has no real on-board PWM devices, but the board can be
|
||||
* configured to output a pulse train using TIM4 CH2. This pin is used by FSMC is
|
||||
* but is also connected to the Motor Control Connector (CN5) just for this
|
||||
* purpose:
|
||||
* configured to output a pulse train using the following:
|
||||
*
|
||||
* PD13 FSMC_A18 / MC_TIM4_CH2OUT pin 33 (EnB)
|
||||
*
|
||||
* FSMC must be disabled in this case! PD13 is available at:
|
||||
*
|
||||
* Daughterboard Extension Connector, CN3, pin 32 - available
|
||||
* TFT LCD Connector, CN19, pin 17 -- not available without removing the LCD.
|
||||
* If FSMC is not used:
|
||||
* TIM4 CH2OUT: PD13 FSMC_A18 / MC_TIM4_CH2OUT
|
||||
* Daughterboard Extension Connector, CN3, pin 32
|
||||
* Motor Control Connector CN15, pin 33 -- not available unless you bridge SB14.
|
||||
*
|
||||
* TIM1 CH1OUT: PE9 FSMC_D6
|
||||
* Daughterboard Extension Connector, CN2, pin 24
|
||||
*
|
||||
* TIM1_CH2OUT: PE11 FSMC_D8
|
||||
* Daughterboard Extension Connector, CN2, pin 26
|
||||
*
|
||||
* TIM1_CH3OUT: PE13 FSMC_D10
|
||||
* Daughterboard Extension Connector, CN2, pin 28
|
||||
*
|
||||
* TIM1_CH4OUT: PE14 FSMC_D11
|
||||
* Daughterboard Extension Connector, CN2, pin 29
|
||||
*
|
||||
* If OTG FS is not used
|
||||
*
|
||||
* TIM1_CH3OUT: PA10 OTG_FS_ID
|
||||
* Daughterboard Extension Connector, CN3, pin 14
|
||||
*
|
||||
* TIM1_CH4OUT: PA11 OTG_FS_DM
|
||||
* Daughterboard Extension Connector, CN3, pin 11
|
||||
*
|
||||
* If DMCI is not used
|
||||
*
|
||||
* TIM8 CH1OUT: PI5 DCMI_VSYNC & MC
|
||||
* Daughterboard Extension Connector, CN4, pin 4
|
||||
*
|
||||
* TIM8_CH2OUT: PI6 DCMI_D6 & MC
|
||||
* Daughterboard Extension Connector, CN4, pin 3
|
||||
*
|
||||
* TIM8_CH3OUT: PI7 DCMI_D7 & MC
|
||||
* Daughterboard Extension Connector, CN4, pin 2
|
||||
*
|
||||
* If SDIO is not used
|
||||
*
|
||||
* TIM8_CH3OUT: PC8 MicroSDCard_D0 & MC
|
||||
* Daughterboard Extension Connector, CN3, pin 18
|
||||
*
|
||||
* TIM8_CH4OUT: PC9 MicroSDCard_D1 & I2S_CKIN (JP16)
|
||||
* Daughterboard Extension Connector, CN3, pin 15
|
||||
*
|
||||
* Others
|
||||
*
|
||||
* TIM8 CH1OUT: PC6 I2S_MCK & Smartcard_IO (JP21 open)
|
||||
*/
|
||||
|
||||
#define GPIO_TIM4_CH2OUT GPIO_TIM4_CH2OUT_2
|
||||
#if !defined(CONFIG_STM32_FSMC)
|
||||
# define GPIO_TIM4_CH2OUT GPIO_TIM4_CH2OUT_2
|
||||
# define GPIO_TIM1_CH1OUT GPIO_TIM1_CH1OUT_2
|
||||
# define GPIO_TIM1_CH2OUT GPIO_TIM1_CH2OUT_2
|
||||
# define GPIO_TIM1_CH3OUT GPIO_TIM1_CH3OUT_2
|
||||
# define GPIO_TIM1_CH4OUT GPIO_TIM1_CH4OUT_2
|
||||
#elif !defined(CONFIG_STM32_OTGFS)
|
||||
# define GPIO_TIM1_CH3OUT GPIO_TIM1_CH3OUT_1
|
||||
# define GPIO_TIM1_CH4OUT GPIO_TIM1_CH4OUT_1
|
||||
#endif
|
||||
|
||||
#if !defined(CONFIG_STM32_DCMI)
|
||||
# define GPIO_TIM8_CH1OUT GPIO_TIM8_CH1OUT_2
|
||||
# define GPIO_TIM8_CH2OUT GPIO_TIM8_CH2OUT_2
|
||||
# define GPIO_TIM8_CH3OUT GPIO_TIM8_CH3OUT_2
|
||||
#else
|
||||
# define GPIO_TIM8_CH1OUT GPIO_TIM8_CH1OUT_1
|
||||
# if !defined(CONFIG_STM32_SDIO)
|
||||
# define GPIO_TIM8_CH3OUT GPIO_TIM8_CH3OUT_1
|
||||
# define GPIO_TIM8_CH4OUT GPIO_TIM8_CH4OUT_1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* CAN
|
||||
*
|
||||
|
|
|
@ -349,14 +349,13 @@ CONFIG_STM32_ADC3_SAMPLE_FREQUENCY=100
|
|||
# PWM configuration
|
||||
#
|
||||
# The STM3240G-Eval has no real on-board PWM devices, but the board can be configured to output
|
||||
# a pulse train using TIM4 CH2. This pin is used by FSMC is connect to CN5 just for this
|
||||
# purpose.
|
||||
# a pulse train using several options (see board.h). Here the default setup is for TIM1, CH1.
|
||||
# Don't forget to enable CONFIG_STM32_TIM1
|
||||
#
|
||||
CONFIG_PWM=n
|
||||
CONFIG_PWM_PULSECOUNT=n
|
||||
CONFIG_STM32_TIM4=y
|
||||
CONFIG_STM32_TIM4_PWM=y
|
||||
CONFIG_STM32_TIM4_CHANNEL=2
|
||||
CONFIG_PWM_PULSECOUNT=y
|
||||
CONFIG_STM32_TIM1_PWM=y
|
||||
CONFIG_STM32_TIM1_CHANNEL=1
|
||||
|
||||
#
|
||||
# General build options
|
||||
|
|
|
@ -113,21 +113,19 @@
|
|||
/* PWM
|
||||
*
|
||||
* The STM3240G-Eval has no real on-board PWM devices, but the board can be
|
||||
* configured to output a pulse train using TIM4 CH2. This pin is used by FSMC is
|
||||
* but is also connected to the Motor Control Connector (CN5) just for this
|
||||
* purpose:
|
||||
*
|
||||
* PD13 FSMC_A18 / MC_TIM4_CH2OUT pin 33 (EnB)
|
||||
*
|
||||
* FSMC must be disabled in this case! PD13 is available at:
|
||||
*
|
||||
* Daughterboard Extension Connector, CN3, pin 32 - available
|
||||
* TFT LCD Connector, CN19, pin 17 -- not available without removing the LCD.
|
||||
* Motor Control Connector CN15, pin 33 -- not available unless you bridge SB14.
|
||||
* configured to output a pulse train using TIM4, TIM1, or TIM8 (see board.h).
|
||||
* Let's figure out which the user has configured.
|
||||
*/
|
||||
|
||||
#define STM3240G_EVAL_PWMTIMER 4
|
||||
#define STM3240G_EVAL_PWMCHANNEL 2
|
||||
#ifdef CONFIG_PWM
|
||||
# if defined(CONFIG_STM32_TIM1_PWM)
|
||||
# define STM3240G_EVAL_PWMTIMER 1
|
||||
# elif defined(CONFIG_STM32_TIM4_PWM)
|
||||
# define STM3240G_EVAL_PWMTIMER 4
|
||||
# elif defined(CONFIG_STM32_TIM8_PWM)
|
||||
# define STM3240G_EVAL_PWMTIMER 8
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/****************************************************************************************************
|
||||
* Public Types
|
||||
|
|
|
@ -57,34 +57,12 @@
|
|||
/* Configuration *******************************************************************/
|
||||
/* PWM
|
||||
*
|
||||
* The STM3240G-Eval has no real on-board PWM devices, but the board can be configured to output
|
||||
* a pulse train using TIM4 CH2. This pin is used by FSMC is connect to CN5 just for this
|
||||
* purpose:
|
||||
*
|
||||
* PD13 FSMC_A18 / MC_TIM4_CH2OUT pin 33 (EnB)
|
||||
*
|
||||
* FSMC must be disabled in this case!
|
||||
* The STM3240G-Eval has no real on-board PWM devices, but the board can be
|
||||
* configured to output a pulse train using variously unused pins on the board for
|
||||
* PWM output (see board.h for details of pins).
|
||||
*/
|
||||
|
||||
#define HAVE_PWM 1
|
||||
|
||||
#ifndef CONFIG_PWM
|
||||
# undef HAVE_PWM
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_STM32_TIM4
|
||||
# undef HAVE_PWM
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_STM32_TIM4_PWM
|
||||
# undef HAVE_PWM
|
||||
#endif
|
||||
|
||||
#if CONFIG_STM32_TIM4_CHANNEL != STM3240G_EVAL_PWMCHANNEL
|
||||
# undef HAVE_PWM
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_PWM
|
||||
#ifdef CONFIG_PWM
|
||||
|
||||
/************************************************************************************
|
||||
* Private Functions
|
||||
|
@ -139,4 +117,4 @@ int pwm_devinit(void)
|
|||
return OK;
|
||||
}
|
||||
|
||||
#endif /* HAVE_PWM */
|
||||
#endif /* CONFIG_PWM */
|
||||
|
|
Loading…
Reference in New Issue