1
1

00:00:02,659  -->  00:00:08,280
所以我知道這堂課不能沒有結束
2

2

00:00:06,090  -->  00:00:10,919
解釋我們之間的差異
3

3

00:00:08,280  -->  00:00:12,719
預處理器和預處理器
4

4

00:00:10,919  -->  00:00:15,710
包含在我們的這個腦袋中
5

5

00:00:12,719  -->  00:00:18,390
添加以替換我們的預處理器
6

6

00:00:15,710  -->  00:00:21,330
特別是這些差異在於
7

7

00:00:18,390  -->  00:00:24,449
關鍵字volatile的形式和
8

8

00:00:21,330  -->  00:00:28,740
您int32的數據類型
9

9

00:00:24,449  -->  00:00:31,650
讓我們再次打開該頭文件
10

10

00:00:28,740  -->  00:00:33,930
告訴你我的意思我們可以打開它
11

11

00:00:31,650  -->  00:00:36,210
與之並列
12

12

00:00:33,930  -->  00:00:40,080
點擊並進入新的垂直頂部
13

13

00:00:36,210  -->  00:00:42,180
組，我們都打開了
14

14

00:00:40,080  -->  00:00:43,980
只寫了所有的頭文件
15

15

00:00:42,180  -->  00:00:47,040
像這樣，讓我們看看這個
16

16

00:00:43,980  -->  00:00:50,460
任何隨機的人都應該這樣工作
17

17

00:00:47,040  -->  00:00:53,610
我們為此地址分配了該名稱
18

18

00:00:50,460  -->  00:00:56,400
這就是他們的操作方式或編輯方式
19

19

00:00:53,610  -->  00:01:00,150
他們首先在這個頭文件中完成了
20

20

00:00:56,400  -->  00:01:03,000
得到了關鍵字volatile，而不是
21

21

00:01:00,150  -->  00:01:06,899
使用unsigned int他們正在使用你
22

22

00:01:03,000  -->  00:01:10,439
int 32牙齒唯一相似的是
23

23

00:01:06,899  -->  00:01:11,939
地址名稱，基本記住
24

24

00:01:10,439  -->  00:01:13,530
我只是在這裡隨機取一個
25

25

00:01:11,939  -->  00:01:16,229
因為我不想向下滾動
26

26

00:01:13,530  -->  00:01:20,249
用這個找到這個特定的地址
27

27

00:01:16,229  -->  00:01:22,799
unsigned int一詞，表示無符號
28

28

00:01:20,249  -->  00:01:25,999
像名稱一樣的整數表示
29

29

00:01:22,799  -->  00:01:28,740
差異實際上是大小
30

30

00:01:25,999  -->  00:01:31,530
皮質上的無符號整數和
31

31

00:01:28,740  -->  00:01:35,490
微控制器受影響的兩位
32

32

00:01:31,530  -->  00:01:41,549
大小他們給頭髮上的名字
33

33

00:01:35,490  -->  00:01:44,520
int 32 T也是32位，但這
34

34

00:01:41,549  -->  00:01:47,729
名稱明確說明
35

35

00:01:44,520  -->  00:01:49,679
應該是32位，所以如果我們要
36

36

00:01:47,729  -->  00:01:52,520
在另一個宏控制器上運行
37

37

00:01:49,679  -->  00:01:56,609
沒有32位未簽名
38

38

00:01:52,520  -->  00:01:58,590
整數此特定預處理器
39

39

00:01:56,609  -->  00:02:01,530
可以確保我們
40

40

00:01:58,590  -->  00:02:03,929
正在寫我們的名字分配給32
41

41

00:02:01,530  -->  00:02:06,179
有點價值，但是因為我們
42

42

00:02:03,929  -->  00:02:09,209
微控制器以及所有cortex-m
43

43

00:02:06,179  -->  00:02:11,820
微控制器的無符號整數是
44

44

00:02:09,209  -->  00:02:15,120
以相同的方式32位是明智的，但
45

45

00:02:11,820  -->  00:02:15,990
如明確指出的那樣，這是未簽名的
46

46

00:02:15,120  -->  00:02:18,150
32位
47

47

00:02:15,990  -->  00:02:21,780
因為我們已經確定這兩個
48

48

00:02:18,150  -->  00:02:26,070
簽名端的單詞，您處於第二狀態
49

49

00:02:21,780  -->  00:02:28,040
是相同的，那麼我們應該知道
50

50

00:02:26,070  -->  00:02:31,050
實際的區別在於關鍵詞
51

51

00:02:28,040  -->  00:02:32,880
當一個對像被聲明為
52

52

00:02:31,050  -->  00:02:35,160
易失性，我們告訴編譯器
53

53

00:02:32,880  -->  00:02:37,130
這些對象可能會改變，即使
54

54

00:02:35,160  -->  00:02:39,780
程序中沒有語句
55

55

00:02:37,130  -->  00:02:42,390
影響這一變化的一個例子
56

56

00:02:39,780  -->  00:02:44,820
可以在連接的輸入設備中找到
57

57

00:02:42,390  -->  00:02:46,680
例如微控制器
58

58

00:02:44,820  -->  00:02:49,770
我們的兩個按鈕或開關
59

59

00:02:46,680  -->  00:02:52,680
按下發射台板中的位
60

60

00:02:49,770  -->  00:02:54,900
這些的電位器F的數據寄存器
61

61

00:02:52,680  -->  00:02:57,690
兩個開關連接改變
62

62

00:02:54,900  -->  00:03:00,210
自動不帶任何聲明
63

63

00:02:57,690  -->  00:03:03,900
導致此更改的程序，因為
64

64

00:03:00,210  -->  00:03:06,810
像GPIO莢這樣的實例是
65

65

00:03:03,900  -->  00:03:08,790
總是聲明為volatile
66

66

00:03:06,810  -->  00:03:12,030
阻止編譯器優化
67

67

00:03:08,790  -->  00:03:14,310
訪問這些寄存器時請注意
68

68

00:03:12,030  -->  00:03:17,420
編譯器無法優化對
69

69

00:03:14,310  -->  00:03:19,920
易失性對象的例子
70

70

00:03:17,420  -->  00:03:22,620
優化是編譯器讀取時
71

71

00:03:19,920  -->  00:03:25,050
將對象的值存入寄存器
72

72

00:03:22,620  -->  00:03:27,240
與寄存器一起工作
73

73

00:03:25,050  -->  00:03:29,820
最終將值寫入
74

74

00:03:27,240  -->  00:03:32,250
註冊到對象的那種
75

75

00:03:29,820  -->  00:03:35,040
不允許優化
76

76

00:03:32,250  -->  00:03:37,860
易失性對象與易失性對象
77

77

00:03:35,040  -->  00:03:39,870
編譯器只能讀取或寫入
78

78

00:03:37,860  -->  00:03:42,990
他們沒有玩
79

79

00:03:39,870  -->  00:03:45,420
他們在登記中的重要性
80

80

00:03:42,990  -->  00:03:50,390
當我們運行時可以看到volatile關鍵字
81

81

00:03:45,420  -->  00:03:50,390
我們的代碼處於更高的優化級別
