Lập trình STM32 – Tạo Project mới với STM32CubeMX

Lập trình STM32 - STM32CubeMX

Như bài trước đã giới thiệu, STM32CubeMX là công cụ giúp khởi tạo phần cứng, ngoại vi, xung nhịp… cho vi điều khiển (MCU) STM32 một cách nhanh chóng.

Sử dụng phần mềm này đã giúp mình có tốc độ tiếp cận với dòng vi điều khiển này phải nói là rất nhanh. Hầu như mình không cần phải nhớ bất cứ thanh ghi hay thiết lập từng bit, các API được hỗ trợ sẵn từ nhà sản xuất thực sự dễ dùng, và dễ tiếp cận.

Bài viết này sẽ hướng dẫn nhanh cách tạo một Project bằng STM32CubeMX sử dụng vi điều khiển STM32F103RCT6.

Nếu chưa có STM32CubeMX – Bạn có thể tải ngay tại đây.

1. Tạo Project

Mở phần mềm STM32CubeMX lên, nhấn vào New Project để bắt đầu tạo project mới.

Cửa sổ hiện ra với các thiết lập:

  • Series: Chọn họ MCU bạn sử dụng.
  • Lines: Chọn dòng MCU bạn sử dụng.
  • Package: Chọn kiểu đóng gói của MCU.
  • Chọn loại MCU chính xác trong phần MCUs List
  • Nhấn OK.

Tạo Project

 

2. Chọn ngoại vi

Sau khi đã lựa chọn xong MCU, tiến hành chọn ngoại vi cần dùng tại thẻ PinOut:

  • Trong danh sách Peripheral được liệt kê bên trái có cách ngoại vi mà MCU hỗ trợ, sử dụng ngoại vi nào thì Enable ngoại vi đó lên.
  • Tại hình MCU trong khung bên phải, bạn có thể trực tiếp cấu hình trực quan từng chân của MCU theo các tính năng GPIO mà MCU hỗ trợ bằng cách click vào chân MCU và chọn chức năng cần thiết.

Cấu hình chân MCU

 

3. Điều chỉnh xung nhịp

Sau khi đã lựa chọn ngoại vi cần thiết, tiến hành cấu hình xung đồng hồ cho ngoại vi tại thẻ Clock Configuration.

Riêng phần này bạn cần tham khảo trong datasheet của mỗi loại MCU để xem cách thức cấu hình cho mỗi ngoại vi ra sao.

Mình dùng GPIO nên tạm thời sẽ không cần quan tâm phần này.

Cấu hình Clock

 

4. Cấu hình ngoại vi

Tiến hành cấu hình đặc tính của ngoại vi đã chọn tại thẻ Configuration.

Tại đây phần mềm có biểu diễn theo cấu trúc firmware, tùy vào loại ngoại vi bạn dùng mà phần mềm xếp vào nhóm chức năng riêng.

Cấu hình ngoại vi

Ví dụ như ở đây mình chỉ dùng chức năng GPIO thì sẽ tiến hành cấu hình GPIO bằng cách nhấn vào thành phần GPIO.

Cấu hình chế độ ngoại vi

GPIO của STM32 hỗ trợ 2 chế độ: Push Pull (Đẩy kéo) và Open Drain (Đầu ra cửa cực hở), tốc độ đáp ứng…

Mỗi ngoại vi có các đặc tính riêng, người dùng có thể nhanh chóng điều chỉnh, chọn chế độ mà không cần quá phức tạp như trên các vi điều khiển cấp thấp.

 

5. Xuất mã nguồn đã cấu hình

Sau khi đã điều chỉnh, cấu hình những ngoại vi cần thiết, chúng ta tiến hành xuất mã nguồn để import vào các trình biên dịch như IAR, KeilC…
Cấu hình đường dẫn Project
Nhấn nút có hình răng cưa (Generate source code) hoặc chọn Project >> Generate code hoặc nhấn phím tắt Ctrl + Shift + G để mở cửa sổ cấu hình đường dẫn Project.

  • Project name: Gõ tên Project.
  • Project Location: Nhấn Browse và chọn đường dẫn lưa thư mục Project.
  • Toolchain/IDE: Chọn MDK-ARM V5 hoặc MDK-ARM V4 nếu bạn dùng KeilC, chọn EWARM nếu bạn dùng IAR.
  • Nhấn OK để phần mềm bắt đầu quá trình xuất mã nguồn. Phần mềm STM32CubeMX sẽ tự động tải về hoặc tự động cập nhật bộ API mới từ nhà sản xuất ST. Vui lòng chờ!

 

6. Thư mục mã nguồn

Thư mục mã nguồn xuất ra sẽ bao gồm:

  • Driver, Library, Source cần thiết cho Firmware.
  • Thư mục Project tương ứng với Toolchain/IDE mà bạn đã chọn.

Kết quả

Ví dụ như phía trên mình chọn KeilC phiên bản 5, kết quả sẽ được Project của KeilC v5 luôn.

File TestGPIO.ioc mình dùng test GPIO:

 

Leave a Reply

3 Comments on "Lập trình STM32 – Tạo Project mới với STM32CubeMX"

Notify of
avatar
Sort by:   newest | oldest | most voted
Quốc Nam
Guest

Chào bạn hiện tại mình đang sử dụng STM32CubeMX V4.14.0, mình cấu hình xong tiến hành download gói firmware stm32cube_fw_f1_v130 về thì phần mềm bị lỗi Problem during download nên không thể down về, bạn có cách nào khắc phục không?

Lê D. Trường
Guest

bạn cho help-> install New libraries rồi chọn file cần update, sẽ k lỗi

wpDiscuz