0
1
00:00:02,570 --> 00:00:12,650
因此，找出GPIO Port-D連接到外圍設備的時鐘是我們必須參考的參考。
1

2
00:00:12,650 --> 00:00:17,990
手冊，在Keil uVision中，您只需單擊書籍下方，然後它將為您提供所有參考
2

3
00:00:17,990 --> 00:00:21,110
您擁有的特定微控制器。
3

4
00:00:21,110 --> 00:00:22,720
所以我們在這裡專案
4

5
00:00:22,760 --> 00:00:28,850
我單擊書籍，獲得所有參考文件，然後單擊此處的參考手冊。
5

6
00:00:29,710 --> 00:00:32,130
讓我們看看。
6

7
00:00:32,490 --> 00:00:33,200
OK.
7

8
00:00:33,250 --> 00:00:34,800
談到寄存器
8

9
00:00:34,810 --> 00:00:44,210
這不是我們想要的。因此，我們單擊數據表，以便從該圖中可以看到通過啟用
9

10
00:00:45,020 --> 00:00:54,300
我們可以看到GPIO ABCDEH已連接到此總線，即AHB1。
10

11
00:00:54,590 --> 00:01:00,440
因此，我們必須訪問此總線，然後切換特定的引腳或更改特定的引腳
11

12
00:01:00,730 --> 00:01:03,670
在其對應於端口D的寄存器中。
12

13
00:01:03,700 --> 00:01:09,110
如您所見，端口A連接到AHB1，端口B
13

14
00:01:09,110 --> 00:01:11,040
同樣。
14

15
00:01:11,270 --> 00:01:13,550
所以我們這裡需要這輛公共汽車。
15

16
00:01:13,550 --> 00:01:15,600
叫做AHB1總線
16

17
00:01:15,890 --> 00:01:20,300
因此，我們要做的是轉到參考手冊，然後看一下
17

18
00:01:20,300 --> 00:01:22,290
寄存器或AHB1
18

19
00:01:22,460 --> 00:01:28,790
寄存器將告訴我們寄存器中的哪個特定位對應於時鐘訪問
19

20
00:01:28,790 --> 00:01:30,170
到D港
20

21
00:01:30,260 --> 00:01:31,920
因此，我們將這樣做。
21

22
00:01:31,940 --> 00:01:34,480
所以這就是您知道的，這只是為了讓我們做好準備。
22

23
00:01:34,490 --> 00:01:39,560
在本課程中，我不會遍歷數據手冊。這只是告訴你如何
23

24
00:01:40,640 --> 00:01:44,380
當您不熟悉某個特定板子時，您會很快完成工作。
24

25
00:01:44,450 --> 00:01:50,270
因此，我們知道了端口的連接位置，也知道了該端口連接的時鐘總線。
25

26
00:01:50,270 --> 00:01:50,740
對。
26

27
00:01:50,750 --> 00:01:54,980
我將其最小化，我們稱其為AHB。
27

28
00:01:55,000 --> 00:01:58,940
因此，我將在這裡參考參考手冊。
28

29
00:01:59,050 --> 00:02:04,110
我只是去搜尋
29

30
00:02:04,260 --> 00:02:06,880
AHB1
30

31
00:02:07,260 --> 00:02:10,050
讓我們看看它能給我們帶來什麼。在RCC寄存器下。
31

32
00:02:10,080 --> 00:02:13,430
我們在這裡找到AHB重置寄存器。
32

33
00:02:13,560 --> 00:02:19,860
因此，對於這些寄存器，我們對這一特定的寄存器感興趣，該寄存器用於設置和重置
33

34
00:02:20,640 --> 00:02:33,560
各種AHB外圍設備。因此，我將在此處單擊，AHB1表示使用此寄存器的位1來設置或重置GPIOA。
34

35
00:02:33,560 --> 00:02:44,060
有點零抱歉。位1對應於GPIOB，然後位2 C對應，然後位3對應於D。
35

36
00:02:44,340 --> 00:02:48,010
但是我們想要的是AHB使能寄存器。
36

37
00:02:48,030 --> 00:02:52,010
應該有一個使能寄存器進行複位。
37

38
00:02:52,020 --> 00:02:53,220
我們要啟用。
38

39
00:02:53,220 --> 00:03:05,490
所以我要在這裡向下滾動...就在這裡，AHB1 ENR這是外設時鐘使能
39

40
00:03:05,490 --> 00:03:06,400
寄存器。
40

41
00:03:06,450 --> 00:03:10,640
這就是我們用來啟用外設時鐘的功能。
41

42
00:03:10,870 --> 00:03:16,150
在這裡，您可以看到第三位對應於GPIOD
42

43
00:03:16,530 --> 00:03:24,000
因此，如果啟用三個，那麼我們將提供對Portd的時鐘訪問以驗證這一點，您實際上可以
43

44
00:03:24,000 --> 00:03:27,720
來這裡看看傳說，看看它說了什麼。
44

45
00:03:27,790 --> 00:03:30,440
它是三個，所以說第三個GPIODEN
45

46
00:03:30,840 --> 00:03:36,040
如果將位三設置為零，則禁用到端口D的時鐘。
46

47
00:03:36,060 --> 00:03:40,610
如果位3設置為1，則啟用端口D的時鐘。
47

48
00:03:40,650 --> 00:03:42,800
這就是我們要做的。
48

49
00:03:43,560 --> 00:03:48,420
因此，我們將在這裡訪問此寄存器，並且現在要進行操作。
49

50
00:03:48,650 --> 00:03:51,290
我可以在這裡留下一些筆記。
50

51
00:03:51,300 --> 00:03:53,730
我會寫。
51

52
00:03:54,130 --> 00:03:56,290
AHB1 EN
52

53
00:03:56,370 --> 00:03:58,990
所以我們需要這個。
53

54
00:03:59,240 --> 00:04:08,300
所以現在我們知道了GPIOD連接到哪條總線，並且我們知道了板載LED
54

55
00:04:08,300 --> 00:04:10,010
連接到GPIOD。
55

56
00:04:10,390 --> 00:04:18,440
然後，通過啟用AHB1總線中的第3位，然後使時鐘訪問GPIOD。
56

57
00:04:18,620 --> 00:04:26,990
接下來，我們必須找到GPIOD的哪些特定引腳，我們可以找出四個LED並做
57

58
00:04:26,990 --> 00:04:33,480
我們需要STM32發現板的用戶指南。
58

59
00:04:33,500 --> 00:04:35,550
因此，這還不存在。
59

60
00:04:35,610 --> 00:04:42,160
因為它與發現板或核有關，所以與特定的原型板有關。
60

61
00:04:42,160 --> 00:04:44,230
與MCU本身無關。
61

62
00:04:44,420 --> 00:04:48,580
因此，Keil uVision不會填充此類信息。要做到這一點
62

63
00:04:48,590 --> 00:04:54,300
我要去瀏覽器，然後去搜索，我要去搜索
63

64
00:04:54,310 --> 00:05:00,250
STM32F411迪斯科用戶指南在這裡。如果您的是F40，只需輸入
64

65
00:05:00,300 --> 00:05:09,430
您按下Enter鍵，然後可以轉到ST網站，然後它將您帶到這裡。這就是董事會。
65

66
00:05:09,450 --> 00:05:13,100
我們正在尋找的是電路板的示意圖。
66

67
00:05:16,990 --> 00:05:22,210
然後我們在這裡找到LED連接。
67

68
00:05:22,270 --> 00:05:23,420
好的，看起來像這樣。
68

69
00:05:23,420 --> 00:05:34,840
因此，如我們所見，我將進行放大，將LED分別連接到PD15，PD14，PD13和12。
69

70
00:05:35,030 --> 00:05:35,920
是的
70

71
00:05:36,000 --> 00:05:41,050
它說什麼顏色嗎？是的，它說綠色連接到PD12，橙色是
71

72
00:05:41,050 --> 00:05:46,180
PD13，紅色為PD14，藍色為PD15。
72

73
00:05:46,180 --> 00:05:50,190
因此，我只是要注意這一點。
73

74
00:05:50,350 --> 00:05:55,280
我們將通過以下方式製定完整的董事會支持計劃：
74

75
00:05:55,620 --> 00:05:58,570
所有這些將被自動化。
75

76
00:05:58,660 --> 00:06:00,670
現在讓我們來看看我們擁有什麼。
76

77
00:06:00,670 --> 00:06:06,150
我們知道引腳的端口，也知道端口上的引腳，即portD
77

78
00:06:06,210 --> 00:06:08,500
我們知道這四個引腳。
78

79
00:06:08,500 --> 00:06:15,330
因此，我們要做的是最後一次訪問數據表，找出
79

80
00:06:15,340 --> 00:06:16,760
模式寄存器
80

81
00:06:16,840 --> 00:06:24,910
我們需要啟用以將這些引腳轉換為輸出引腳，然後還要檢查
81

82
00:06:25,000 --> 00:06:26,620
輸出數據寄存器
82

83
00:06:26,770 --> 00:06:30,650
我們需要進行切換才能打開和關閉這些引腳。
83

84
00:06:30,760 --> 00:06:33,570
這是我們最後一次進入數據表。
84

85
00:06:33,910 --> 00:06:39,380
所以我想我一直保持開放狀態，所以我就下來了，這就是這裡。
85

86
00:06:40,350 --> 00:06:48,860
我要做的是。我要看一下模式寄存器，我將在這裡再輸入模式R
86

87
00:06:48,860 --> 00:06:50,810
它說的是GPI0模式R。
87

88
00:06:51,280 --> 00:06:52,820
我將點擊這裡。
88

89
00:06:52,970 --> 00:06:56,320
我們來看一下模式寄存器
89

