STM32使用bool型变量

2023-11-09

环境Keil5 编译器
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
int main(void)
{
bool a,b,c,d,e;
a = true;
b = false;
c = 0;
d = 1;
e = 5;
printf(“bool = %d\n”,sizeof(a));
printf(“a = %d;b = %d;c = %d;d = %d;e = %d\n”,a,b,c,d,e);
return 0;
}
$ ./length
bool = 1
a = 1;b = 0;c = 0;d = 1;e = 1
其实:有了这个例子就对bool有了一定了解。
在C语言中没有bool变量。一般是自己定义

     #define TRUE 1

     #define FALSE 0

     enum bool{false,true};

     #define TRUE (1==1)

     #define FALSE (!TRUE)

BOOL和bool的区别:
  1、类型不同
  BOOL为int型
  bool为布尔型
  2、长度不同
  bool只有一个字节
  BOOL长度视实际环境来定,一般可认为是4个字节

3、取值不同
  bool取值false和true,是0和1的区别
  如果数个bool对象列在一起,可能会各占一个bit,这取决于编译器。
  BOOL是微软定义的typedef int BOOL(在windef.h中)。与bool不同,它是一个三值逻辑,
  TRUE/FALSE/ERROR,返回值为大于0的整数时为TRUE,返回值为0时候,为FALSE,返回值为-1时为ERROR。

布尔型变量bool
  bool是布尔型变量,也就是逻辑型变量的定义符,类似于float,double等,只不过float定义浮点型,double定义双精度浮点型。
  布尔型变量的值只有 真 (true) 和假 (false)。
  布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算。
建议:最好别用bool,bool变量可用int代替。

