- Vật liệu thiết yếu
- Sơ đồ mạch
- Tải bộ tải Maple Boot lên bảng Phát triển STM32
- Chuẩn bị Arduino IDE và cài đặt trình điều khiển
- Lập trình STM32 (Blue Pill) trực tiếp qua cổng USB
Bảng phát triển STM32 chứa Vi điều khiển STM32F103C8 đang ngày càng trở nên phổ biến nhờ kiến trúc ARM Cortex M3, nó có tốc độ hoạt động cao và nhiều tùy chọn ngoại vi hơn. Ngoài ra, bảng mạch này có thể được lập trình dễ dàng bằng Arduino IDE, nó đã trở thành lựa chọn ưu tiên cho nhiều người có sở thích và kỹ sư để tạo mẫu nhanh.
Trong hướng dẫn trước, chúng tôi đã tìm hiểu những kiến thức cơ bản về Bảng phát triển STM32 và cũng lập trình để nó nhấp nháy đèn LED. Nhưng có một nhược điểm lớn với nó. Để lập trình Board, chúng tôi đã sử dụng mô-đun lập trình FTDI và cũng phải chuyển jumper 0 khởi động giữa và 1 vị trí trong khi tải lên và kiểm tra mã, đây chắc chắn là một nhiệm vụ khó khăn. Ngoài ra, cổng mini-USB trên bảng Phát triển hoàn toàn không được sử dụng. Lý do của việc này là, khi mua bo mạch phát triển STM32, nó không đi kèm với bộ nạp khởi động sẵn Arduino và do đó máy tính của bạn sẽ không phát hiện ra bo mạch khi kết nối qua USB.
Tuy nhiên, hy vọng rằng có một bộ nạp khởi động thử nghiệm được phát triển bởi LeafLabs cho các bo mạch mini Maple. Bộ nạp khởi động này có thể được đưa vào STM32 một lần và sau đó chúng ta có thể sử dụng trực tiếp cổng USB của bảng STM32 để tải lên các chương trình giống như bất kỳ bảng Arduino nào khác. Tuy nhiên, bộ tải khởi động này vẫn đang trong giai đoạn phát triển tại thời điểm tài liệu hướng dẫn này và không được khuyến khích cho các ứng dụng quan trọng. Trước khi tiếp tục với hướng dẫn này, hãy đảm bảo rằng bạn đã đọc hướng dẫn trước đó để hiểu những kiến thức cơ bản về bảng này bao gồm các chi tiết về thông số kỹ thuật và chân cắm.
Vật liệu thiết yếu
- STM32 - (BluePill) Ban phát triển (STM32F103C8)
- Lập trình viên FTDI
- Breadboard
- Kết nối dây
- Máy tính xách tay có Internet
Sơ đồ mạch
Để lập trình bo mạch STM32 Blue Pill trực tiếp qua cổng USB, trước tiên, chúng ta cần cài đặt bộ nạp khởi động Maple vào MCU. Để làm điều này, chúng ta cần sử dụng một bảng FTDI nối tiếp. Bo mạch này được kết nối với chân Rx và Tx của STM32 như hình dưới đây.
Chân Vcc của bo mạch FTDI được kết nối với chân 5V STM32 của nguồn điện bo mạch. Mặt đất được kết nối với Mặt đất của STM32. Chân Rx và Tx của bảng FTDI được kết nối tương ứng với chân A9 và A10 của STM32. Trong đó A9 là chân Tx của MCU STM32 và A10 là chân Rx.
Đảm bảo chân bộ khởi động 0 trên bo mạch được đặt thành 1 (chế độ lập trình) trong khi tải lên bộ nạp khởi động. Khi bộ nạp khởi động được nhấp nháy, chân này có thể được thay đổi trở lại vị trí ban đầu (chế độ hoạt động).
Tải bộ tải Maple Boot lên bảng Phát triển STM32
Khi chúng tôi đã thực hiện kết nối trên, hãy kết nối bo mạch FTDI với máy tính của bạn và làm theo các bước để cài đặt bộ nạp khởi động vào STM32.
Bước 1: Chúng ta phải tải xuống tệp nhị phân chương trình tải khởi động (tệp bin) ở trang github. Có nhiều phiên bản của tệp bin, đối với bảng Blue Pill, hãy sử dụng liên kết github này và nhấp vào nút tải xuống để tải tệp bin xuống.
Bước 2: Tiếp theo chúng ta phải tải và cài đặt phần mềm STM Flash loader để flash file bin đã tải xuống STM32. Nhấp vào liên kết này để vào trang web của ST và cuộn xuống dưới cùng và nhấp vào tải phần mềm
Bước 3: Để tải phần mềm, bạn phải nhập địa chỉ E-mail của mình và liên kết tải xuống sẽ được gửi đến E-mail của bạn. Sau đó theo liên kết trở lại trang web và nhấp vào tải lại phần mềm và bạn sẽ bắt đầu tải xuống. Vâng, nó hơi bực bội nhưng đây là cách nên làm. Đừng quên kiểm tra thư mục thư rác của bạn để tìm E-mail, đôi khi phải mất vài phút để E-mail đến.
Bước 4: Sau khi tải về cài đặt phần mềm, hãy đảm bảo rằng bo mạch STM32 của bạn được kết nối với máy tính của bạn thông qua bo mạch FTDI và sau đó khởi chạy phần mềm. Phần mềm sẽ tự động phát hiện cổng COM nếu không sử dụng Trình quản lý thiết bị và đảm bảo bạn chọn đúng số cổng COM. Trong trường hợp của tôi, nó là COM4. Để phần còn lại của cài đặt như hình dưới đây.
Bước 5: Nhấn vào nút Next 2 lần và phần mềm sẽ tự động dò tìm chi tiết bảng và hiển thị như hình bên dưới. Bo mạch chúng tôi đang sử dụng là STM32F1 với bộ nhớ flash 128K.
Bước 6: Trong bước tiếp theo, chọn Tải xuống thiết bị và duyệt đến vị trí mà chúng ta đã tải tệp bin của mình ở bước 1 và chọn nó. Nhấp vào tiếp theo.
Bước 7: Phần mềm sẽ tải về một số tập tin cần thiết như hình dưới đây và sau đó sẽ bắt đầu quá trình flash.
Bước 8: Khi quá trình nhấp nháy hoàn tất thành công, chúng ta sẽ nhận được màn hình bên dưới. Nhấp vào đóng và thoát ứng dụng. Chúng tôi đã flash bảng STM32 với bộ nạp khởi động Arduino thành công. Bây giờ chúng ta phải chuẩn bị Arduino IDE và cài đặt trình điều khiển trước khi chúng ta có thể lập trình bo mạch STM32.
Chuẩn bị Arduino IDE và cài đặt trình điều khiển
Làm theo các bước dưới đây để tải xuống và chuẩn bị Arduino IDE được sử dụng với bảng Phát triển STM 32.
Bước 1: - Nếu bạn chưa cài đặt Arduino IDE, hãy tải xuống và cài đặt nó từ liên kết này. Đảm bảo bạn chọn đúng hệ điều hành của mình.
Bước 2: - Sau khi cài đặt Arduino IDE, hãy mở và tải xuống các gói cần thiết cho bo mạch STM32. Điều này có thể được thực hiện bằng cách chọn Tệp -> Tùy chọn .
Bước 3: - Nhấn vào Preferences sẽ mở ra hộp thoại như hình bên dưới. Trong hộp văn bản URL trình quản lý bảng bổ sung, hãy dán liên kết bên dưới
dan.drown.org/stm32duino/package_STM32duino_index.json
và nhấn OK.
Bước 4: - Bây giờ vào Tool -> Boards -> Board Manager . Thao tác này sẽ mở hộp thoại Quản lý bảng, tìm kiếm “STM32F1” và cài đặt gói xuất hiện.
Bước 5: Sau khi gói được cài đặt, điều hướng đến C: \ Program Files (x86) Arduino \ phần cứng \ Arduino_STM32-master \ drivers \ win, nơi bạn sẽ tìm thấy install_drivers.bat và install_STM_COM_drivers.bat .
Bước 6: Nhấp vào cả hai tệp bat và cài đặt trình điều khiển. Bạn sẽ nhận được một màn hình DOS như hình dưới đây.
Bây giờ Arduino IDE đã được chuẩn bị để lập trình Bảng phát triển STM32 (Blue Pill) và các trình điều khiển cũng đã được cài đặt.
Lập trình STM32 (Blue Pill) trực tiếp qua cổng USB
Tháo bo mạch FTDI và tất cả các kết nối hiện có khỏi bạn STM32. Chỉ cần sử dụng cổng micro-USB trên bo mạch STM32 để kết nối nó với máy tính như hình dưới đây. Đảm bảo chân 0 của jumper được định vị trở lại 0 (Chế độ vận hành). Sau đó, chúng ta không cần chuyển đổi jumper nữa để tải lên và chạy chương trình.
Máy tính của bạn sẽ có thể khám phá Ban ngay bây giờ. Chờ một lúc nếu bạn thấy bất kỳ trình điều khiển bổ sung nào được cài đặt. Sau đó, vào Trình quản lý thiết bị và kiểm tra xem bo mạch STM32 của bạn có được phát hiện trong phần COM và cổng như hình dưới đây không. Mine được kết nối với COM8 với tên Maple Mini.
Vào Tools và kéo xuống để tìm dòng Generic STM32F103C như hình bên dưới. Sau đó, đảm bảo biến thể là loại Flash 64k , tốc độ CPU là 72MHz và thay đổi phương thức tải lên thành STM32duino Bootloader . Đồng thời chọn đúng cổng COM theo cổng trên trình quản lý thiết bị của bạn.
Sau khi tất cả các thay đổi được thực hiện, hãy kiểm tra góc dưới cùng bên phải của Arduino IDE và bạn sẽ thấy cài đặt sau đang được thiết lập. Bảng STM32 của tôi được kết nối với COM8 nhưng bảng của bạn có thể khác
Bây giờ Arduino IDE đã sẵn sàng để lập trình các Bảng phát triển STM 32 Blue Pill. Hãy để chúng tôi tải lên Chương trình Blink mẫu từ Arduino IDE lên bảng STM32 Blue Pill để đảm bảo mọi thứ hoạt động bình thường. Chương trình ví dụ có thể được tìm thấy tại
Trong chương trình ví dụ mở ra, chúng ta phải thực hiện một thay đổi nhỏ. Theo mặc định, chương trình sẽ được viết cho PB1 nhưng trên bo mạch của chúng tôi, đèn LED trên bo mạch được kết nối với PC13, vì vậy hãy thay thế tất cả PB1 bằng PC13 và chúng tôi có thể tiếp tục. Các chương trình ví dụ hoàn chỉnh được sửa đổi cũng có thể được tìm thấy ở dưới cùng của trang này.
Chỉ riêng mã bên trong chức năng vòng lặp được hiển thị bên dưới, nơi chúng ta có thể nhận thấy rằng chân PC13 được giữ ở mức CAO (bật) trong 1000 mili giây và sau đó chuyển sang LOW (tắt) trong 1000 mili giây khác và điều này được thực hiện trong thời gian vô hạn vì nó ở chức năng vòng lặp . Do đó, đèn LED dường như nhấp nháy với khoảng thời gian 1000 mili giây.
digitalWrite (PC13, CAO); // bật đèn LED (CAO là mức điện áp) delay (1000); // đợi một digitalWrite thứ hai (PC13, LOW); // tắt đèn LED bằng cách tạo độ trễ điện áp thấp (1000); // đợi trong giây lát
Nhấn nút tải lên trên Arduino IDE và chương trình của bạn sẽ được biên dịch và tải lên. Nếu mọi thứ đã hoạt động như mong đợi thì bạn sẽ thấy thông tin sau trên bảng điều khiển Arduino IDE của mình.
Nếu Chương trình đã được tải lên thành công thì bạn sẽ thấy Đèn LED màu xanh lá cây nhấp nháy trong khoảng thời gian 1 giây như thể hiện trong video bên dưới. Bạn cũng có thể điều khiển chương trình để tăng hoặc giảm độ trễ. Bây giờ bạn có thể bắt đầu sử dụng bảng phát triển STM32 (Blue Pill) giống như bất kỳ bảng Arduino nào khác, tức là bạn không cần phải thay đổi vị trí của jumper hoặc sử dụng phần cứng bên ngoài để tải lên và kiểm tra chương trình.
Hy vọng bạn đã hiểu hướng dẫn và thấy nó hữu ích khi bắt đầu với STM32 Board. Nếu bạn có bất kỳ vấn đề gì, hãy để lại chúng trong phần bình luận, cũng như cho tôi biết những dự án mà chúng tôi nên thử với bảng STM32 này trong tương lai.