本文适合刚刚入门的ST新手阅读,高手就不需要看了。哈哈 首先说一下编程过程中几个步骤吧 第一,选择一门语言,C语言或汇编语言,嵌入式编程一般目前流行还是C,这个需要基础与时间 第二读懂了解 MCU的寄存器各寄存器的功能,尤其是一些IO口设置,各模块时钟设置比如定时器,I2C,同步异步串口,PWM等等,以前的话51的话没有这样设置。而现在MCU基本上各模块时钟都分开了。这个可以看官方数据说明书就可以了。 其实程的目的就是设置一系列寄存器.并根据你设计程序流程去执行它,期间可能加入了你设计好的一些算法,和数学公式。进行计算,或执行。 第三,你有一块你的实验板就如这次STM32推的F429MDK的数据类型及两个重要关键词volatile& const" title="KEIL MDK的数据类型及两个重要关键词volatile& const" style="border: 0px; max-width: 100%; list-style: none;">,你还需要下载程序的编程器。就是把编译器编译好的代码下载到你的目标实验板上,不过ST推的多数实验班都是自带USB串口的程序下载器。比如STM32F429就自带了 第四,你还需要了解的是编译器,编译器的数据类型一些定义,及有些编译器的可能自带内建函数,这个不必须了解。否则无法编程。 本文主要就介绍STM32的数据类型的基础知识。以及一些关键词的意义。 ▲在KELI MDK数据类型中进了如下定义 char占用1个字节 short int占用2字节 int占用4字节 long占用4字节 long int占用4字节 float占用4字节 double占用8字节 即有如下宏定义 typedef unsigned char uint8; // 无符号8位字符型变量 typedef signed char int8; // 有符号8位字符型变量
typedef unsigned short uint16; // 无符号16位短整型变量
typedef signed short int16; // 有符号16位短整型变量
typedef unsigned int uint32; // 无符号32位整型变量
typedef signed int int32; // 有符号32位整型变量 typedef float fp32; // 单精度浮点数(32位长度) typedef double fp64; // 双精度浮点数(64位长度)
注:C语言中的种类数据:整型:int short long 实型:float, double 。 其中,Unsigned 为无符号, signed 有符号。 ▲STM32的数据类型的宏定义 STM32采用了大量的固件库,其中在2.0库中有24个数据类型如下
typedef unsigned char u8;0~255一字节 typedef signed char s8;-128~127 typedef volatile unsigned char vu8; typedef volatile signed char vs8; typedef unsigned char const uc8; typedef signed char const sc8; typedef volatile unsigned char const vuc8; typedef volatile signed char const vsc8; typedef unsigned short u16; 0~65535两字节 typedef signed short s16; -32768~32767两字节 typedef volatile unsigned short vu16; typedef volatile signed short vs16; typedef unsigned short const uc16; typedef signed short const sc16; typedef signed short const sc16; typedef volatile unsigned short const vuc16; typedef volatile signed short const vsc16; typedef unsigned long u32; 0~(2^32-1)四字节 typedef signed long s32; typedef signed long const sc32; typedef volatile unsigned long const vuc32; typedef volatile signed long const vsc32; 对部分数据类型后面作了注释,其它类型类推。 |