实际使用例程贴上
在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32使用bool型变量 的相关文章

  • Linux系统下串口调试助手putty,cutecom,xgcom

    系统 linux mint 18 3 xfce 64bit 串口驱动 ch340 系统已自带 没有测试pl2302 尝试了几个linux下的串口调试助手 这里总结一下 由于使用的是USB转串口 CH340 所以在 dev 目录下面看到的串口
  • (转载)STM32与LAN9252构建EtherCAT从站

    目录 一 项目简介 EtherCAT及项目简述 LAN9252工作模式 整体开发流程 移植要处理的问题 代码层面的工作 开发中使用的工具 二 SSC的使用 SSC简介和下载 SSC构建协议栈文件和XML 三 LAN9252的XML文件 Et
  • 智能小车运行及测速原理

    光电码盘测速原理 如何求解小车速度参数 大小与方向 测量速度方向的方法 根据A B两相脉冲的超前滞后关系确定电机旋转方向 假定A相超前于B相时 为电机正方向 则当A相滞后于B相 当前电机为反向旋转 普通测量速度大小的方法 单位时间内采集的脉
  • STM32F SysTick定时器

    SysTick定时器 系统滴答定时器是一个非常基本倒计时定时器 用于在每隔一定的时间产生一个中断 即使是系统在睡眠模式下也能工作 它使得 OS 在各 CM3 器件之间的移植中不必修改系统定时器的代码 移植工作一下子容易多了 不用考虑最基本的
  • 关于你STM32F407片内FLASH擦除失败的问题

    近日 发现STM32F407片内FLASH在写入数据时某些情况下会出现扇区擦除不成功的情况 使用正点原子的代码测试也出一样的情况 网上搜索也没找到较为理想的答案 只有一篇文章遇到同样问题 也是使用了一个不太可靠的办法 但是好在可以解决问题
  • 32_STM32内部温度传感器实验

    目录 内部温度传感器简介 STM32ADC对应引脚 内部温度传感器使用注意使用事项 开启内部温度传感器步骤 实验源码 内部温度传感器简介 内部温度传感器框图 从图上可以看出温度传感器可通过TSVREFR控制位连接到ADC的固定通道16 温度
  • STM32F407ZGT6实现OLED显示屏

    1 调试工具 2 OLED简介 3 硬件电路 接线 本文采用7脚 倘若采用4脚 资料代码啥的可以在江科大B站视频下载 资料下载 https pan baidu com s 1SqKyKr5Fsl 9gBJi8aVxTw 提取码 8kzh 链
  • 为什么延时函数while()没有递减

    因为有时钟中断 1ms中断一次 如何减1
  • 22_PWM输出实验

    目录 通用定时器PWM概述 PWM模式 PWM输出配置步骤 计算频率和占空比 实验源码 通用定时器PWM概述 STM32PWM工作过程 从APB1 2的时钟在到预分频器在到计数器再到比较寄存器最后在到输出控制 假设我们的计数值是100 比较
  • STM32的CAN总线的接收双FIFO使用方法

    通过下面的框图我们可以看到 STM32F013有两个接收FIFO 但是实际的使用中如何让着两个FIFO都被使用呢 解决办法就在这里 1 STM32F103有0 13共14个过滤器组 每个过滤器组都可以绑定指定的FIFO 2 特别需要注意的一
  • STM32F4驱动42步进电机(采用驱动器)

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 器件 实物 接线 TB6600拨码卡关 代码说明 main c 代码如下 示例 main c 代码 极简版 step motor c 代码如下 示例 step mo
  • STM32自己写printf函数方法(不用重定向)

    stm32有几个串口可以使用 当我们想用printf打印数据到上位机时 通常是使用fput重定向 当我们要多个串口使用printf格式函数时 可以在写一个类似printf的函数 include
  • STM32学习笔记——EXIT(外部中断)

    目录 一 什么是中断系统 二 中断系统执行流程 三 NVIC 提供中断控制器 CPU的好助手 1 NVIC的作用 STM32 2 NVIC优先级分组 四 EXTI 外部中断 1 EXTI简介 2 EXTI基本结构 3 EXTI框图 五 AF
  • 项目:水温控制系统

    使用到了 KEY OLED LED BEEP 该项目已经压缩在了E盘 stm32正点原子资料文件夹 硬件平台 大二在精密实验室焊的32主板 小知识 在以用前还要再次extern float 没有unsigned float
  • STM32F407ZGTE6利用模拟PWM驱动42步进电机(与pwm驱动led闪烁一样)

    前言 lmf老师来帮我解决42步进电机 预转不转 的问题 利用引脚模拟pwm波形驱动42步进电机 成功找到原因 还顺便给我留下了另一种驱动思路 直接引脚驱动 解决问题 42电机原地不动的原因是 线接触不良 采用杜邦线拼接 拟解决方案 重新换
  • STM32读取编码器数据(STM32-1)

    编码器 encoder 是将信号或数据进行编制 转换为可用以通讯 传输和存储的信号形式的设备 按照外形可以分为实心轴和空心轴 按照工作原理编码器可分为增量式和绝对式两类 增量式编码器是将位移转换成周期性的电信号 再把这个电信号转变成计数脉冲
  • STM32 串口接收中断 代码

    1 代码介绍 今天做项目 要用到串口中断接收 在网上一搜 大量代码 copy过来编译没问题 但是运行起来才发现不能产生中断 于是决定自己搞搞 用了半天的功夫 终于有结果了 2 共同讨论 代码属个人编写 自有不足之处 望大家指出 3 单片机型
  • STM32F103C8T6驱动舵机SG90 配置定时器TIM2,TIM3,TIM4的多种重映射模式下的不同IO口

    STM32F103C8T6驱动舵机SG90 配置定时器TIM2 TIM3 TIM4的多种重映射模式下的不同IO口 1 使用到的工具介绍 2 整个简单介绍 3 程序的介绍 1 使用到的工具介绍 keil5 烧写软件FlyMcu exe 硬件为
  • stm32定时器输入捕获配置步骤及实例笔记

    输入捕获的一般配置步骤 初始化定时器和通道对应IO的时钟 初始化IO口 模式为输入 GPIO Init GPIO InitStructure GPIO Mode GPIO Mode IPD 初始化定时器ARR PSC TIM TimeBas
  • 45_SDIO基础知识

    目录 SDIO协议简介 SDIO设备分类 SD卡物理结构 SD卡寄存器列表 SDIO总线拓扑 SDIO总线 SDIO总线协议 SDIO命令 命令格式 命令类型 响应 SD卡的操作模式 卡识别模式 数据传输模式 STM32 SDIO功能框图