90
00:06:56,510 --> 00:07:01,950
是32位寄存器，但是僅提供15個引腳。
90

91
00:07:02,060 --> 00:07:07,180
這意味著每個引腳需要兩位。
91

92
00:07:07,630 --> 00:07:11,170
因此，讓我們看看它說的是什麼，我們在這裡有前兩位。
92

93
00:07:11,170 --> 00:07:14,150
稱為模式寄存器零，模式R0，
93

94
00:07:14,180 --> 00:07:17,520
然後是模式R1，R2，R3
94

95
00:07:17,720 --> 00:07:19,600
等等等等。
95

96
00:07:19,610 --> 00:07:25,880
因此，要了解這意味著什麼，我們可以在這裡看到它說這些位是由軟件編寫的，用於配置
96

97
00:07:25,940 --> 00:07:29,570
IO方向模式，方向模式
97

98
00:07:29,780 --> 00:07:38,150
當然，這意味著您要使用模擬模式，輸入模式，輸出模式還是其他功能
98

99
00:07:38,150 --> 00:07:42,580
模式，例如PWM或串行端口。
99

100
00:07:42,580 --> 00:07:49,160
因此，讓我們看一下它在這裡說的一般輸出模式，將其設置為單個輸出。
100

101
00:07:49,380 --> 00:07:53,610
然後，您必須將0 1設置為特定模式。
101

102
00:07:53,660 --> 00:07:56,460
因此，讓我們看看我將要過來。
102

103
00:07:56,660 --> 00:08:00,810
因此，此模式0，對應於引腳0。
103

104
00:08:01,100 --> 00:08:07,520
此處的GPIOx表示X代表我們擁有的各種端口。這就是為什麼在這裡
104

105
00:08:07,520 --> 00:08:17,000
我們先寫X等於A到E，然後寫H。所以我們在尋找GPIOD。所以MODER0對應
105

106
00:08:17,000 --> 00:08:19,320
到GPIOD引腳0
106

107
00:08:19,330 --> 00:08:31,870
這一個對應於引腳1 2 3 4 5 6 7 8 9 10 11 12 13 14 15。
107

108
00:08:31,910 --> 00:08:40,170
因此，我們需要其中的最後四個。因此，從這一點可以看出將引腳15設置為輸出模式
108

109
00:08:40,180 --> 00:08:49,370
那麼我們必須向該寄存器的第30位寫入1，並將第14位設置為模式14對應於該引腳，
109

110
00:08:49,370 --> 00:08:56,390
因此要設置14，我們必須寫該寄存器的1至28位。設置銷
110

111
00:08:56,390 --> 00:09:02,360
13我們必須向寄存器的第二十六位寫入1。
111

112
00:09:02,480 --> 00:09:04,690
因此，我們接下來要做。
112

113
00:09:04,700 --> 00:09:12,290
這就是我們要通過寫入它們的模式寄存器來將這四個引腳設置為輸出引腳的方式。
113

114
00:09:12,620 --> 00:09:16,170
它說1意味著您將它們設置為輸出。
114

115
00:09:16,250 --> 00:09:24,750
因此，在我們離開之前，我們只需檢查輸出數據寄存器是否稱為ODR
115

116
00:09:24,810 --> 00:09:25,530
它在這裡。
116

117
00:09:25,600 --> 00:09:35,120
只是搜索，我單擊此處將我帶到那裡，然後在此處也是32位寄存器，但上面
117

118
00:09:35,120 --> 00:09:37,340
保留15位。
118

119
00:09:37,340 --> 00:09:41,710
因此，0到15對應於引腳0到15。
119

120
00:09:41,900 --> 00:09:51,530
因此，使用此設置更容易將這個高設置為15高，您所要做的就是將其設置為1到15。
120

121
00:09:51,550 --> 00:09:53,600
將引腳14設置為高。
121

122
00:09:53,900 --> 00:09:57,100
我們要做的就是在引腳14上寫一個。
122

123
00:09:57,290 --> 00:10:01,130
13、12、11和所有其他引腳也是如此。
123

124
00:10:01,340 --> 00:10:04,000
因此，我們也知道該怎麼做。
124

125
00:10:04,220 --> 00:10:05,470
就是這樣了。
125

126
00:10:05,610 --> 00:10:08,520
我們已經完成了數據手冊和參考文檔的分析。
126

127
00:10:08,690 --> 00:10:13,820
因此，現在我們直接跳轉到Keil uVision，完成代碼並測試其是否有效。
127

128
00:10:13,820 --> 00:10:15,060
肯定會上班。
128

129
00:10:15,150 --> 00:10:21,520
然後，我們開始探索我們真正要探索的東西。
129

130
00:10:22,860 --> 00:10:25,500
所以我覺得這段視頻有點長。
130

131
00:10:25,650 --> 00:10:28,060
讓我們進入這裡的下一課。
