Xin chào các bạn! Vậy là sau khoảng thời gian dài ấp ủ, hôm nay viliti.blog chính thức đi vào hoạt động, viliti.blog sẻ là nơi mà tất cả chúng ta, những ai yêu thích, đam mê, làm việc trong lĩnh vực điện tử nói chung và lĩnh vực lập trình nhúng nói riêng có thể cùng nhau chia sẻ những kinh nghiệm quý báu của mình, nhằm giúp mỗi một thành viên của viliti.blog ngày càng hoàn thiện bản thân để xây dựng một xã hội ngày càng thông minh, hiện đại và giàu đẹp!
Bài viết mở đầu của viliti.blog, và đây cũng là post đầu tiên trong chuỗi bài mà tôi sẽ chia sẻ cho các bạn về kiến thức, kinh nghiệm lập trình dòng vi điều khiển STM32. Chuỗi bài viết được trình bày từ đơn giản đến phức tạp, nhằm hướng dẫn các bạn bước đầu làm quen với dòng STM32 và sau đó, tất nhiên rồi sẽ trở thành các chuyên gia trong lĩnh vực lập trình STM32. Tại sao là STM32? Hiện tại STM32 là một trong những dòng chip rất phổ biến trên thế giới được sử dụng rộng rãi trong hầu hết mọi lĩnh vực như: tự động hóa và điều khiển, IOT, thiết bị đo lường, giải trí, …. Với ưu điểm vượt trội là hiệu suất hoạt động cao, giá thành rẻ, các chip có thể thay thế nhau nếu tài nguyên của một vi điều khiển không đủ thì chúng ta hoàn toàn có thể thay thế bằng một vi điều khiển khác mà không cần thay đổi về cấu trúc của bảng mạch điện tử,… Bên cạnh đó, các công cụ phần mềm hỗ trợ, thư viện mà công ty STM cung cấp thật sự là rất TUYỆT VỜI để giúp chúng ta có thể tạo ra sản phẩm một cách nhanh và hiệu quả nhất. Nhà cung cấp còn đảm bảo rằng những dòng chip mà họ phát triển sẽ còn được sản xuất trong hàng chục năm tới. Cụ thể các bạn vào đường link sau trên trang chủ của STM: https://www.st.com/en/microcontrollers-microprocessors/stm32f103.html
, họ đảm bảo rằng các dòng chip sẽ được sản xuất trong vòng 10 năm tới là điều chắc chắn. Hình dưới là một ví dụ về sự đảm bảo đó của dòng STM32F103

Bonus thêm cho các bạn :)), tôi là kỹ sư phần mềm nhúng làm việc cho một tập đoàn công nghệ lớn tại Việt Nam, chúng tôi hằng ngày cũng đang làm việc rất nhiều với dòng STM32, vì vậy những ai còn nghi ngờ để bắt đầu tìm hiểu STM32 thì sau dòng tâm sự này, các bạn hãy vững tin để chúng ta mở ra một kỷ nguyên mới nhé, kỷ nguyên STM32 . Dĩ nhiên khi mà các bạn đã thành thạo lập trình STM32 thì các bạn rất dễ dàng để chuyển sang các dòng chip khác.
Để bắt đầu cho hành trình gian nan này, các bạn cần phải chuẩn bị cho bản thân hành trang mang theo: phần cứng và phần mềm hỗ trợ lập trình. Phần mềm hỗ trợ lập trình thì nhà sản xuất đã cung cấp khá đầy đủ cho chúng ta rồi, nội dung này tôi sẽ trình bày sau. Phần cứng bắt buộc chúng ta phải trang bị, đầu tiên đó là Kit phát triển. Có rất nhiều lựa chọn như: Discovery board, Nucleo chính hãng của STM hoặc là module phổ biến rất thịnh hàng trên các trang mạng có bán STM32F103C8T6

Để đồng hành cùng chúng ta trong những chuỗi bài đầu tiên, tôi sẽ sử dụng moduel STM32F103C8T6. Không giống như những bo mạch mà nhà sản xuất cung cấp đa số đều có trang bị mạch nạp code STLink, thì STM32F103C8T6 cần trang bị thêm mạch nạp STLink, tôi sẽ sử dụng loại thông thường nhất đó là mạch nạp STLinh v2 (có rất nhiều màu sắc để các bạn chọn). Các bạn cũng có thể sử dụng mạch STLink của nhà sản xuất nhé!

