/**
******************************************************************************
* @file stm32f4xx_hal_tim.c
* @author MCD Application Team
* @brief TIM HAL module driver.
* This file provides firmware functions to manage the following
* functionalities of the Timer (TIM) peripheral:
* + TIM Time Base Initialization
* + TIM Time Base Start
* + TIM Time Base Start Interruption
* + TIM Time Base Start DMA
* + TIM Output Compare/PWM Initialization
* + TIM Output Compare/PWM Channel Configuration
* + TIM Output Compare/PWM Start
* + TIM Output Compare/PWM Start Interruption
* + TIM Output Compare/PWM Start DMA
* + TIM Input Capture Initialization
* + TIM Input Capture Channel Configuration
* + TIM Input Capture Start
* + TIM Input Capture Start Interruption
* + TIM Input Capture Start DMA
* + TIM One Pulse Initialization
* + TIM One Pulse Channel Configuration
* + TIM One Pulse Start
* + TIM Encoder Interface Initialization
* + TIM Encoder Interface Start
* + TIM Encoder Interface Start Interruption
* + TIM Encoder Interface Start DMA
* + Commutation Event configuration with Interruption and DMA
* + TIM OCRef clear configuration
* + TIM External Clock configuration
@verbatim
==============================================================================
##### TIMER Generic features #####
==============================================================================
[..] The Timer features include:
(#) 16-bit up, down, up/down auto-reload counter.
(#) 16-bit programmable prescaler allowing dividing (also on the fly) the
counter clock frequency either by any factor between 1 and 65536.
(#) Up to 4 independent channels for:
(++) Input Capture
(++) Output Compare
(++) PWM generation (Edge and Center-aligned Mode)
(++) One-pulse mode output
(#) Synchronization circuit to control the timer with external signals and to interconnect
several timers together.
(#) Supports incremental encoder for positioning purposes
##### How to use this driver #####
==============================================================================
[..]
(#) Initialize the TIM low level resources by implementing the following functions
depending on the selected feature:
(++) Time Base : HAL_TIM_Base_MspInit()
(++) Input Capture : HAL_TIM_IC_MspInit()
(++) Output Compare : HAL_TIM_OC_MspInit()
(++) PWM generation : HAL_TIM_PWM_MspInit()
(++) One-pulse mode output : HAL_TIM_OnePulse_MspInit()
(++) Encoder mode output : HAL_TIM_Encoder_MspInit()
(#) Initialize the TIM low level resources :
(##) Enable the TIM interface clock using __HAL_RCC_TIMx_CLK_ENABLE();
(##) TIM pins configuration
(+++) Enable the clock for the TIM GPIOs using the following function:
__HAL_RCC_GPIOx_CLK_ENABLE();
(+++) Configure these TIM pins in Alternate function mode using HAL_GPIO_Init();
(#) The external Clock can be configured, if needed (the default clock is the
internal clock from the APBx), using the following function:
HAL_TIM_ConfigClockSource, the clock configuration should be done before
any start function.
(#) Configure the TIM in the desired functioning mode using one of the
Initialization function of this driver:
(++) HAL_TIM_Base_Init: to use the Timer to generate a simple time base
(++) HAL_TIM_OC_Init and HAL_TIM_OC_ConfigChannel: to use the Timer to generate an
Output Compare signal.
(++) HAL_TIM_PWM_Init and HAL_TIM_PWM_ConfigChannel: to use the Timer to generate a
PWM signal.
(++) HAL_TIM_IC_Init and HAL_TIM_IC_ConfigChannel: to use the Timer to measure an
external signal.
(++) HAL_TIM_OnePulse_Init and HAL_TIM_OnePulse_ConfigChannel: to use the Timer
in One Pulse Mode.
(++) HAL_TIM_Encoder_Init: to use the Timer Encoder Interface.
(#) Activate the TIM peripheral using one of the start functions depending from the feature used:
(++) Time Base : HAL_TIM_Base_Start(), HAL_TIM_Base_Start_DMA(), HAL_TIM_Base_Start_IT()
(++) Input Capture : HAL_TIM_IC_Start(), HAL_TIM_IC_Start_DMA(), HAL_TIM_IC_Start_IT()
(++) Output Compare : HAL_TIM_OC_Start(), HAL_TIM_OC_Start_DMA(), HAL_TIM_OC_Start_IT()
(++) PWM generation : HAL_TIM_PWM_Start(), HAL_TIM_PWM_Start_DMA(), HAL_TIM_PWM_Start_IT()
(++) One-pulse mode output : HAL_TIM_OnePulse_Start(), HAL_TIM_OnePulse_Start_IT()
(++) Encoder mode output : HAL_TIM_Encoder_Start(), HAL_TIM_Encoder_Start_DMA(), HAL_TIM_Encoder_Start_IT().
(#) The DMA Burst is managed with the two following functions:
HAL_TIM_DMABurst_WriteStart()
HAL_TIM_DMABurst_ReadStart()
*** Callback registration ***
=============================================
The compilation define USE_HAL_TIM_REGISTER_CALLBACKS when set to 1
allows the user to configure dynamically the driver callbacks.
Use Function @ref HAL_TIM_RegisterCallback() to register a callback.
@ref HAL_TIM_RegisterCallback() takes as parameters the HAL peripheral handle,
the Callback ID and a pointer to the user callback function.
Use function @ref HAL_TIM_UnRegisterCallback() to reset a callback to the default
weak function.
@ref HAL_TIM_UnRegisterCallback takes as parameters the HAL peripheral handle,
and the Callback ID.
These functions allow to register/unregister following callbacks:
(+) Base_MspInitCallback : TIM Base Msp Init Callback.
(+) Base_MspDeInitCallback : TIM Base Msp DeInit Callback.
(+) IC_MspInitCallback : TIM IC Msp Init Callback.
(+) IC_MspDeInitCallback : TIM IC Msp DeInit Callback.
(+) OC_MspInitCallback : TIM OC Msp Init Callback.
(+) OC_MspDeInitCallback : TIM OC Msp DeInit Callback.
(+) PWM_MspInitCallback : TIM PWM Msp Init Callback.
(+) PWM_MspDeInitCallback : TIM PWM Msp DeInit Callback.
(+) OnePulse_MspInitCallback : TIM One Pulse Msp Init Callback.
(+) OnePulse_MspDeInitCallback : TIM One Pulse Msp DeInit Callback.
(+) Encoder_MspInitCallback : TIM Encoder Msp Init Callback.
(+) Encoder_MspDeInitCallback : TIM Encoder Msp DeInit Callback.
(+) HallSensor_MspInitCallback : TIM Hall Sensor Msp Init Callback.
(+) HallSensor_MspDeInitCallback : TIM Hall Sensor Msp DeInit Callback.
(+) PeriodElapsedCallback : TIM Period Elapsed Callback.
(+) PeriodElapsedHalfCpltCallback : TIM Period Elapsed half complete Callback.
(+) TriggerCallback : TIM Trigger Callback.
(+) TriggerHalfCpltCallback : TIM Trigger half complete Callback.
(+) IC_CaptureCallback : TIM Input Capture Callback.
(+) IC_CaptureHalfCpltCallback : TIM Input Capture half complete Callback.
(+) OC_DelayElapsedCallback : TIM Output Compare Delay Elapsed Callback.
(+) PWM_PulseFinishedCallback : TIM PWM Pulse Finished Callback.
(+) PWM_PulseFinishedHalfCpltCallback : TIM PWM Pulse Finished half complete Callback.
(+) ErrorCallback : TIM Error Callback.
(+) CommutationCallback : TIM Commutat
没有合适的资源?快使用搜索试试~ 我知道了~
STM32F407+Freertos+LWIP+TCP demo.zip
共319个文件
h:202个
c:109个
mxproject:1个
需积分: 49 72 下载量 108 浏览量
2020-07-08
13:02:34
上传
评论 2
收藏 1.8MB ZIP 举报
温馨提示
1.STM32F407+LAN8720A+Freertos+LWIP+TCP demo源码 2.注意硬件管脚对应。 3.默认使用cubemx生成的工程做简单的复位加phy地址配置 4.默认线程留意修改1K堆栈大小 5.增加应用demo在线程里面。
资源推荐
资源详情
资源评论
收起资源包目录
STM32F407+Freertos+LWIP+TCP demo.zip (319个子文件)
stm32f4xx_hal_tim.c 213KB
tasks.c 162KB
stm32f4xx_hal_rcc_ex.c 153KB
stm32f4xx_hal_uart.c 108KB
sockets.c 93KB
queue.c 92KB
stm32f4xx_hal_eth.c 81KB
lcp.c 74KB
dhcp.c 72KB
tcp_in.c 69KB
nd6.c 69KB
tcp.c 68KB
stm32f4xx_hal_tim_ex.c 66KB
auth.c 66KB
ipcp.c 64KB
eap.c 63KB
stm32f4xx_hal_rtc.c 63KB
api_msg.c 62KB
tcp_out.c 58KB
stm32f4xx_hal_rtc_ex.c 56KB
cmsis_os.c 52KB
dns.c 52KB
stm32f4xx_hal_flash_ex.c 51KB
ppp.c 49KB
ccp.c 49KB
pbuf.c 47KB
etharp.c 46KB
mqtt.c 44KB
ipv6cp.c 42KB
stream_buffer.c 42KB
lowpan6.c 41KB
stm32f4xx_hal_rcc.c 41KB
pppol2tp.c 40KB
stm32f4xx_hal_dma.c 40KB
ip6.c 39KB
ip4.c 39KB
udp.c 39KB
timers.c 39KB
pppoe.c 38KB
netif.c 38KB
chap_ms.c 33KB
api_lib.c 32KB
pppos.c 29KB
ip4_frag.c 29KB
port.c 28KB
igmp.c 28KB
system_stm32f4xx.c 28KB
mem.c 27KB
ip6_frag.c 27KB
stm32f4xx_hal_flash.c 24KB
event_groups.c 24KB
stm32f4xx_hal_pwr_ex.c 23KB
ethernetif.c 22KB
utils.c 21KB
fsm.c 20KB
vj.c 20KB
stm32f4xx_hal_pwr.c 20KB
chap-new.c 19KB
inet_chksum.c 19KB
stm32f4xx_hal_gpio.c 19KB
stm32f4xx_hal.c 19KB
stm32f4xx_hal_cortex.c 19KB
autoip.c 18KB
upap.c 18KB
mld6.c 17KB
init.c 16KB
slipif.c 16KB
tcpip.c 16KB
raw.c 16KB
sys_arch.c 15KB
multilink.c 14KB
heap_4.c 14KB
main.c 14KB
icmp.c 14KB
pppapi.c 14KB
memp.c 14KB
netdb.c 13KB
demand.c 13KB
croutine.c 13KB
timeouts.c 13KB
stm32f4xx_hal_exti.c 12KB
mppe.c 12KB
ethernet.c 11KB
stm32f4xx_hal_dma_ex.c 11KB
icmp6.c 10KB
magic.c 10KB
stm32f4xx_hal_msp.c 10KB
ip4_addr.c 9KB
ip6_addr.c 9KB
list.c 8KB
stm32f4xx_it.c 8KB
netifapi.c 7KB
netbuf.c 7KB
def.c 7KB
stm32f4xx_hal_flash_ramfunc.c 6KB
stats.c 6KB
ecp.c 6KB
err.c 5KB
lwip.c 4KB
ethip6.c 4KB
共 319 条
- 1
- 2
- 3
- 4
资源评论
ajingzz
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于yolov5识别算法实现的DNF自动脚本源码.zip
- 基于Python实现的自动化办公项目.zip
- 基于python实现的基于PyQt5和爬虫的小说阅读系统.zip
- 机械设计整经机上纱自动化sw20非常好的设计图纸100%好用.zip
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功