本帖最后由 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****/
|