Bên cạnh mạch vi điều khiển và mạch nạp, chúng ta sẽ sử dụng nhiều loại cảm biến, led, màn hình LCD, … để thực hiện các dự án. Thứ cuối cùng và quan trọng nhất đó chính là lòng kiên trì nhé các bạn! Chúng ta sẽ cùng nhau đi từng bước một và thật chắc chắn, đừng bao giờ bỏ cuộc nhé!
Như vậy combo phần cứng để chúng ta bắt đầu chinh phục STM32 là module STM32F103C8T6 và stlink (hàng quốc dân nhé các bạn ^^).

Hết chuẩn bị phần cứng, bây giờ chúng ta cùng nhau chuẩn bị những công cụ phần mềm. Đầu tiên là phần mềm STM32CubeIDE, đây là phần mềm mà ở đó chúng ta sẽ viết câu lệnh để truyền tải những ý tưởng tới vi điều khiển. STM32CubeIDE là một công cụ tuyệt vời để lập trình STM32, nó giúp chúng ta Debug lỗi, tạo file nạp vào vi điều khiển, cho phép cài đặt cấu hình chip và generate code,… rất là nhiều tính năng nữa, tôi sẽ hướng dẫn ở những buổi học tiếp theo.
Bây giờ chúng ta sẽ tiến hành cài đặt phần mềm STM32CubeIDE. Các bạn có thể gõ trên google từ khóa STM32CubeIDE hoặc đi đến địa chỉ: https://www.st.com/en/development-tools/stm32cubeide.html trang chủ của STM, sau đó kéo chuột xuống mục như hình vẽ. Chọn Get latest phù hợp với hệ điều hành mà máy tính của các bạn đang sử dụng (tôi đang sử dụng Windows). Lưu ý là bắt buộc phải đăng ký hoặc đăng nhập tài khoản để có thể download tất cả các phần mềm của STM nhé các bạn.

Sau khi tải phần mềm về máy tính, chúng ta giải nén file và tiến hành cài đặt

Tiếp theo các bạn chọn Next

Chọn I Agree

Next

Chọn Install, ở đây chúng ta sẽ chọn cài đặt cả hai loại mạch nạp cho STM đó là SEGGER J-Link và ST-Link.

Sau đó đợi cho đến khi cài đặt xong và chọn Next

Finish để hoàn thành quá trình cài đặt phần mềm STM32CubeIDE

Vậy là chúng ta đã cài đặt xong công cụ đầu tiên. Tiếp theo là phần mềm STM32CubeMX, đây là phần mềm giúp chúng ta có thể thiết lập các chân, cấu hình ngoại vi của vi điều khiển,… sau đó tự động xuất code trên STMM32CubeIDE để người dùng có thể tiến hành code một cách nhanh chóng và tiện lợi nhất. Mặc dù trên STM32CubeIDE cũng có tính năng này, nhưng tôi muốn giới thiệu cho các bạn biết hết những công cụ hữu ích mà STM đã trang bị. Một khía cạnh khác nữa là bản thân tôi thích sử dụng STM32CubeMX để generate project của mình hơn so với trên STM32CubeIDE.
Để cài đặt STM32CubeMX các bạn cũng làm tương tự như cách mà tôi đã trình bày đối với STM32CubeIDE.
Sau khi tải phần mềm về máy tính và giải nén chúng ta tiến hành cài đặt

Chọn Install for only me

Chọn Next

Chọn I a accept sau đó chọn Next

Chọn I have read and understood sau đó Next

Tiếp theo là chọn ổ đĩa mà bạn muốn cài đặt phần mềm, bạn nên chọn ổ C như mặc định và bấm Next

Tiếp theo nhấn OK

Cửa sổ tiếp theo nhấn Next

Đợi cho đến khi phần mềm cài đặt xong và nhấn Next

Cuối cùng nhấn Done để hoàn thành quá trình cài đặt STM32CubeMX

Như vậy trong bài viết ngày hôm nay, chúng ta đã chuẩn bị những công cụ phần cứng cũng như phần mềm để bắt đầu lập trình cho dòng vi điều khiển STM32. Video hướng dẫn cài đặt phần mềm phía dưới bài viết.
Ở bài viết sau, chúng ta sẽ cùng nhau bắt đầu viết phần mềm cho STM32.
Video hướng dẫn tại: https://www.youtube.com/watch?v=E4PtRP1k7ic&list=PLQyFDaQjUCO1iWbhrnlrUihuuSHIzmhgi&index=1&t=30s
Mọi thắc mắc, góp ý xin các bạn để lại dưới comment! Kính chào tạm biệt và hẹn gặp lại!

Bình luận về bài viết này