登录/注册

STM32 BOOL类型函数

更多

在STM32开发中,BOOL类型函数通常指返回布尔值(真/假)的函数。由于标准C语言没有内置布尔类型,开发者需通过以下方式实现:


1. 使用C99标准布尔类型(推荐)


2. 自定义布尔类型(传统方法)

适用于不支持C99的旧项目:

   typedef enum {FALSE = 0, TRUE = !FALSE} BOOL;  // 自定义BOOL类型

   BOOL check_sensor_active(void) 
   {
       if (ADC_GetValue() > THRESHOLD) 
       {
           return TRUE;  // 传感器激活
       }
       return FALSE;     // 传感器未激活
   }

关键注意事项:

  1. 类型一致性

    • 推荐用 bool:C99标准兼容,代码可移植性强。
    • 避免混用 BOOL(自定义)和 bool(标准),以免冲突。
  2. STM32库中的布尔类型

    • HAL库默认支持 stdbool.h(如 bool, true, false)。
    • 标准外设库(StdPeriph)可能使用自定义类型如 FlagStatusSET/RESET)。
  3. 返回值逻辑

    • 明确状态:函数名应清晰表达布尔含义(如 is_xxxhas_xxx)。
    • 避免数值陷阱:直接返回 true/false,而非整数 1/0

示例:HAL库中的布尔函数

// 检查串口数据是否就绪(HAL库使用stdbool.h)
bool is_usart_data_ready(void) 
{
    return (__HAL_USART_GET_FLAG(&huart1, USART_FLAG_RXNE) != RESET);
}

// 调用示例
if (is_usart_data_ready()) 
{
    uint8_t data = USART1->DR;  // 读取数据
}

总结建议:

通过规范使用布尔类型,可显著提升STM32代码的可读性和可维护性。

函数类型函数指针类型的区别

平时用的更多的是函数指针类型,比如作为函数参数传入回调函数等等。实际上

2023-10-24 14:27:25

SpinalHDL语法之Bool类型

作为SpinalHDL语法篇的第一节,我们也从最简单的开始。 Bool类型定义

2023-05-05 16:01:32

基于Simulink搭建保护原型函数

BMS保护包括过充保护、过流保护、高温保护等等保护类型较多,但是如果用函数封装的角度去理解,大多数保护类型函数原型是一样的,只不过传入

2023-03-10 14:38:46

STM32】低功耗相关函数类型

00. 目录文章目录00. 目录01. 概述02. 相关类型03. 相关函数04. 结构体封装05. 预留06. 附录07. 声明01. 概述很多单片机都有低功耗模式,

资料下载 维生素B2 2021-12-31 19:06:51

【AVR ASF4库函数学习笔记】二、GPIO

目录枚举类型函数平台:Microchip Studio (原Atmel Studio 7) 欣世纪 DMAVR-L Atmega 128A - AU头文件为port.h枚举类型enum

资料下载 佚名 2021-11-15 15:36:06

STM32F4 HAL库函数说明下载

STM32F4 HAL库函数说明下载

资料下载 jf_59593610 2021-05-26 09:27:42

基于ARM微控制器STM32F101xx与STM32F103xx的固件函数

基于ARM微控制器STM32F101xx与STM32F103xx的固件函数库。

资料下载 姚小熊27 2021-05-18 10:50:34

STM32 IAR的库函数资料免费下载

本文档的主要内容详细介绍的是STM32 IAR的库函数资料免费下载。

资料下载 佚名 2020-03-27 09:48:25

python偏函数和泛型函数

)4>>> power_2(3)9python泛型函数根据传入参数类型的不同而调用不同的函数逻辑体,这种实现我们称之为泛型。在

2022-03-03 16:44:23

型函数bsearch()的编写过程是怎样的?

泛型函数bsearch()的编写过程是怎样的?

2022-02-09 06:31:47

C语言实现的泛型函数swap()

C语言实现的泛型函数swap():交换两个变量中的数据.

2022-01-20 07:10:47

请问在C语言中如何使用bool类型

在C语言中如何使用bool类型?

2021-10-22 07:20:56

请问一下STM32是如何使用bool类型

STM32是如何使用bool类型的?怎样进行stm32相关编程呢?

2021-10-18 06:03:58

bool定义的类型

[]bool定义的类型只有真和假两种值。[]Static申明的局部变量,存储在静态存储区。静态局部变量的初始化语句块第一次执行起作用。在随后的运行过程中,变量将保持上一次执行的值。[]枚举

2021-08-12 07:11:48

STM32如何去使用bool类型

Q:STM32 如何使用bool类型?通常进行stm32相关编程的时候,

2021-08-04 08:10:51
7天热门专题 换一换
相关标签