Xin chào. 1
Chào mừng trở lại. 2
Vì vậy, trong bài học này, chúng ta sẽ xem làm thế nào để chuyển đổi một dự án hiện có thành một ứng dụng thời gian thực 3
sử dụng FreeRTOS 4
Hạt nhân thời gian thực 5
Vì vậy, những gì chúng ta sẽ làm là chúng ta sẽ tạo ra một ứng dụng bình thường từ đầu và sau đó kiểm tra xem nó có phải là 6
làm việc và sau đó chuyển đổi nó sang ứng dụng thời gian thực. 7
Vì vậy, hãy làm điều đó. Tôi đã mở Keil uVision của tôi ở đây. 8
Và những gì tôi sẽ làm là đến dự án, dự án mới và những gì tôi đã làm là tôi có một thư mục ở đây 9
được gọi là khóa học FreeRTOS và tôi sẽ giữ tất cả các dự án của khóa học này trong đó. 10
Vì vậy, tôi sẽ tạo ra một. 11
Tôi sẽ tạo cái đầu tiên, tôi sẽ gọi thư mục này là số 0 và tôi sẽ gọi đây là bắt đầu. 12
Vì vậy, nếu bạn đã xem bất kỳ khóa học RTOS mới nhất nào của tôi, điều tôi làm là chúng tôi xây dựng tất cả các dự án 13
theo thứ tự thời gian. 14
Vì vậy, chúng tôi kết thúc với các dự án không ai một hai ba đến 50 hoặc một cái gì đó và vào cuối khóa học, bạn 15
loại tạo cho mình một cuốn sách nấu ăn, một hướng dẫn tham khảo, mà bạn có thể tham khảo. Chúng tôi sẽ sắp xếp tất cả 16
Các dự án theo cách này. 17
Vì vậy, cái này được gọi là Bắt đầu và tôi sẽ gọi dự án thực tế là tên tệp 18
Tôi sẽ gọi nó 19
RTOS mờ. 20
Tôi sẽ nhấp vào enter và sau đó nó đưa tôi đến trang này. 21
Trang này yêu cầu tôi chọn vi điều khiển cụ thể của mình. 22
Hiện tại tôi đang sử dụng STM32F4, tôi đang sử dụng bảng khám phá và phiên bản STM32F4 23
trên bảng nhảy của tôi là F411VET. 24
Tôi sẽ bấm vào đây 25
Tôi bấm OK. Sau đó, nó đưa tôi đến môi trường quản lý thời gian chạy và tất cả những gì tôi muốn làm vào lúc này 26
là nhấp vào CMSIS chọn khóa học CMSIS và sau đó nhấp vào thiết bị chọn khởi động và sau đó 27
bởi vì chúng tôi sẽ nhấp nháy một số đèn LED, chúng tôi cũng có thể sử dụng khung khối STM32. 28
Vì vậy, tôi chỉ cần nhấp vào đây khung STM32 và nhấp vào cổ điển và sau đó nó yêu cầu 29
Về tất cả những điều này, tôi bấm giải quyết và sau đó bấm OK. 30
Và dự án đó được tạo ra. 31
Và điều chúng tôi muốn là đổi tên các mục tiêu thành tên của bộ điều khiển vi mô của tôi. 32
Đó là STM32F4 và nhóm nguồn tôi sẽ gọi nó, tôi sẽ đổi tên 33
nó bằng cách nhấn vào đây như thế này 34
Và tôi sẽ gọi ứng dụng này giống như thế này và tôi sẽ tạo một tệp ở đây. Click chuột phải 35
thêm mục mới và đây sẽ là tập tin chính. 36
Tôi sẽ gọi chính như thế này. Và nó được thiết lập. 37
Vì vậy, một khi điều này được mở, tôi muốn thêm lớp trừu tượng phần cứng STM32 của mình. Vì vậy, tôi nhấp chuột phải 38
chèn bao gồm các tập tin sau đó tôi chọn STM32F4HAL.h như thế này. 39
Bây giờ chúng tôi được thiết lập. 40
Vì vậy, chúng ta có thể đến đây và sau đó 41
và chỉ cần đến đây. Sau đó, chúng tôi mở vòng lặp while 1 của chúng tôi. 42
Vì vậy, những gì chúng ta sẽ làm là chúng ta sẽ viết một chút trình điều khiển để khởi tạo các chân GPIO 43
cho bốn đèn led trên bảng nhảy và sau đó chúng tôi sẽ nhấp nháy chúng và đảm bảo chúng hoạt động. 44
Vì vậy, tôi sẽ tạo một hàm ở đây, tôi sẽ gọi hàm này là void gpio underscore init 45
Và đó là một hàm void void 46
như thế này. Vì vậy, chúng tôi bắt đầu bằng cách chỉ khai báo cấu trúc init GPIO và sau đó chúng tôi sử dụng cấu trúc này 47
để khởi tạo chân của chúng tôi. 48
Nhưng trước khi chúng ta làm điều đó, chúng ta chỉ cần khởi tạo đồng hồ truy cập vào GPIO mà chúng ta sẽ sử dụng. Tôi sẽ chỉ 49
mang cái này đến đây như thế này 50
Và tôi chắc chắn bạn. 51
Bạn đã biết cách khởi tạo đèn LED trên bảng STM của mình. 52
. 53
Nếu bạn sử dụng bảng STM, bạn biết làm thế nào để làm điều đó. 54
Vì vậy, đây là cổng cho đèn LED, chúng được kết nối với cổng D. 55
Vì vậy, sau đó chúng tôi bắt đầu bằng cách đặt tất cả các chân ở mức thấp như thế này. 56
HAL GPIO ghi chân cổng D pin 12, sau đó 13 14 15. 57
Và sau đó chúng tôi sẽ thiết lập tất cả chúng để thiết lập lại. Đặt lại có nghĩa là thấp và đèn LED được kết nối với 58
chân 12 13 14 15. 59
Và một khi đã xong, chúng ta có thể cấu hình tất cả chúng cùng một lúc, chúng ta hãy mang tất cả những thứ này đến đây như thế này và 60
cái này ở đây chọn các chân. 61
Đúng. 62
Đây là các chân và sau đó là chế độ chúng ta đặt tất cả chúng thành đầu ra đẩy kéo, và sau đó là kéo, chúng ta nói không kéo. 63
và sau đó tốc độ thấp tần số và sau đó, điều này khởi tạo GPIO 64
Nó đơn giản như thế này. Vì vậy, những gì tôi sẽ làm là tôi sẽ mang nguyên mẫu của chức năng này lên đây như thế nào 65
điều này. 66
Tôi sẽ đặt một dấu chấm phẩy ở đây và một khi đã xong, bây giờ tôi có thể gọi hàm ở đây. Chỉ cần làm sạch này, 67
Và sau đó tôi chỉ cần làm sạch này. Những gì chúng ta sẽ làm là chúng ta sẽ tạo ra những cái tên tượng trưng cho đèn LED 68
Bởi vì nó hơi khó hiểu khi gọi chúng là gpio 12 13 14 15 nên tôi sẽ đặt một câu lệnh xác định ở đây và 69
Tôi sẽ nói định nghĩa 70
màu xanh lá cây, tôi sẽ sử dụng mũ và màu xanh lá cây là gpio pin 12 vì vậy tôi chỉ 71
Sẽ nói gpio gạch dưới gạch dưới 12 72
Tôi sẽ định nghĩa màu cam ở đây. 73
Tôi sẽ làm tương tự cho màu đỏ và màu xanh. Tôi sẽ đổi nó thành màu đỏ và màu đỏ là chân số 14 và tôi sẽ đổi nó thành màu xanh. 74
Màu xanh là pin 15 như thế này. Đúng. 75
Vì vậy, chúng tôi có điều này. Vì vậy, lần tới, chúng tôi muốn chuyển đổi bất kỳ chân nào trong số chúng tôi có thể 76
chỉ cần sử dụng chúng bởi những tên này màu xanh lá cây màu đỏ cam và màu xanh. 77
Vì vậy đây là nó. Không được xem liệu chúng ta có thể nháy cả bốn đèn LED cùng một lúc không. 78
Những gì tôi sẽ làm là, 79
Tôi sẽ gọi cho HAL 80
GPIO viết pin 81
viết mã pin chuyển đổi hoặc chuyển đổi API pin 82
Vì vậy, tôi sẽ chỉ đến đây. 83
HAL 84
GPIO gạch dưới chuyển đổi pin và cái này ở đây lấy cổng của pin và sau đó là số pin để nó là cổng GPIO D 85
Và bây giờ tôi chỉ có thể nói, màu xanh lá cây, màu xanh lam, tôi có thể sử dụng toán tử hoặc toán tử để nối tất cả chúng. 86
màu xanh, đỏ và cam, như thế này. Đặt một dấu chấm phẩy ở đây và chúng ta có thể tạo ra một chút giả 87
Chúng tôi sẽ không sử dụng độ trễ HAL ở đây. 88
Vì vậy, hãy sử dụng vòng lặp này. Tôi sẽ đặt một loại số nguyên ở đây. và tôi sẽ đến đây 89
nói cho tôi bằng không, tôi dưới 500000, tôi 90
Cộng cộng. Đây chỉ là để tạo ra một độ trễ giả 91
chúng ta sẽ sử dụng độ trễ thời gian thực, đừng lo lắng. 92
Vì vậy, hãy xem ứng dụng này, đây là ứng dụng của chúng tôi. Hãy giả sử đây là nó. Tôi sẽ chỉ xây dựng lại. Nó đang hiển thị cảnh báo này bởi vì 93
chúng tôi không có một dòng mới ở đây tôi sẽ đặt nó ở đây và tôi sẽ đến đây. XTAL mặc định của tôi là 16 megahertz. Đang gỡ lỗi 94
Tôi sẽ chọn tôi 95
Trình gỡ lỗi liên kết ST. Nếu bạn đang sử dụng bảng Texas Cụ, thì bạn là Stellaris 96
ICDI và tôi sẽ đến cài đặt và tải xuống flash 97
Tôi sẽ nhấp vào đây để thiết lập lại và chạy và nhấp vào OK. 98
và tôi bấm OK. Sau đó, tôi kết nối bảng của tôi và tải xuống bảng của tôi. 99
Vì vậy, tôi chỉ cần nhấp vào đây để tải xuống bảng của mình và như bạn có thể thấy tất cả bốn đèn LED đang nhấp nháy. 100
Vì vậy, giả sử đây là ứng dụng của chúng tôi, chúng tôi muốn biến thành một ứng dụng thời gian thực bằng cách sử dụng freeRTOS 101
hạt nhân thời gian thực 102
Đúng. 103
Vì vậy, sử dụng keil uVision nó rất rất dễ dàng. 104
Nó rất đơn giản. 105
Hãy xem cách làm điều đó.