Xem thêm

STM32 và Arduino: Biến kit STM32 thành phiên bản dễ dàng lập trình như Arduino

Huy Erick
Mình xin chia sẻ một cách thú vị để lập trình cho kit STM32 với phong cách và tiện ích của Arduino. Bằng cách sử dụng IDE của Arduino và cách code tương tự, bạn...

Mình xin chia sẻ một cách thú vị để lập trình cho kit STM32 với phong cách và tiện ích của Arduino. Bằng cách sử dụng IDE của Arduino và cách code tương tự, bạn có thể biến kit STM32 của mình thành phiên bản dễ dàng lập trình nhất. Điều này không chỉ giúp việc lập trình trở nên đơn giản hơn mà còn mở ra nhiều khả năng sáng tạo mới.

Chuẩn bị

Phần cứng

  • Kit hoặc mạch STM32F1
  • Mạch nạp ST-link (nếu kit của bạn đã có, bạn có thể bỏ qua bước này)

Phần mềm

  • Arduino IDE phiên bản mới nhất (tốt nhất là 1.6.9 trở lên)
  • Phiên bản Arduino & STM
  • TXRX dll

Cài đặt

Hãy tuân theo những bước dưới đây để tiến hành cài đặt:

Bước 1: Cài đặt Arduino IDE. Nếu bạn đã cài rồi, bạn có thể bỏ qua bước này. Mặc định, Arduino IDE sẽ được cài vào ổ C. Ví dụ: C:Program Files (x86)Arduino

Bước 2: Giải nén tệp tin Arduino & STM đã tải xuống và đổi tên thành "STM32". Sau đó, hãy sao chép hoặc di chuyển toàn bộ thư mục này vào thư mục "hardware" của Arduino. Ví dụ: C:Program Files (x86)Arduinohardware

Kiểm tra lại một chút trong thư mục STM32 có gì nào. STM32 và Arduino

Bước 3: Cắm mạch nạp ST-link vào kit STM32F1 của bạn.

Bước 4: Cài đặt các driver cần thiết tại đường dẫn C:Program Files (x86)ArduinohardwareSTM32driverswin. Chạy 2 file "install_drivers.bat" và "install_STM_COM_drivers.bat" và chờ đợi cho đến khi xuất hiện thông báo "Press any key to continue".

Bước 5: Tiếp tục vào thư mục C:Program Files (x86)ArduinohardwareSTM32toolswin và chạy các file "stlink_upload.bat", "serial_upload.bat", "maple_upload.bat". Tiếp tục chờ đợi.

Bước 6: Sao chép tệp tin TXRX dll vào thư mục C:Program Files (x86)Arduino.

Bước 7: Tạo một thư mục có tên "Arduino" trên ổ D để chứa các tệp tin mà Arduino build ra. Đường dẫn đến thư mục này sẽ là D:Arduino.

Bước 8: Mở Arduino và nhấn tổ hợp phím "Ctr + ," để truy cập vào Preferences. Tìm phần có tên "preferences.txt" để vào thư mục chứa tệp tin, sau đó mở tệp tin này ra và chỉnh sửa.

Thêm dòng "build.path = D:Arduino" vào cuối tệp tin "preferences.txt". Điều này hoàn tất bước cấu hình.

Bước 9: Mở Arduino IDE và cài đặt Arduino SAM Board M3 bằng cách chọn Tool -> Board -> Board Manager, sau đó chọn board và cài đặt.

Bước 10: Tiếp tục cấu hình bằng cách chọn board. Hãy chọn board tương ứng với chip F1 của bạn. Ví dụ: series R chọn STM32F103R.

Tiếp tục chọn cách để nạp chương trình. Do kit F1 của tôi được trang bị đầy đủ, nên tôi sẽ nạp chương trình qua ST-Link.

Bước 11: Chỉnh sửa chương trình Blink một chút. Kit của tôi có 3 đèn LED ở chân PB5, PB6, PB7, nên tôi sẽ cho chúng blink ở đây.

// Blink Turns on an LED on for one second, then off for one second, repeatedly. // Most Arduinos have an on-board LED you can control. // On the UNO, MEGA and ZERO it is attached to digital pin 13, on MKR1000 on pin 6. // LED_BUILTIN takes care of use the correct LED pin whatever is the board used. // If you want to know what pin the on-board LED is connected to on your Arduino model, // check the Technical Specs of your board at https://www.arduino.cc/en/Main/Products // This example code is in the public domain. // modified 8 May 2014 by Scott Fitzgerald // modified 2 Sep 2016 by Arturo Guadalupi  #define LED PB5  // Định nghĩa chân LED  // Hàm setup chạy một lần khi nhấn nút reset hoặc cấp nguồn cho board void setup() {   // Khởi tạo chân LED_BUILTIN là một chân output   pinMode(LED, OUTPUT); }  // Hàm loop chạy lặp đi lặp lại mãi mãi void loop() {   digitalWrite(LED, HIGH);   // Bật đèn LED (mức điện áp HIGH)   delay(1000);               // Đợi 1 giây   digitalWrite(LED, LOW);    // Tắt đèn LED (mức điện áp LOW)   delay(1000);               // Đợi 1 giây }

Kết quả

Ta quan sát Blink LED trên kit thôi.

Nếu trong quá trình cài đặt gặp bất kỳ vấn đề gì, bạn có thể tham khảo video hướng dẫn.

Tạm kết

Đó là các bước cài đặt và cấu hình cơ bản để biến kit STM32F1 trở nên dễ dàng lập trình như Arduino. Tất nhiên, việc chuyển đổi code và các thư viện từ Arduino sang STM32F1 có thể gặp một số vấn đề, nhưng tôi sẽ sớm thử và cập nhật thông tin mới nhất cho bạn. Bây giờ, hãy nhanh chóng lấy board này và sử dụng trong dự án BOT nông nghiệp của bạn thay cho TIVA C nhé!

1