STM32库变量与CMSIS变量对比.doc_第1页
STM32库变量与CMSIS变量对比.doc_第2页
STM32库变量与CMSIS变量对比.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

今天调试程序时,想观察一下变量的情况,突然发现平时经常移植别人程序时最容易忽略的一个致命问题,那就是忽略变量类型,这里有必要给大家一定知识啦,都是库里面的,非原创!3.0以后的版本中使用了CMSIS数据类型,变量的定义有所不同,但是出于兼容旧版本的目的,以上的数据类型仍然兼容。CMSIS的IO类型限定词如表 57所示,CMSIS和STM32固件库的数据类型对比如表 58所示。这些数据类型可以在STM32F10x_StdPeriph_Lib_V3.4.0LibrariesCMSISCM3DeviceSupportSTSTM32F10xstm32f10x.h中找到具体的定义,此部分定义如下。1 /*! STM32F10x Standard Peripheral Library old types (maintained for legacy purpose) */2 3 typedef int32_t s32; 4 5 typedef int16_t s16; 6 7 typedef int8_t s8; 8 9 typedef const int32_t sc32; /*! Read Only */10 11 typedef const int16_t sc16; /*! Read Only */12 13 typedef const int8_t sc8; /*! Read Only */14 15 typedef _IO int32_t vs32;16 17 typedef _IO int16_t vs16;18 19 typedef _IO int8_t vs8;20 21 typedef _I int32_t vsc32; /*! Read Only */22 23 typedef _I int16_t vsc16; /*! Read Only */24 25 typedef _I int8_t vsc8; /*! Read Only */26 27 typedef uint32_t u32;28 29 typedef uint16_t u16;30 31 typedef uint8_t u8;32 33 typedef const uint32_t uc32; /*! Read Only */34 35 typedef const uint16_t uc16; /*! Read Only */36 37 typedef const uint8_t uc8; /*! Read Only */38 39 typedef _IO uint32_t vu32;40 41 typedef _IO uint16_t vu16;42 43 typedef _IO uint8_t vu8;44 45 typedef _I uint32_t vuc32; /*! Read Only */46 47 typedef _I uint16_t vuc16; /*! Read Only */48 49 typedef _I uint8_t vuc8; /*! Read Only */CMSIS IO类型限定词IO类限定词#define描述_Ivolatile const只读访问_Ovolatile只写访问_IOvolatile读和写访问固件库与CMSIS数据类型对比固件库类型CMSIS类型描述s32int32_t易挥发只读有符号32位数据s16int16_t易挥发只读有符号16位数据s8int8_t易挥发只读有符号8位数据sc32const int32_t只读有符号32位数据sc16const int16_t只读有符号16位数据sc8const int8_t只读有符号8位数据vs32_IO int32_t易挥发读写访问有符号32位数据vs16_IO int16_t易挥发读写访问有符号16位数据vs8_IO int8_t易挥发读写访问有符号8位数据vsc32_I int32_t易挥发只读有符号32位数据vsc16_I int16_t易挥发只读有符号16位数据vsc8_I int8_t易挥发只读有符号8位数据u32uint32_t无符号32位数据u16uint16_t无符号16位数据u8uint8_t无符号8位数据uc32const uint32_t只读无符号32位数据uc16const uint16_t只读无符号16位数据uc8const uint8_t只读无符号8位数据vu32_IO uint32_t易挥发读写访问无符号32位数据vu16_IO uint16_t易挥发读写访问无符号16位数据vu8_IO uint8_t易挥发读写访问无符号8位数据vuc32_I uint32_t易挥发只读无符号32位数据vuc16_I uint16_t易挥发只读无符号16位数据vuc8_I uint8_t易挥发只读无符号8位数据stm32f10x.h文件中还包含了常用的布尔形变量定义,如:1 typedef enum RESET = 0, SET = !RESET FlagStatus, ITStatus;23 typedef enum DISABLE = 0, ENABLE = !DISABLE FunctionalState;45 #define IS_FU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论