typedef uint8_t u8;(stm32数据类型)

这篇具有很好参考价值的文章主要介绍了typedef uint8_t u8;(stm32数据类型)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在stm32单片机的库文件里有这么一段u8和u16的定义

typedef uint8_t  u8;

typedef uint16_t u16;


而uint8_t和uint16_t的定义是这样的

typedef unsigned          char uint8_t;
typedef unsigned short     int uint16_t;

意味着u8就是就是指代的unsigned char

意味着u16就是就是指代的unsigned short int

C语言之数据类型详解_c语言数据类型_supergirl091的博客-CSDN博客

typedef uint8_t u8;(stm32数据类型)

为什么这么定义?

u8-----可以理解为无符号的8位2进制的数据,就是11111111-00000000,注意这里全部是正数,没有负数,第一位并不是符号位,u就是unsigned char的首字母,8就是8个位的意思。

u16同理

这种写法能很容易的表明有几个位,8位?16位?而最常见的数据类型就是无符号,所以u8的使用频率非常高,每次都老老实实的写unsigned char有点太烦人了,于是用u8来替代,简明易懂。

在单片机和操作系统中 typedef 会经常用到,它可以为某一个类型自定义名称。和#define比较类似。但是又有不同的地方。

typedef 创建的符号只能用于数据类型,不能用于值。而#define 创建的符号可以用于值。
typedef 是由编译器来解释,而不是预处理器。
typedef 使用起来更加灵活。

typedef的4种常见用法:

一、给已定义的变量类型起个别名

二、定义函数指针类型

三、定义数组指针类型

四、定义数组类型

总结一句话:“加不加typedef,类型是一样的“,这句话可以这样理解:
没加typedef之前如果是个数组,那么加typedef之后就是数组类型;
没加typedef之前如果是个函数指针,那么加typedef之后就是函数指针类型;
没加typedef之前如果是个指针数组,那么加typedef之后就是指针数组类型;
typedef的4种常见用法_暴躁的野生猿的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-442664.html

到了这里,关于typedef uint8_t u8;(stm32数据类型)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flutter Dart FFI Pointer<Uint8>类型如何转成数组或String

    继上一次发布的 Flutter 直接调用so动态库,或调用C/C++源文件内函数 内容,最终我选择了第二种方式, 直接把整个 Native C++ 的项目源代码放进了 Flutter 工程里编译 (放在iOS的目录是因为它不支持自定义源码路径,Android是可以的)。这样的好处是 Android 和 iOS 两个平台都不需要

    2024年02月04日
    浏览(40)
  • uint16数据的读取以及转换为uint8数据显示

      Kinect相机产生的深度数据为uint16数据,16位无符号整型,图片显示一般为uint8数据,本文介绍如何正确读取Kinect深度数据以及将其转化为uint8数据进行显示。 读取uint16位数据 将uint16位数据转化为uint8数据的灰度图 1、直接使用np.uint8()进行转换。 2、把图片等比例缩放到0-2

    2024年02月14日
    浏览(28)
  • 32位 STM32 打印 uint64_t 类型

    测试代码,未整理,可参考!

    2024年02月11日
    浏览(31)
  • JS各种数据流之间的格式(ArrayBuffer、Uint8Array、Blob、 File、DataURL)相互转换及应用

    前端网页 File 上传、下载,Canvas 保存图片,Ajax 和 Fetch 二进制流传输,PDF 预览,浏览器上 WebAssembly 的应用 等等都需要到 ArrayBuffer 和 Blob 。 FileReader 对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要

    2024年02月08日
    浏览(34)
  • javascript(js)语法 将blob转arrayBuffer、arrayBuffer转Uint8Array、Uint8Array转String的方法

    1. blob转arrayBuffer的函数 2. arrayBuffer转Uint8Array的函数 3. Uint8Array转String的函数 测试上面三种方法

    2024年02月06日
    浏览(28)
  • 单片机入门基础:STM32 I/O类型及三种下载方式(完整版)

    这篇文章以上一篇文章为基础,做了补完,上一篇文章由于存在某些问题,已经隐藏 首先给大家科普一下什么是超链接 超链接(Hyperlink)是指在文档中通过某种方式嵌入的、可被点击的文本、图像或其他元素,它们通常用于在浏览器中跳转到其他文档、网页或资源。超链接

    2024年01月19日
    浏览(32)
  • C语言【自定义数据类型、typedef、动态内存分配】

    一、自定义数据类型。 ​ 关于下面讲到的所有自定义数据类型(enum、struct、union),有一点要说的是:定义类型不是声明变量,做这步操作时不分配内存,也不能在定义类型时赋值(枚举那个不是赋值,是做一个限定,赋值时赋限定之外的值也不报错。)。 1、typedef (给类

    2024年02月05日
    浏览(35)
  • OpenMV接收stm32单片机数据

    本篇文章将会分享如何用OpenMV接收到stm32单片机传来的数据。 OpenMV stm32 p4 PA3 p5 PA2 GND GND 代码如下(示例): 代码如下(示例): 本篇文章分享了博主在准备电赛期间所写的OpenMV接收stm32单片机传来的数据OpenMV程序和stm32单片机程序,有不足之处,还请斧正! 完整工程源码

    2024年02月15日
    浏览(33)
  • stm32常见数据类型

    s8 占用1个byte,数据范围 -2^7 到 (2^7-1) s16 占用2个byte,数据范围 -2^15 到 (2^15-1) s32 占用 4个byte,数据范围 -2^31 到 (231-1)231 = 2147483647 int64_t占用8个byte,数据范围 -2^63 到 (2^63-1) 2^63 = 9223372036854775807ll 2、无符号整型 u8 占用1个byte, 数据范围 0 - 2^8 u16 占用2个byte, 数据范围 0 - 2^16

    2024年02月14日
    浏览(26)
  • 使用STM32CubeProgrammer工具读取单片机Flash数据读取

    本文主要介绍,如何使用STM32CubeProgrammer工具读取和写入单片机Flash内部的数据,方便调试使用。 2.1 连接Stlink和单片机,点击“connect”进行连接 2.2 读取固定长度的数据 根据程序的大小,设置需要读取的字节数,如下图所示。点击“read”将单片机Flash中的数据读取到STM32Cube

    2024年02月12日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包