二进制和十进制
二进制 | 十进制 |
---|
0 | 1 |
10 | 2 |
11 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | 10 |
11111111 | 255 |
十六进制和十进制
十六进制 | 十进制 | 十六进制 | 十进制 |
---|
0 | 0 | B | 11 |
1 | 1 | C | 12 |
2 | 2 | D | 13 |
3 | 3 | E | 14 |
4 | 4 | F | 15 |
5 | 5 | 10 | 16 |
6 | 6 | 11 | 17 |
7 | 7 | 12 | 18 |
8 | 8 | 13 | 19 |
9 | 9 | 14 | 20 |
A | 10 | FF | 255 |
顺便了解一下 BCD 码。!
算术运算符
关系与算符
符号 | 作用 |
---|
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
== | 等于 |
!= | 不等于 |
逻辑运算符
位操作
符号 | 作用 |
---|
& | 按位与 |
I | 按位或 |
^ | 按位异或 |
~ | 按位取反 |
<< | 位左移 |
>> | 位右移 |

stm32 中的C语言变量
十六进制 | 十进制 | 十六进制 | 十进制 |
---|
数据类型 | 定义语句 | 占用空间 | 数值范围 |
位型 | bit | 一个字节 | 0,1 |
无符号字符型 | unsigned char | 一个字节 | 0 ~ 255 |
有符号字符型 | signed char | 一个字节 | - 128 ~ 127 |
无符号整型 | unsigned int | 2个字节 | 0 ~ 65535 |
有符号整型 | signed int | 2个字节 | - 32768 ~ 32767 |
无符号长整型 | unsigned long | 4个字节 | 0 ~ 4294967295 |
有符号长整型 | signed long | 4个字节 | - 21483648 ~21483647 |
浮点型 | float | 4个字节 | ±1076E-38 ~ ±3.40E+38 |
双精度浮点型 | double | 8个字节 | ±1076E-38 ~ ±3.40E+38 |


STM32 的C 语言中没有8051单片机的位定义(bit a),可以用 u8 断字节变量代替。
两个关键词 volatil 和 const
volatil ;易变的变量
简称易变的变量或易挥发的变量。加了volatil在每次取变量值时,编译器可自由的选择变量存放的位置,不需要时会被清除。中断函数和子函数中临时用的变量要加volatil,全局变量不要加volatil。
const ; 只读变量
const变量的值在程序运行期间不能改变,不能再赋值。这种变量称为常变量(constant variable)或是只读变量(read-only-variable)即存放在FLASH当中。在制作数据表之类的固定数据时要用这种类型。
数组的定义
unsigned char code name[5] = {0x7F,0x2F,0x0C,0x02,0x7F};
调用 ;
c = name[2];
unsigned char code name[2][3] = {{0x7F,0x2F,0x0C},{0x7F,0x2F,0x0C}};
调用 ;
c = name[1][2];
** 数组内容是16进制数,0x表示16进制