stm8l051f3 例程.rar

  • 北冥一鱼
    了解作者
  • C/C++
    开发工具
  • 34.2MB
    文件大小
  • rar
    文件格式
  • 1
    收藏次数
  • 10 积分
    下载积分
  • 16
    下载次数
  • 2020-09-07 17:28
    上传日期
stm8l051f3例程,内含多个stm8l051f3的库函数应用
stm8l051f3 例程.rar
内容介绍
/** ****************************************************************************** * @file stm8l15x_tim1.c * @author MCD Application Team * @version V1.6.1 * @date 30-September-2014 * @brief This file provides firmware functions to manage the following * functionalities of the TIM1 peripheral: * - TimeBase management * - Output Compare management * - Input Capture management * - Interrupts, DMA and flags management * - Clocks management * - Synchronization management * - Specific interface management * * @verbatim * * =================================================================== * How to use this driver * =================================================================== * This driver provides functions to configure and initialize the TIM1 * peripheral * These functions are split in 7 groups: * * 1. TIM1 TimeBase management: this group includes all needed functions * to configure the TIM Timebase unit: * - Set/Get Prescaler * - Set/Get Autoreload * - Counter modes configuration * - Select the One Pulse mode * - Update Request Configuration * - Update Disable Configuration * - Auto-Preload Configuration * - Enable/Disable the counter * * 2. TIM1 Output Compare management: this group includes all needed * functions to configure the Capture/Compare unit used in Output * compare mode: * - Configure each channel, independently, in Output Compare mode * - Select the output compare modes * - Select the Polarities of each channel * - Set/Get the Capture/Compare register values * - Select the Output Compare Fast mode * - Select the Output Compare Forced mode * - Output Compare-Preload Configuration * - Clear Output Compare Reference * - Select the OCREF Clear signal * - Enable/Disable the Capture/Compare Channels * * 3. TIM1 Input Capture management: this group includes all needed * functions to configure the Capture/Compare unit used in * Input Capture mode: * - Configure each channel in input capture mode * - Configure Channel1/2 in PWM Input mode * - Set the Input Capture Prescaler * - Get the Capture/Compare values * * 4. TIM1 interrupts, DMA and flags management * - Enable/Disable interrupt sources * - Get flags status * - Clear flags/ Pending bits * - Enable/Disable DMA requests * - Configure DMA burst mode * - Select CaptureCompare DMA request * * 5. TIM1 clocks management: this group includes all needed functions * to configure the clock controller unit: * - Select internal/External clock * - Select the external clock mode: ETR(Mode1/Mode2) or TIx * * 6. TIM1 synchronization management: this group includes all needed * functions to configure the Synchronization unit: * - Select Input Trigger * - Select Output Trigger * - Select Master Slave Mode * - ETR Configuration when used as external trigger * * 7. TIM1 specific interface management, this group includes all * needed functions to use the specific TIM1 interface: * - Encoder Interface Configuration * - Select Hall Sensor * * @endverbatim * ****************************************************************************** * @attention * * <h2><center>&copy; COPYRIGHT 2014 STMicroelectronics</center></h2> * * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); * You may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.st.com/software_license_agreement_liberty_v2 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "stm8l15x_tim1.h" /** @addtogroup STM8L15x_StdPeriph_Driver * @{ */ /** @defgroup TIM1 * @brief TIM1 driver modules * @{ */ /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/ /* Private function prototypes -----------------------------------------------*/ /** @defgroup TIM1_Private_Functions_Prototypes * @{ */ static void TI1_Config(uint8_t TIM1_ICPolarity, uint8_t TIM1_ICSelection, uint8_t TIM1_ICFilter); static void TI2_Config(uint8_t TIM1_ICPolarity, uint8_t TIM1_ICSelection, uint8_t TIM1_ICFilter); static void TI3_Config(uint8_t TIM1_ICPolarity, uint8_t TIM1_ICSelection, uint8_t TIM1_ICFilter); static void TI4_Config(uint8_t TIM1_ICPolarity, uint8_t TIM1_ICSelection, uint8_t TIM1_ICFilter); /** * @} */ /* Private functions ---------------------------------------------------------*/ /** @defgroup TIM1_Private_Functions * @{ */ /** @defgroup TIM1_Group1 TimeBase management functions * @brief TimeBase management functions * @verbatim =============================================================================== TimeBase management functions =============================================================================== =================================================================== TIM1 Driver: how to use it in Timing(Time base) Mode =================================================================== To use the Timer in Timing(Time base) mode, the following steps are mandatory: 1. Enable TIM1 clock using CLK_PeripheralClockConfig(CLK_Peripheral_TIM1, ENABLE) function. 2. Call TIM1_TimeBaseInit() to configure the Time Base unit with the corresponding configuration. 3. Enable global interrupts if you need to generate the update interrupt. 4. Enable the corresponding interrupt using the function TIM1_ITConfig(TIM1_IT_Update) 5. Call the TIM1_Cmd(ENABLE) function to enable the TIM1 counter. Note1: All other functions can be used separately to modify, if needed, a specific feature of the Timer. @endverbatim * @{ */ /** * @brief Deinitializes the TIM1 peripheral registers to their def
评论
    相关推荐