@@ -81,7 +81,7 @@ void HAL_GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)
81
81
{
82
82
if (GPIO_InitStruct -> GPIO_Mode == GPIO_Mode_OUT )
83
83
{
84
- GPIOx -> OUTENSET | = pos ;
84
+ GPIOx -> OUTENSET = pos ;
85
85
}
86
86
else // GPIO_Mode_In
87
87
{
@@ -199,8 +199,10 @@ void HAL_GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
199
199
assert_param (IS_GPIO_ALL_PERIPH (GPIOx ));
200
200
assert_param (IS_GPIO_PIN (GPIO_Pin ));
201
201
202
- (GPIOx -> LB_MASKED [(uint8_t )(GPIO_Pin )]) = GPIO_Pin ;
203
- (GPIOx -> UB_MASKED [(uint8_t )((GPIO_Pin )>>8 )]) = GPIO_Pin ;
202
+ if (GPIO_Pin < 256 )
203
+ (GPIOx -> LB_MASKED [(uint8_t ) (GPIO_Pin )]) = 0xFFFF ;
204
+ else
205
+ (GPIOx -> UB_MASKED [(uint8_t ) ((GPIO_Pin ) >> 8 )]) = 0xFFFF ;
204
206
}
205
207
206
208
void HAL_GPIO_ResetBits (GPIO_TypeDef * GPIOx , uint16_t GPIO_Pin )
@@ -209,8 +211,10 @@ void HAL_GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
209
211
assert_param (IS_GPIO_ALL_PERIPH (GPIOx ));
210
212
assert_param (IS_GPIO_PIN (GPIO_Pin ));
211
213
212
- (GPIOx -> LB_MASKED [(uint8_t )(GPIO_Pin )]) = ~(GPIO_Pin );
213
- (GPIOx -> UB_MASKED [(uint8_t )(GPIO_Pin >>8 )]) = ~(GPIO_Pin );
214
+ if (GPIO_Pin < 256 )
215
+ (GPIOx -> LB_MASKED [(uint8_t ) (GPIO_Pin )]) = 0x0 ;
216
+ else
217
+ (GPIOx -> UB_MASKED [(uint8_t ) (GPIO_Pin >> 8 )]) = 0x0 ;
214
218
}
215
219
216
220
void HAL_GPIO_WriteBit (GPIO_TypeDef * GPIOx , uint16_t GPIO_Pin , BitAction BitVal )
@@ -226,15 +230,19 @@ void HAL_GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal)
226
230
temp_gpio_lb = (GPIOx -> LB_MASKED [(uint8_t )(GPIO_Pin )]);
227
231
temp_gpio_ub = (GPIOx -> UB_MASKED [(uint8_t )((GPIO_Pin )>>8 )]);
228
232
229
- if ( BitVal == Bit_SET )
233
+ if ( GPIO_Pin < 256 )
230
234
{
231
- (GPIOx -> LB_MASKED [(uint8_t )(GPIO_Pin )]) = (temp_gpio_lb | GPIO_Pin );
232
- (GPIOx -> UB_MASKED [(uint8_t )((GPIO_Pin )>>8 )]) = (temp_gpio_ub | GPIO_Pin );
235
+ if (BitVal )
236
+ (GPIOx -> LB_MASKED [(uint8_t ) (GPIO_Pin )]) = 0xFFFF ;
237
+ else
238
+ (GPIOx -> LB_MASKED [(uint8_t ) (GPIO_Pin )]) = 0x0 ;
233
239
}
234
240
else
235
241
{
236
- (GPIOx -> LB_MASKED [(uint8_t )(GPIO_Pin )]) = (temp_gpio_lb & ~(GPIO_Pin ));
237
- (GPIOx -> UB_MASKED [(uint8_t )((GPIO_Pin )>>8 )]) = (temp_gpio_ub & ~(GPIO_Pin ));
242
+ if (BitVal )
243
+ (GPIOx -> UB_MASKED [(uint8_t ) (GPIO_Pin )]) = 0xFFFF ;
244
+ else
245
+ (GPIOx -> UB_MASKED [(uint8_t ) (GPIO_Pin )]) = 0x0 ;
238
246
}
239
247
}
240
248
0 commit comments