今天调试程序时,想观察一下变量的情况,突然发现平时经常移植别人程序时最容易忽略的一个致命问题,那就是忽略变量类型,这里有必要给大家一定知识啦,都是库里面的,非原创!
3.0以后的版本中使用了CMSIS数据类型,变量的定义有所不同,但是出于兼容旧版本的目的,以上的数据类型仍然兼容。CMSIS的IO类型限定词如表 5‑7所示,CMSIS和STM32固件库的数据类型对比如表 5‑8所示。这些数据类型可以在STM32F10x_StdPeriph_Lib_V3.4.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h中找到具体的定义,此部分定义如下。
1 /*!< STM32F10x Standard PeripheralLibrary old types (maintained for legacy purpose) */
2
3typedef int32_t s32;
4
5typedef int16_t s16;
6
8
9typedef const int32_t sc32; /*!< Read Only */
10
11 typedef const int16_t sc16; /*!< ReadOnly */
12
13 typedef const int8_t sc8; /*!< ReadOnly */
14