Skip to main content
lzai
Associate
July 29, 2019
Solved

Package for STM32F1 Series 1.8.0 trouble

  • July 29, 2019
  • 4 replies
  • 1461 views

Use this "STM32Cube Package for STM32F1 Series 1.8.0" ,  

This statement:

__HAL_TIM_SET_CAPTUREPOLARITY(htim,TIM_CHANNEL_2,TIM_INPUTCHANNELPOLARITY_FALLING);

is wrong.   Tips: ../Src/freertos.c(417): error: #53: expected a ":"

but in 1.7.0, it is Correct. why? 

This topic has been closed for replies.
Best answer by Wli.11

There is a bug in ` Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h`

here is the solution, found this file and change

#define TIM_RESET_CAPTUREPOLARITY(__HANDLE__, __CHANNEL__) \
 
- (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCER &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP))) :\
 
+ (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCER &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP)) :\
 
 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCER &= ~(TIM_CCER_CC2P | TIM_CCER_CC2NP)) :\
 
 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCER &= ~(TIM_CCER_CC3P)) :\
 
 ((__HANDLE__)->Instance->CCER &= ~(TIM_CCER_CC4P)))

4 replies

Wli.11
Wli.11Best answer
Visitor II
December 13, 2019

There is a bug in ` Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h`

here is the solution, found this file and change

#define TIM_RESET_CAPTUREPOLARITY(__HANDLE__, __CHANNEL__) \
 
- (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCER &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP))) :\
 
+ (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCER &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP)) :\
 
 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCER &= ~(TIM_CCER_CC2P | TIM_CCER_CC2NP)) :\
 
 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCER &= ~(TIM_CCER_CC3P)) :\
 
 ((__HANDLE__)->Instance->CCER &= ~(TIM_CCER_CC4P)))

lzai
lzaiAuthor
Associate
February 25, 2020

thank you very much​

danelifab
Associate II
March 2, 2020

Many thanks! WLi.1