STM32 bool

发布者:CrystalRose最新更新时间:2024-08-13 来源: cnblogs关键字:STM32  bool 手机看文章 扫描二维码
随时随地手机看文章

STM32中基于库V3.5的头文件中,去掉了对bool类型变量的定义,而将它放在了文件stdbool.h中(d:Keil_v5ARMARMCCincludestdbool.h)

 

stdbool文件内容如下:

/* stdbool.h: ISO/IEC 9899:1999 (C99), section 7.16 */

/* Copyright (C) ARM Ltd., 2002
* All rights reserved
* RCS $Revision: 177844 $
* Checkin $Date: 2012-11-21 11:51:12 +0000 (Wed, 21 Nov 2012) $
* Revising $Author: drodgman $
*/

#ifndef __bool_true_false_are_defined
#define __bool_true_false_are_defined 1
#define __ARMCLIB_VERSION 5060001

#ifndef __cplusplus /* In C++, 'bool', 'true' and 'false' and keywords */
#define bool _Bool
#define true 1
#define false 0
#else
#ifdef __GNUC__
/* GNU C++ supports direct inclusion of stdbool.h to provide C99
compatibility by defining _Bool */
#define _Bool bool
#endif
#endif

#endif /* __bool_true_false_are_defined */


关键字:STM32  bool 引用地址:STM32 bool

上一篇:基于MDK的stm32实践过程中,debug的总结
下一篇:STM32 中断

推荐阅读最新更新时间:2026-01-25 18:09

