/**
******************************************************************************
* @file stm32g0xx_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 Commutation Callback.
(+) CommutationHalfCpltCallback : TIM Commutation half complete Callback.
(+) BreakCallback : TIM Break Callback.
(+) Break2Callback : TIM Break2 Callback.
[..]
By defau
没有合适的资源?快使用搜索试试~ 我知道了~
基于STM32G0采用USB type-C供电的开源锂电池充电器
共200个文件
h:112个
c:72个
a:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 154 浏览量
2024-03-25
20:57:49
上传
评论 1
收藏 1.62MB ZIP 举报
温馨提示
LiPow 的固件是开源 Lipo 电池充电器,具有基于 USB C 供电的 STM32G0 LiPow 使用具有 Power Delivery 功能的 USB Type C 为锂聚合物电池充电。它支持 2s-4s 包的充电和平衡。该设备支持高达 100W 的充电。 充电和平衡 2s-4s 电池组(将来可以单节充电) USB C 型输入 支持从 USB PD 电源或任何其他具有 PD 源功能的 USB C 端口(例如 Thinkpad X1 笔记本电脑)为高达 100W 的充电(取决于外壳配置) 支持非 USB PD 电源(限制为 2.5W - 5V,0.5A) 充电通过 XT60 连接器完成,并具有用于平衡 2s-4s 电池组的 JST XH 连接器 通过RGB LED的用户反馈 开源原理图、BOM 和固件 用于固件开发的 SWD 和 UART 分线 用于调试和运行时信息的 UART 命令行界面
资源推荐
资源详情
资源评论
收起资源包目录
基于STM32G0采用USB type-C供电的开源锂电池充电器 (200个子文件)
USBPDCORE_PD3_FULL_CM0PLUS_wc32.a 84KB
USBPDCORE_PD3_CONFIG_1_CM0PLUS_wc32.a 77KB
USBPDCORE_PD3_CONFIG_2_CM0PLUS_wc32.a 49KB
LiPow_V1.3.bin 99KB
stm32g0xx_hal_tim.c 214KB
stm32g0xx_hal_i2c.c 210KB
tasks.c 157KB
stm32g0xx_hal_uart.c 133KB
stm32g0xx_hal_adc.c 114KB
gui_api.c 92KB
queue.c 89KB
usbpd_dpm_user.c 82KB
stm32g0xx_hal_tim_ex.c 78KB
stm32g0xx_ll_tim.c 53KB
cmsis_os.c 48KB
stm32g0xx_hal_rcc.c 46KB
stream_buffer.c 41KB
timers.c 38KB
usbpd_pwr_if.c 36KB
stm32g0xx_hal_rcc_ex.c 34KB
stm32g0xx_hal_dma.c 33KB
usbpd_vdm_user.c 33KB
stm32g0xx_ll_adc.c 33KB
stm32g0xx_hal_flash_ex.c 31KB
usbpd_cad_hw_if.c 30KB
stm32g0xx_ll_rcc.c 29KB
main.c 26KB
stm32g0xx_hal_pwr.c 25KB
event_groups.c 23KB
stm32g0xx_hal_uart_ex.c 23KB
stm32g0xx_hal.c 21KB
printf.c 21KB
stm32g0xx_ll_utils.c 21KB
stm32g0xx_hal_flash.c 21KB
port.c 20KB
stm32g0xx_hal_pwr_ex.c 19KB
stm32g0xx_hal_gpio.c 19KB
stm32g0xx_hal_exti.c 18KB
bq25703a_regulator.c 16KB
stm32g0xx_hal_msp.c 16KB
stm32g0xx_hal_cortex.c 14KB
stm32g0xx_ll_dma.c 14KB
usbpd_pwr_user.c 14KB
heap_4.c 14KB
CLI-commands.c 13KB
data_struct_tlv.c 13KB
croutine.c 13KB
adc_interface.c 12KB
usbpd_dpm_core.c 12KB
usbpd_phy.c 12KB
stm32g0xx_hal_adc_ex.c 11KB
FreeRTOS_CLI.c 11KB
usbpd_phy_hw_if.c 11KB
tracer_emb_hw.c 10KB
system_stm32g0xx.c 10KB
stm32g0xx_hal_dma_ex.c 10KB
stm32g0xx_hal_i2c_ex.c 10KB
bsp_gui.c 10KB
battery.c 10KB
stm32g0xx_ll_exti.c 9KB
stm32g0xx_it.c 9KB
stm32g0xx_ll_gpio.c 9KB
usbpd.c 9KB
list.c 8KB
tracer_emb.c 7KB
UARTCommandConsole.c 7KB
usbpd_hw_if_it.c 6KB
stm32g0xx_hal_timebase_tim.c 6KB
usbpd_trace.c 5KB
usbpd_hw.c 5KB
stm32g0xx_ll_ucpd.c 5KB
app_freertos.c 4KB
syscalls.c 4KB
usbpd_timersserver.c 4KB
usbpd_pwr_hw_if.c 4KB
error.c 640B
.code_review_properties 4KB
.cproject 47KB
.gitignore 545B
stm32g071xx.h 681KB
stm32g0xx_ll_adc.h 265KB
arm_math.h 239KB
stm32g0xx_ll_tim.h 216KB
stm32_hal_legacy.h 188KB
stm32g0xx_ll_usart.h 170KB
stm32g0xx_hal_rcc.h 134KB
core_cm7.h 134KB
usbpd_def.h 128KB
stm32g0xx_hal_tim.h 125KB
stm32g0xx_ll_rcc.h 111KB
core_cm4.h 110KB
stm32g0xx_hal_adc.h 108KB
core_cm3.h 100KB
core_sc300.h 99KB
task.h 93KB
stm32g0xx_ll_dma.h 82KB
stm32g0xx_hal_uart.h 82KB
stm32g0xx_ll_system.h 67KB
stm32g0xx_ll_dmamux.h 67KB
queue.h 59KB
共 200 条
- 1
- 2
资源评论
- qq_360605102024-04-22发现一个宝藏资源,赶紧冲冲冲!支持大佬~
新华
- 粉丝: 9160
- 资源: 609
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功