1
1

00:00:00,060  -->  00:00:04,980
Vì vậy, hãy nhìn vào các chức năng có liên quan
2

2

00:00:02,310  -->  00:00:07,429
chúng ta cần khi giao dịch với qq phải
3

3

00:00:04,980  -->  00:00:10,469
được tạo ra một cách rõ ràng trước khi anh ta có thể được sử dụng
4

4

00:00:07,429  -->  00:00:13,679
Q được tham chiếu bởi các tay cầm
5

5

00:00:10,469  -->  00:00:15,960
biến kiểu Q xử lý gạch dưới T
6

6

00:00:13,679  -->  00:00:18,630
theo cùng một cách chúng ta có xử lý semaphore
7

7

00:00:15,960  -->  00:00:21,480
gạch dưới t hẹn giờ xử lý và trường học
8

8

00:00:18,630  -->  00:00:23,990
nhóm chúng tôi có Q xử lý gạch dưới
9

9

00:00:21,480  -->  00:00:26,939
Q tạo hàm API tạo Q và
10

10

00:00:23,990  -->  00:00:29,580
trả về một tay cầm Q tham chiếu đến Q
11

11

00:00:26,939  -->  00:00:32,099
được tạo ra ba nghệ sĩ phân bổ
12

12

00:00:29,580  -->  00:00:34,380
RAM từ heap artist miễn phí khi Q
13

13

00:00:32,099  -->  00:00:36,960
được tạo ra RAM được sử dụng để giữ cả hai
14

14

00:00:34,380  -->  00:00:40,559
cấu trúc dữ liệu Q và các mục
15

15

00:00:36,960  -->  00:00:42,780
được chứa trong thùng Q nên X
16

16

00:00:40,559  -->  00:00:45,390
sẽ trả về giá trị null nếu không có
17

17

00:00:42,780  -->  00:00:47,280
Ram đủ để Q có thể
18

18

00:00:45,390  -->  00:00:49,559
được tạo ra vì vậy đây là những gì chức năng
19

19

00:00:47,280  -->  00:00:51,930
có vẻ như phải mất hai đối số và
20

20

00:00:49,559  -->  00:00:54,690
sau đó nó trả về một tham số đầu tiên
21

21

00:00:51,930  -->  00:00:57,360
đối số được gọi là độ dài uxq và
22

22

00:00:54,690  -->  00:00:59,789
đối số này về cơ bản là tối đa
23

23

00:00:57,360  -->  00:01:02,879
số lượng vật phẩm mà Q được tạo có thể
24

24

00:00:59,789  -->  00:01:06,390
giữ bất cứ lúc nào đối số tiếp theo
25

25

00:01:02,879  -->  00:01:09,299
được gọi là kích thước mục X mới và điều này
26

26

00:01:06,390  -->  00:01:11,460
là kích thước tính theo byte của từng mục dữ liệu
27

27

00:01:09,299  -->  00:01:14,220
có thể được lưu trữ trong Q nếu
28

28

00:01:11,460  -->  00:01:16,250
giá trị trả về là bây giờ thì Q không thể
29

29

00:01:14,220  -->  00:01:19,560
được tạo ra bởi vì không đủ
30

30

00:01:16,250  -->  00:01:22,290
bộ nhớ heap có sẵn cho các nghệ sĩ miễn phí
31

31

00:01:19,560  -->  00:01:24,180
phân bổ cấu trúc dữ liệu khác
32

32

00:01:22,290  -->  00:01:26,939
hơn thế có giá trị trả lại
33

33

00:01:24,180  -->  00:01:28,920
giữ lại rằng chúng ta có thể lưu trữ trong aq xử lý
34

34

00:01:26,939  -->  00:01:31,380
loại và chúng ta có thể sử dụng giá trị trả về này để
35

35

00:01:28,920  -->  00:01:35,070
tham khảo q này và cũng có khi bị buộc tội
36

36

00:01:31,380  -->  00:01:37,920
đã tạo chúng ta cũng có thể sử dụng aq reset
37

37

00:01:35,070  -->  00:01:40,079
một hàm được gọi là bộ thực thi
38

38

00:01:37,920  -->  00:01:42,150
có thể sử dụng chức năng này để thiết lập lại Q ngay bây giờ
39

39

00:01:40,079  -->  00:01:44,549
Hãy xem cách gửi giá trị cho Q
40

40

00:01:42,150  -->  00:01:48,360
Vì vậy, chúng tôi đã có ba api ở đây, chúng tôi đã có
41

41

00:01:44,549  -->  00:01:50,970
xq gửi xq gửi về phía trước và xq gửi
42

42

00:01:48,360  -->  00:01:52,920
phía sau và như bạn có thể đoán xq
43