为什么我学了几天 STM32 感觉一脸茫然?
如果你只有C语言基础就马上学习STM32,你一定会有这些疑惑: 为什么有这么多没见过的API函数?没见过的变量(寄存器)名称? 为什么工程除了main.c,还有这么多其它没见过的文件?它们有什么用? 什么是Flash?什么是RAM?什么是ROM? 什么是寄存器?什么是时钟?什么是中断?什么是定时器?什么是DMA? 什么是端口复用与重映射?什么是ADC?什么是PWM?什么是UART?什么是IIC?什么是SPI? 什么是原理图?什么是PCB?什么是晶振?什么是复位?什么是电平?什么是上拉下拉浮空? 为什么我的helloworld c语言程序不能下载到STM32中运行?为什么下载的固是.hex文件?.hex .bin .exe文件有什么
[单片机]
STM32 HAL库 模拟SPI驱动 DAC8560
网上关于DAC8560相关的模拟SPI驱动的资料少的可怜,甚至连DAC8560的中文资料都不多,更不要提用HAL库进行编程的了,这实在是一块冷门芯片,本文主要是介绍讲解STM32 HAL库使用模拟SPI驱动DAC8560。 首先是SPI相关的简介: SPI通信 高冠避役 · 800阅读 然后是用STM32CubeMx初始化模拟SPI的引脚: STM32CubeMx的GPIO输出的配置可以参考: STM32CubeMx GPIO口输出 高冠避役 · 960阅读 这里之所以是只用开三个GPIO输出来模拟SPI是因为它只用到了半双工通信。 我所用到的三个输出口分别对应8560上的三个SPI通信口。 SYNC:PA6 SCLK
[单片机]
<font color='red'>STM32</font> HAL库 模拟SPI驱动 DAC8560
STM32使用USB虚拟串口
通常我们使用STM32进行串口通信会选择其硬件串口,但在某些情况下串口会不够用,这个时候就可以选择USB的虚拟串口,这样可以增加一个串口。 USB是非常复杂的一个设备,要想完全搞懂它需要花费不少时间和精力。但去使用它却相对简单。这里我们使用STM32CubeMX构建一个初始工程,然后实现将我们从电脑发下来的东西原封不动地发回电脑,使用的芯片是STM32F103zet6。 USB需要配置两个地方,一个是Connectivity下勾选USB,在Mode下勾选Device,下面的参数保持默认即可。其他芯片类型的选项可能不同,选择有Device字样的就OK。 第二在Middleware下选择USB_DEVICE,在右边的下拉菜单选择C
[单片机]
STM32 嵌入式编程:一步一步走向成功
工程搭建: 1. 工程创建:使用STM32官方工具STM32CubeMx生成基于STM32F105RC的工程,工程中初步配置资源。 a) RCC 外部晶振 8 M,系统tick采用TIM7. b) 设置时钟配置最高72M。 c) 启动看门狗。 d) 启动SW调试口。 e) FreeRTOS,并创建3个任务,二值信号量,计数信号量,互斥信号量,消息队列。RTOS tick采用sys tick。 f) 官方库:STM32Cube FW_F1xx V1.8.0 g) 生成MDK-ARM的工程。 时钟配置72M 工程配置 生成的 2. Demo调试: a)
[单片机]
<font color='red'>STM32</font> 嵌入式编程:一步一步走向成功
详解STM32串口通信基本原理
设备之间通信的方式 一般情况下,设备之间的通信方式可以分成并行通信和串行通信两种。并行与串行通信的区别如下表所示。 串行通信的分类 1、按照数据传送方向,分为: 单工:数据传输只支持数据在一个方向上传输; 半双工:允许数据在两个方向上传输。但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;它不需要独立的接收端和发送端,两者可以合并一起使用一个端口。 全双工:允许数据同时在两个方向上传输。因此,全双工通信是两个单工通信方式的结合,需要独立的接收端和发送端。 2、按照通信方式,分为: 同步通信:带时钟同步信号传输。比如:SPI,IIC通信接口。 异步通信:不带时钟同步信号。比如:UAR
[单片机]
【菜鸟必看】STM32 串口接收不定长数据中断检测相关问题
今天给大家介绍STM32串口接受不定长数据中断检测的相关问题。能够推测,在UART收到最后一帧数据后,假如随后的一个数据帧的时长内未收到新的数据,则IDLE信号有效.假如数据包之间间隔大于一个数据帧,就能够用IDLE信号作为检测数据包完毕的标志. 运用DMA接管UART-Rx数据,当检测到DMA数据满,或DMA数据半满,或UART的IDLE时,读取DMA数据.假如DMA缓存空间足够大(大于最大的数据包长度),也能够只以IDLE信号为标志. 运用类似的思维,能够用3种方式达到. 启用UART的RXNE中断,运用RXNE中断检测第一数据帧,并读取第一个数据,其次启动DMA接管(DMA设置为Normal模式)和IDLE中断,并关闭RXN
[单片机]
STM32为何功耗低
我们在玩游戏时,通常运行质量高的、画质高、体验感好的游戏时,CPU 的风扇会转得非常的快,这是因为CPU 处在100% 运行的状态。那我们单片机在正常工作的时候,它里面的大部分功能都处于开启状态。最耗电的ARM 内核处在100% 全速运行状态。而平时CPU 只有5% 左右的工作量,可是单片机的内核却一直处在全速的状态,为什么我们没有感觉到有特别的变化呢?是因为单片机的性能远低于PC,产生的热量低,我们没有明显的感觉而已。 当我们开发的产品是使用电池供电时,降低功耗、让电量使用更持久就成了这个项目的一个重点,同样一块电池,产品能使用三个小时和使用一天是完全两种不同的体验感。STM32单片机为解决这部分用户的需求,做出了低功耗功
[单片机]
移植FreeRTOS到STM32(嵌入式入门)
引言 本文详细介绍如何移植FreeRTOS到STM32单片机上。移植操作系统是嵌入式开发的入门基础,单片机和嵌入式在物理上其实是一摸一样的,区别就是软件上嵌入式跑了操作系统而单片机没有。文本选用市场上最常见的STM32和FreeRTOS,为大家介绍如何移植操作系统到MCU上。 介绍 什么是 RTOS? 实时操作系统(Real-time operating system, RTOS),它会按照排序运行、管理系统资源,并为开发应用程序提供一致的基础。实时操作系统与一般的操作系统相比,最大的特色就是“实时性”,如果有一个任务需要执行,实时操作系统会马上(在较短时间内)执行该任务,不会有较长的延时。这种特性保证了各个任务的及时执行。
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved