打印
[STM8]

STM8 PWM输出的引脚配置在哪里?

[复制链接]
11418|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wazhzlp|  楼主 | 2013-3-16 10:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wazhzlp 于 2013-3-16 10:47 编辑

这是
examples/TIM1/TIM1_6Steps/main.c他的输出是:
  • Connect TIM1 pins to an oscilloscope as follows:
    • TIM1_CH1 pin (PC.1)
    • TIM1_CH1N pin (PH.7)
    • TIM1_CH2 pin (PC.2)
    • TIM1_CH2N pin (PH.6)
    • TIM1_CH3 pin (PC.3)
    • TIM1_CH3N pin (PH.5)
  • 但是我没有找到他的引脚是在哪里配置的,谢谢!
00001 /**
00002  ******************************************************************************
00003  * @file TIM1_6Steps\main.c
00004  * @brief This file contains the main function for TIM1 6 Steps example.
00005  * @author STMicroelectronics - MCD Application Team
00006  * @version V1.1.1
00007  * @date 06/05/2009
00008  ******************************************************************************
00009  *
00010  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
00011  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
00012  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
00013  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
00014  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
00015  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
00016  *
00017  * <h2><center>© COPYRIGHT 2009 STMicroelectronics</center></h2>
00018  * @image html **.bmp
00019  ******************************************************************************
00020  */
00021
00022 /* Includes ------------------------------------------------------------------*/
00023 #include "stm8s.h"
00024
00025 /**
00026  * @addtogroup TIM1_6Steps
00027  * @{
00028  */
00029
00030 /* Private typedef -----------------------------------------------------------*/
00031
00032 /* Private define ------------------------------------------------------------*/
00033 /* Private macro -------------------------------------------------------------*/
00034 /* Private variables ---------------------------------------------------------*/
00035 /* Private function prototypes -----------------------------------------------*/
00036 /* Private functions ---------------------------------------------------------*/
00037 /* Public functions ----------------------------------------------------------*/
00038
00039 /**
00040  * @brief Example firmware main entry point.
00041  * @par Parameters:
00042  * None
00043  * @retval
00044  * None
00045  */
00046 void main(void)
00047 {
00048   /* TIM1 Peripheral Configuration */
00049   TIM1_DeInit();
00050
00051   /* Time Base configuration */
00052   TIM1_TimeBaseInit(0, TIM1_COUNTERMODE_UP, 4095, 0);
00053
00054   /* Channel 1, 2 and 3 Configuration in TIMING mode */  
00055   
00056         /* TIM1_Pulse = 2047 */
00057         TIM1_OC1Init(TIM1_OCMODE_TIMING, TIM1_OUTPUTSTATE_ENABLE, TIM1_OUTPUTNSTATE_ENABLE, 2047, TIM1_OCPOLARITY_HIGH, TIM1_OCNPOLARITY_HIGH, TIM1_OCIDLESTATE_SET, TIM1_OCNIDLESTATE_SET);  
00058
00059   /* TIM1_Pulse = 1023 */
00060   TIM1_OC2Init(TIM1_OCMODE_TIMING, TIM1_OUTPUTSTATE_ENABLE, TIM1_OUTPUTNSTATE_ENABLE, 1023, TIM1_OCPOLARITY_HIGH, TIM1_OCNPOLARITY_HIGH, TIM1_OCIDLESTATE_SET, TIM1_OCNIDLESTATE_SET);
00061
00062   /* TIM1_Pulse = 511 */
00063   TIM1_OC3Init(TIM1_OCMODE_TIMING, TIM1_OUTPUTSTATE_ENABLE, TIM1_OUTPUTNSTATE_ENABLE, 511, TIM1_OCPOLARITY_HIGH, TIM1_OCNPOLARITY_HIGH, TIM1_OCIDLESTATE_SET, TIM1_OCNIDLESTATE_SET);
00064
00065   /* Automatic Output enable, Break, dead time and lock configuration*/
00066   
00067         TIM1_BDTRConfig( TIM1_OSSISTATE_ENABLE,  TIM1_LOCKLEVEL_OFF, 1,  TIM1_BREAK_DISABLE,  TIM1_BREAKPOLARITY_LOW,  TIM1_AUTOMATICOUTPUT_ENABLE);
00068
00069   TIM1_CCPreloadControl(ENABLE);
00070
00071   TIM1_ITConfig(TIM1_IT_COM, ENABLE);
00072
00073   
00074   
00075   /* TIM1 counter enable */
00076   TIM1_Cmd(ENABLE);
00077   
00078   /* TIM4 Peripheral Configuration */
00079   /* Time Base configuration */
00080         TIM4_TimeBaseInit(TIM4_PRESCALER_128, 0xFF);
00081   
00082   /*TIM4 counter enable */
00083   TIM4_Cmd(ENABLE);
00084   
00085   TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);
00086   
00087   /* Main Output Enable */
00088   TIM1_CtrlPWMOutputs(ENABLE);
00089   enableInterrupts();
00090   
00091   while (1);   
00092 }
00093
00094 #ifdef USE_FULL_ASSERT
00095
00096 /**
00097  * @brief  Reports the name of the source file and the source line number
00098  *   where the assert_param error has occurred.
00099  * @param file: pointer to the source file name
00100  * @param line: assert_param error line source number
00101  * @retval
00102  * None
00103  */
00104 void assert_failed(u8* file, u32 line)
00105 {
00106   /* User can add his own implementation to report the file name and line number,
00107     ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
00108
00109   /* Infinite loop */
00110   while (1)
00111   {
00112   }
00113 }
00114 #endif
00115
00116 /**
00117  * @}
00118  */
00119
00120 /******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/


沙发
触觉的爱| | 2013-3-16 12:57 | 只看该作者
引脚的功能是复用的,才需要配置。
对应编程手册来看看TIM1_OC1Init()这类的函数

使用特权

评论回复
板凳
wazhzlp|  楼主 | 2013-3-16 13:41 | 只看该作者
触觉的爱 发表于 2013-3-16 12:57
引脚的功能是复用的,才需要配置。
对应编程手册来看看TIM1_OC1Init()这类的函数
...

void TIM1_OC1Init  ( TIM1_OCMode_TypeDef  TIM1_OCMode,  
  TIM1_OutputState_TypeDef  TIM1_OutputState,  
  TIM1_OutputNState_TypeDef  TIM1_OutputNState,  
  u16  TIM1_Pulse,  
  TIM1_OCPolarity_TypeDef  TIM1_OCPolarity,  
  TIM1_OCNPolarity_TypeDef  TIM1_OCNPolarity,  
  TIM1_OCIdleState_TypeDef  TIM1_OCIdleState,  
  TIM1_OCNIdleState_TypeDef  TIM1_OCNIdleState   
)   
Initializes the TIM1 Channel1 according to the specified parameters.
Parameters:
[in]  TIM1_OCMode  specifies the Output Compare mode from TIM1_OCMode_TypeDef.  
[in]  TIM1_OutputState  specifies the Output State from TIM1_OutputState_TypeDef.  
[in]  TIM1_OutputNState  specifies the Complementary Output State from TIM1_OutputNState_TypeDef.  
[in]  TIM1_Pulse  specifies the Pulse width value.  
[in]  TIM1_OCPolarity  specifies the Output Compare Polarity from TIM1_OCPolarity_TypeDef.  
[in]  TIM1_OCNPolarity  specifies the Complementary Output Compare Polarity from TIM1_OCNPolarity_TypeDef.  
[in]  TIM1_OCIdleState  specifies the Output Compare Idle State from TIM1_OCIdleState_TypeDef.  
[in]  TIM1_OCNIdleState  specifies the Complementary Output Compare Idle State from TIM1_OCIdleState_TypeDef.  
Return values:
None   




这个函数可以说明说明问题吗?没有看出来哪里是可以配置的!

使用特权

评论回复
地板
haitao10086| | 2013-3-16 14:58 | 只看该作者
GPIO_Init()

使用特权

评论回复
5
wazhzlp|  楼主 | 2013-3-16 15:20 | 只看该作者
haitao10086 发表于 2013-3-16 14:58
GPIO_Init()

哪里有?亲,我在main函数里没有看到这个  函数的!

使用特权

评论回复
6
wazhzlp|  楼主 | 2013-3-18 09:11 | 只看该作者
原来他的PWM的通道是对应的IO口的复用的。

使用特权

评论回复
7
wangzhiyuan93| | 2014-10-23 14:23 | 只看该作者
wazhzlp 发表于 2013-3-18 09:11
原来他的PWM的通道是对应的IO口的复用的。

能说的清楚点吗?就是不用你库函数去设置,默认的,还是什么原因?

使用特权

评论回复
8
yun_xiao| | 2015-9-16 09:53 | 只看该作者
碰到了同样的问题

使用特权

评论回复
9
aiwosuoai1992| | 2016-11-15 14:44 | 只看该作者
wangzhiyuan93 发表于 2014-10-23 14:23
能说的清楚点吗?就是不用你库函数去设置,默认的,还是什么原因?


看引脚图,以造福后来者

使用特权

评论回复
10
aiwosuoai1992| | 2016-11-15 14:44 | 只看该作者
wangzhiyuan93 发表于 2014-10-23 14:23
能说的清楚点吗?就是不用你库函数去设置,默认的,还是什么原因?

看引脚图,以造福后来者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

51

帖子

1

粉丝