43

00:01:50,970  -->  00:01:56,159
gửi trở lại được sử dụng để gửi dữ liệu đến
44

44

00:01:52,920  -->  00:01:58,530
trở lại hoặc đuôi của hàng đợi và xq
45

45

00:01:56,159  -->  00:02:01,380
gửi đến francis được sử dụng để gửi dữ liệu đến
46

46

00:01:58,530  -->  00:02:03,060
phía trước hoặc người đứng đầu hàng đợi và hơn
47

47

00:02:01,380  -->  00:02:05,700
ở đây cũng thực hiện gửi
48

48

00:02:03,060  -->  00:02:08,399
chỉ cần nói lời bào chữa và nó tương đương
49

49

00:02:05,700  -->  00:02:10,410
để nói lời bào chữa gửi đến phía sau
50

50

00:02:08,399  -->  00:02:13,200
hầu hết thời gian chúng ta sẽ sử dụng
51

51

00:02:10,410  -->  00:02:15,720
xin lỗi và API vì vậy hãy xem
52

52

00:02:13,200  -->  00:02:17,700
API và chức năng này mất
53

53

00:02:15,720  -->  00:02:20,010
ba đối số và đối số đầu tiên
54

54

00:02:17,700  -->  00:02:22,920
là tay cầm của hàng đợi
55

55

00:02:20,010  -->  00:02:25,230
dữ liệu đang được gửi hoặc ghi hàng đợi
56

56

00:02:22,920  -->  00:02:27,930
xử lý sẽ được giữ lại từ
57

57

00:02:25,230  -->  00:02:30,630
hàng đợi được tạo để khi chúng ta tạo một hàng đợi
58

58

00:02:27,930  -->  00:02:32,819
giá trị trả về là hàng xử lý
59

59

00:02:30,630  -->  00:02:34,620
sau đó một khi chúng ta tạo ra một hàng đợi chúng ta có
60

60

00:02:32,819  -->  00:02:36,750
hoàn tác và chúng ta có thể vượt qua hàng đợi
61

61

00:02:34,620  -->  00:02:38,940
xử lý ở đây như là đối số đầu tiên
62

62

00:02:36,750  -->  00:02:41,790
đối số thứ hai ở đây được đưa ra
63

63

00:02:38,940  -->  00:02:44,099
Tên PV mục để xếp hàng và đó là một con trỏ
64

64

00:02:41,790  -->  00:02:46,800
dữ liệu được sao chép vào hàng đợi
65

65

00:02:44,099  -->  00:02:48,900
kích thước của mỗi mục mà hàng đợi có thể
66

66

00:02:46,800  -->  00:02:51,120
giữ được thiết lập khi hàng đợi được tạo
67

67

00:02:48,900  -->  00:02:53,130
và đối số thứ ba đã đưa ra
68

68

00:02:51,120  -->  00:02:55,440
Tên X phải chờ và đây là
69

69

00:02:53,130  -->  00:02:57,900
về cơ bản lượng thời gian tối đa
70

70

00:02:55,440  -->  00:03:00,540
nhiệm vụ vẫn còn trong giai đoạn bị chặn
71

71

00:02:57,900  -->  00:03:02,610
chờ đợi không gian có sẵn trên
72

72

00:03:00,540  -->  00:03:06,209
khối lập phương nên một hàng đợi đã đầy
73

73

00:03:02,610  -->  00:03:08,940
và cả XQ được gửi ra phía trước và
74

74

00:03:06,209  -->  00:03:11,400
XQ được gửi trở lại và thực hiện đã gửi
75

75

00:03:08,940  -->  00:03:14,280
thực sự sẽ trở lại ngay lập tức nếu
76

76

00:03:11,400  -->  00:03:16,830
Văn bản X chờ là 0 và hàng đợi là
77

77

00:03:14,280  -->  00:03:19,350
đã đầy đủ thời gian khối được chỉ định
78

78

00:03:16,830  -->  00:03:21,390
trong thời gian đánh dấu như chúng ta sẽ thấy
79

79

00:03:19,350  -->  00:03:24,299
thời gian tuyệt đối nó đại diện là
80

80

00:03:21,390  -->  00:03:26,810
phụ thuộc vào tần số công nghệ và chúng tôi
81

81

00:03:24,299  -->  00:03:29,609
luôn có thể sử dụng các macro pdms hai tick
82

82

00:03:26,810  -->  00:03:31,500
để chuyển đổi thời gian được chỉ định trong
83

83

00:03:29,609  -->  00:03:33,299
mili giây vào thời gian quy định trong
84

84

00:03:31,500  -->  00:03:35,790
tick như chúng tôi đã làm với một
85