随机推荐

  • 【RabbitMQ教程】- 实现延时队列

    目录 RabbitMQ实现延时队列 Maven依赖 代码实现 1 插件方式 RabbitMQ实现延时队列 RabbitMQ实现延时队列有两种方式 1 死信队列 2 下载插件 Maven依赖 Maven依赖
  • 力扣(LeetCode)每日一题 1921. 消灭怪物的最大数量

    只需要三个步骤 1 初始化 2 排序 3 遍历 class Solution public int eliminateMaximum int dist int speed 初始化 每个怪物到达城市所需要的回合数目 int times new
  • QEMU-运行一个字符驱动(3)

    上面是我的微信和QQ群 欢迎新朋友的加入 上代码 chardriver c include
  • Web 组件代码示例

    在本文中 我提供了对 Web 组件是什么以及如何使用它们的基本理解 使用现实生活中的示例 我将展示 Web 组件如何帮助使应用程序更可预测和更易于维护 此外 我分享了有关如何通过将 HTML CSS JS 代码隔离为 等待它 隔离的组件以供
  • 二叉查找树 数组实现 ArrayBinarySearchTree

    数组实现的二叉查找树 适用查找操作频繁 插入 删除操作较少的情况 代码 using System namespace DataStructure 数组实现的二叉查找树 输入一个数组 获得一颗二叉查找树 找parent 和 child ind
  • 华为OD机试 - 文件目录大小(Java & JS & Python)

    题目描述 一个文件目录的数据格式为 目录id 本目录中文件大小 子目录id列表 其中目录id全局唯一 取值范围 1 200 本目录中文件大小范围 1 1000 子目录id列表个数 0 10 例如 1 20 2 3 表示目录1中文件总大小是2
  • c++ 实现信号和槽机制

    主要通过 c 实现类型QT 信号和槽的问题 设计思路 1 利于模板函数和模板类的 通用性 2 BInd的时候 讲槽函数指针保存 触发时调用 代码如下 include
  • 用python函数写斐波那契数列的函数_python—函数进阶-斐波那契数列

    上次说到生成器的调用next 这样很不方便 需要手动调 我们一般是循环着调 while for都可以 a i for i in range 5 for i in a print i 0 1 2 3 4 执行结果 和手动调的区别是没了的话就会
  • [高级数据结构C++] 线段树(区间和的查询与修改)

    算法竞赛 file author jUicE g2R qq 3406291309 彬 bin 必应 一个某双流一大学通信与信息专业大二在读 brief 一直在算法竞赛学习的路上 copyright 2023 9 COPYRIGHT 原创技术
  • vue-quill-editor 富文本编辑器上传图片自base64改为上传到服务器

    就是要一个富文本编辑器 然后有图片上传功能 因为vue quill editor是将图片转为base64编码 所以当图片比较大时 提交后台时参数过长 导致提交失败 vue quill editor引入过程略 我其它文章里面有 废话不多说 上
  • 实战搞定gRPC之移植篇

    一 交叉编译protobuf 1 配置交叉编译器 export PATH PATH opt EC20 crosstool ql ol crosstool sysroots x86 64 oesdk linux usr bin opt EC2
  • C++安全编码-第一章

    1 优先C 特性而不是C特性 std string std string view char std vector std array 原生数组 namespace static 引用 智能指针 普通指针 iostream printf s
  • python+Selenium+无界面启动

    Selenium无界面启动 方法一 selenium version 3 141 0 谷歌浏览器 version 87 0 4280 88 正式版本 64 位 from selenium import webdriver opt webdr
  • 嵌入式C语言(一)

    嵌入式 C语言 一 一 Linux基础操作及C语言简单语法 万丈高楼平地起 学习还得靠自己 1 C语言的本质 C语言的本质就是操作内存 2 关键字和标识符 关键字 关键字是指编译器中已经定义好的特殊单词 注意区分大小写 标识符 标识符是用户
  • 6 个高影响力的大型语言模型应用,探索当今可行的现实且高影响力的LLM

    1 Research Assistant 研究助理 如果您曾经写过文章 论文或博客 您就会知道工作的很大一部分在于筛选大量出版物 确定要阅读并理解的相关研究可能是一项艰巨的任务 技术出版物的市场是巨大的 每个月提交到arXiv 的论文数量几
  • leetcode

    文章目录 买卖股票的最佳时机 买卖股票的最佳时机 II 买卖股票的最佳时机 III 买卖股票的最佳时机 IV 最佳买卖股票时机含冷冻期 买卖股票的最佳时机含手续费 买卖股票的最佳时机 前i天的最大收益 max 前i 1天的最大收益 第i天的
  • okhttp3源码解析(3)-拦截器 II

    okhttp3源码解析 3 拦截器 II 前言 上篇博文从RealInterceptorChain开始 讲解了RetryAndFollowUpInterceptor和BridgeInterceptor两个拦截器 后面还有三个系统拦截器 其实
  • Flink执行流程

    1 flink关键字对比spark flink spark operator RDD operator chain stage data flow DAG one to one 窄依赖 redistribute 宽依赖 subtask ta
  • 如何使用 Parallels Desktop 虚拟机在 Mac 上安装 Windows 系统!

    一 下载安装 Parallels Desktop for Mac 如果您刚开始接触 Parallels Desktop for Mac 请点击下载最新版本 访问 如果已是 Parallels Desktop 用户 请继续执行后续步骤 二 自
  • STM32使用bool型变量

    环境Keil5 编译器 include