Cプログラミング言語の急速な発展は、STM32のレビューを必要と

1.ビット操作
C言語のビット演算子の以下の6種類をサポート
。&:ビットAND
| :.ビット単位のORを
^:ビット単位の排他的論理和。
- :否定。
<<:左。を
>>:左。
注:オペレータ小さなドットが含まれていませんが角を左に、小さなポイントを無視してください

2.defineマクロ定義は、
プログラミングを容易にするために、ソースコードの可読性を向上させることができ、そのC言語プリプロセッサを定義します。
共通フォーマットます。#define識別子の文字列

3.ifdef条件

					#ifdef 标识符
					程序段1
					#else
					程序段2
					#endif

彼の役割は次のとおり識別子が定義されている場合にはそうでなければ2がコンパイルされるブロックは、プログラムセグメント1をコンパイルし、(通常の#defineコマンドによって定義されます)。
注:ここでの#elseブロック2はできません

別の形態

#if 标识符 
程序段1
#endif  

ブロックの識別子がすでに定義されている場合は、実行1

4.extern宣言変数

外部変数は、前または機能に配置することができ、変数や関数が別のファイルで定義されている表し、この変数や関数の中で他のモジュールで定義されたコンパイラの出会いへのヒントを探します。

注意ます。extern変数は、何度も宣言したが、一度だけ定義することができます。
ここに画像を挿入説明
構造体の
宣言フォーマット構造タイプ

格式:
struct 结构体名
{
	成员列表;
}变量名列表;

实例:
struct _GPIO
{
	int TMODER;
	int Tser;
}
**注:变量名列表结构体声明的结构体变量,可不写,以后再定义**
例如:struct _GPIO  age,number;//就定义了两个结构体变量age和number

構造体変数の参照方法を定義した後変数の構造部材であります

例如我们上面定义了的age结构体变量,我要输出他的成员变量Tser
那么应该写为
printf("%d",age.Tser);//也就是 结构体变量名.成员变量名,没什么特殊的

構造体のポインタ変数の定義

依然基于上面的_GPIO结构体
定义结构体指针变量:struct _GPIO  *age;
是的,只是结构体变量名前面加了*,但是要访问结构体变量成员时应该这样写
printf("%d",age->Tser);

6.typedefタイプの別名

typedefは、既存の名前のための新しいタイプを作成したり、カスタム変数を簡素化するタイプの別名になるために使用されています。エイリアスはkeil5で使用される構造の種類で最もtypedefを列挙タイプと定義されます。

struct _GPIO
{
	__IO uint32_TMODER;
	__IO uint32_Tser;
	......
}
此时我们定义一个上面的结构体应该这样定义
struct _GPIO age;


但是我们使用typedeftypedef  struct 
{
	__IO uint32_TMODER;
	__IO uint32_Tser;
	......
}GPIO
此时我们定义一个上面的结构体可以这样
GPIO age;
此时我们就定义了一个叫age的结构体变量
公開された11元の記事 ウォンの賞賛4 ビュー1409

おすすめ

転載: blog.csdn.net/OXOXOX6/article/details/104539833