85

00:03:33,299  -->  00:03:39,120
sự chậm trễ và một khi chúng ta sử dụng
86

86

00:03:35,790  -->  00:03:41,280
Hàm XQ được gửi và chúng tôi thực thi nó có một
87

87

00:03:39,120  -->  00:03:43,320
giá trị trả về ở đây và giá trị trả về
88

88

00:03:41,280  -->  00:03:46,109
sẽ vượt qua hoặc thất bại nếu chúng ta
89

89

00:03:43,320  -->  00:03:48,060
có thể gửi thành công đến cánh tay để
90

90

00:03:46,109  -->  00:03:51,060
hàng đợi sẽ nhận được một vượt qua
91

91

00:03:48,060  -->  00:03:53,100
Một trong số đó là PD pass để sử dụng
92

92

00:03:51,060  -->  00:03:55,890
ngôn ngữ của freertos nếu hàng đợi là
93

93

00:03:53,100  -->  00:03:58,140
đã bị lừa sẽ nhận được một mã lỗi
94

94

00:03:55,890  -->  00:04:00,780
và chúng ta sẽ xem làm thế nào để sử dụng điều này như
95

95

00:03:58,140  -->  00:04:03,359
bây giờ hãy xem cách nhận từ
96

96

00:04:00,780  -->  00:04:06,120
hàng đợi nhận xq được sử dụng để
97

97

00:04:03,359  -->  00:04:08,609
nhận hoặc đọc một mục từ hàng đợi
98

98

00:04:06,120  -->  00:04:11,040
mục nhận được sẽ bị xóa
99

99

00:04:08,609  -->  00:04:13,079
từ hàng đợi và um và chức năng này
100

100

00:04:11,040  -->  00:04:15,030
có vẻ như phải mất ba đối số
101

101

00:04:13,079  -->  00:04:17,609
đối số đầu tiên của khóa học là
102

102

00:04:15,030  -->  00:04:19,560
xử lý hàng đợi giống như cái cớ được gửi
103

103

00:04:17,609  -->  00:04:22,109
cũng lấy tay cầm hàng đợi làm đầu tiên
104

104

00:04:19,560  -->  00:04:24,120
tài liệu và như tôi đã đề cập trước đó chúng tôi
105

105

00:04:22,109  -->  00:04:26,520
nhận xử lý hàng đợi khi chúng ta tạo
106

106

00:04:24,120  -->  00:04:27,030
một hàng đợi đối số thứ hai được đưa ra
107

107

00:04:26,520  -->  00:04:28,860
tên P
108

108

00:04:27,030  -->  00:04:31,260
bộ đệm ở đây và đây đơn giản là một
109

109

00:04:28,860  -->  00:04:33,900
con trỏ tới bộ nhớ
110

110

00:04:31,260  -->  00:04:36,570
dữ liệu nhận được sẽ được sao chép kích thước của
111

111

00:04:33,900  -->  00:04:38,820
mỗi mục dữ liệu mà một ống cue được đặt
112

112

00:04:36,570  -->  00:04:41,880
khi cue được tạo ra bộ nhớ
113

113

00:04:38,820  -->  00:04:44,490
con trỏ tới bộ đệm PV ở đây phải
114

114

00:04:41,880  -->  00:04:47,490
ít nhất đủ lớn để giữ
115

115

00:04:44,490  -->  00:04:50,340
nhiều byte và dĩ nhiên là cái cuối cùng
116

116

00:04:47,490  -->  00:04:52,740
đối số là X 6 đến 8 và đây là
117

117

00:04:50,340  -->  00:04:54,870
thời lượng tối đa của nhiệm vụ nên
118

118

00:04:52,740  -->  00:04:57,630
vẫn ở trong trạng thái bị chặn để chờ
119

119

00:04:54,870  -->  00:05:00,450
dữ liệu có sẵn trên hàng đợi nên
120

120

00:04:57,630  -->  00:05:02,669
hàng đợi đã trống nên vâng
121

121

00:05:00,450  -->  00:05:04,980
là tất cả những gì chúng ta cần biết về hàng đợi
122

122

00:05:02,669  -->  00:05:06,600
trước khi chúng ta bắt đầu viết mã thực tế ngay bây giờ
123

123

00:05:04,980  -->  00:05:08,310
thứ tự này là cho bài học này nếu bạn
124

124

00:05:06,600  -->  00:05:10,590
có bất kỳ câu hỏi gửi cho tôi một tin nhắn hoặc
125

125

00:05:08,310  -->  00:05:13,820
để lại trong khu vực câu hỏi và tôi sẽ
126

126

00:05:10,590  -->  00:05:13,820
gặp bạn trong bài học tiếp theo
