• PUDN用户
    了解作者
  • C/C++
    开发工具
  • 4.5MB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 44
    下载次数
  • 2018-09-20 15:49
    上传日期
基于STM32F373的串口通讯,并实现AD转换功能
STM32F373.rar
内容介绍
/** ****************************************************************************** * @file stm32f37x_tim.c * @author MCD Application Team * @version V1.0.0 * @date 20-September-2012 * @brief This file provides firmware functions to manage the following * functionalities of the TIM peripheral: * + TimeBase management * + Output Compare management * + Input Capture management * + Interrupts, DMA and flags management * + Clocks management * + Synchronization management * + Specific interface management * + Specific remapping management * * @verbatim =============================================================================== ##### How to use this driver ##### =============================================================================== [..] This driver provides functions to configure and program the TIM of all STM32F37x devices These functions are split in 8 groups: (#) TIM TimeBase management: this group includes all needed functions to configure the TM Timebase unit: (++) Set/Get Prescaler. (++) Set/Get Autoreload. (++) Counter modes configuration. (++) Set Clock division. (++) Select the One Pulse mode. (++) Update Request Configuration. (++) Update Disable Configuration. (++) Auto-Preload Configuration. (++) Enable/Disable the counter. (#) TIM 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. (#) TIM 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. (#) Advanced-control timers (TIM15, TIM16 and TIM17) specific features (++) Configures the Break input, dead time, Lock level, the OSSI, the OSSR State and the AOE(automatic output enable) (++) Enable/Disable the TIM peripheral Main Outputs (++) Select the Commutation event (++) Set/Reset the Capture Compare Preload Control bit (#) TIM 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. (#) TIM 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), TIx or ITRx. (#) TIM 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. (#) TIM specific interface management, this group includes all needed functions to use the specific TIM interface: (++) Encoder Interface Configuration. (++) Select Hall Sensor. (#) TIM specific remapping management includes the Remapping configuration of specific timers @endverbatim * ****************************************************************************** * @attention * * <h2><center>&copy; COPYRIGHT 2012 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 "stm32f37x_tim.h" #include "stm32f37x_rcc.h" /** @addtogroup STM32F37x_StdPeriph_Driver * @{ */ /** @defgroup TIM * @brief TIM driver modules * @{ */ /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ /* ---------------------- TIM registers bit mask ------------------------ */ #define SMCR_ETR_MASK ((uint16_t)0x00FF) #define CCMR_OFFSET ((uint16_t)0x0018) #define CCER_CCE_SET ((uint16_t)0x0001) #define CCER_CCNE_SET ((uint16_t)0x0004) /* Private macro -------------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/ /* Private function prototypes -----------------------------------------------*/ static void TI1_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); static void TI2_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); static void TI3_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); static void TI4_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); /* Private functions ---------------------------------------------------------*/ /** @defgroup TIM_Private_Functions * @{ */ /** @defgroup TIM_Group1 TimeBase management functions * @brief TimeBase management functions * @verbatim =============================================================================== ##### TimeBase management functions ##### =============================================================================== *** TIM Driver: how to use it in Timing(Time base) Mode *** =============================================================================== [..] To use the Timer in Timing(Time base) mode, the following steps are mandatory: (#) Enable TIM clock using RCC_APBxPeriphClockCmd(RCC_APBxPeriph_TIMx, ENABLE) function. (#) Fill the TIM_TimeBaseInitStruct with the desired parameters. (#) Call TIM_Ti
评论
    相关推荐
    • STM32F429USART—串口通信.zip
      文件包含了STM32F429开发板中一些串口通讯的案例与试验。
    • STM32F030串口程序
      STM32F030的串口例程,仅供学习和参考,如需其他STM32F030例程私聊我,我这有很多F030的各种例程
    • STM32F207 串口通讯程序
      固件库写的 STM32F207串口通讯程序
    • STM32F429驱动迪文串口屏程序
      工教教育高级课程项目,实现迪文串口屏与STM32F429的RS232通信,并包含指令处理函数,发送指令的函数封装,因为迪文官方没有提供串口屏与stm32通信的相关例程,此程序根据大采屏的相关例程改编而来
    • STM32F207 串口1 DMA源码
      STM32F207 串口1 DMA源码 支持Printf函数,双缓冲。
    • STM32F373代码实例.rar
      STM32 F373 代码 定时器,按键,DAC, FLASH模拟EEPROM, 看门狗, 串口 SPI, IIC, SDADC ,ADC,RTC
    • stm32f407vgt6串口通信
      stm32f407vgt6USART1串口通信,绝对可靠,如果大家的串口通信有乱码可以观看一下注意事项中的小编的个人经验,希望对大家有所帮助。
    • STM32F091多串口程序
      STM32F091串口驱动 中断接收 一转五程序,最多可以做到一转七。
    • STM32F虚拟串口驱动程序
      STM32F虚拟串口驱动程序,希望对大家有用。
    • STM32F030模拟串口例程
      由于STM32F030F4只有一路串口,目前用TIM14和外部中断模拟多一个串口例程,可用!