DSP中的C语言(一)——int16、Uint16、float32等定义的用法和区别

1、int16、Uint16、float32等数据类型

以一个代码段进行说明,这个是DSP28335对与int16等的一个定义。

#ifndef DSP28_DATA_TYPES
#define DSP28_DATA_TYPES
typedef int                int16;
typedef long               int32;
typedef long long          int64;
typedef unsigned int       Uint16;
typedef unsigned long      Uint32;
typedef unsigned long long Uint64;
typedef float              float32;
typedef long double        float64;
#endif

这里先说一下 typedef 的作用,typedef 的作用是给一个变量类型重新命名,那么实际上述语句的作用是将关键字,int、long、long long等重新命名一遍。

在单片机编程中,不同的关键字所对应的数值范围是不一样。具体如下表所示,其中32位和64位的编译器较为常用。

因此,将代码部分一一对应即可理解int16等定义的具体作用:

  1. int16  有符号16位整型
  2. int32  有符号32位整型
  3. int64  有符号64位整型(这是DSP28335的一个卖点,拥有完成64位数据处理的能力)
  4. Uint16  无符号位16位整型 (将原本int16的符号位转化为数据位,参与数据计算,因此数据量扩大2倍,原本是±32767,变为0 - 65536)
  5. Uint32  无符号位32位整型
  6. Uint64  无符号位64位整型
  7. float32      32位浮点型 (浮点型讲解可以看看这篇博客https://blog.csdn.net/qq_44543508/article/details/101982298
  8. flota64      64位浮点型 

电机控制里面,坐标变换、SVPWM、PI调节器等都是包含小数运算的,一般用浮点型较多,而包含数据逻辑运算,比如Hall传感器的数据提取,一般用整型的较多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值