Title Image

Blog Logo

STM32 RoadMap

🌱 STM32 RoadMap

    Nhiều bạn mong muốn học lập trình STM32 để bắt đầu với ngành nhúng, tuy nhiên lại không biết bắt đầu từ đâu, và học những gì. Việc quá vội vã cũng có thể khiến nhiều bạn đi sai hướng: "Lạc lối" trong đống thanh ghi, hay "sống quá đơn giản" với thư viện HAL, ... nhiều người thì "lạc giữa sa mạc" kiến thức. 

    👉 Bắt đầu với C / Vi điều khiển 8-bits

    Điều đầu tiên bạn cần có khi Start STM32 mà ai cũng khuyên, đó là bạn cầm học lập trình C (Thật chắc chắn từ cơ bản đến nâng cao). Ngoài kiến thức C cơ bản thì những kỹ thuật nâng cao như sử dụng Macro, Pointer, Struct, Union, ... bạn cần phải nắm thật chắc chắn. 
    Lập trình C thì có thể học trên mạng, có rất nhiều trang cả Việt Nam và nước ngoài. Hoặc bạn có thể tham khảo C nhúng tại đây!
    Sau đó, bạn nên có một chút kiến thức về 1 dòng Vi điều khiển 8 - bits nào đó, cái này là không bắt buộc. Mình recommend một trong 3 dòng 8051, AVR hoặc PIC. Học các dòng 8 - bits này giúp bạn tạo cái Base về Vi xử lý và một số ngoại vi của Vi điều khiển, cách giao tiếp VĐK với các thiết bị ngoại vi, cùng với các kiến thức về điện tử cơ bản
   
     Các bạn cũng có thể tham khảo cách học vi điều khiển của mình nha 😁

    👉 Tìm hiểu về Core (Coretex M) và thanh ghi của Vi điều khiển STM32

    Có nhiều cách học, có người sẽ học thư viện STD trước, hoặc HAL trước, ... Nhưng nếu mục tiêu cuối cùng của bạn là hiểu về con STM32 và hiểu và dòng chip ARM thì chắc chắn bạn cần tìm hiểu về Core và và thanh ghi. 
    Mình recommend bạn nên có một bộ kit (F1 hoặc F4).
    Tài liệu Core Coretex M3, M4 bạn có thể tải trên trang chủ của ARM:
    Bạn cần tìm hiểu các thanh ghi lõi như R0 đến R11, Thanh ghi PC, LR, XPSR, ... và nhiều thanh ghi khác mà trong tài liệu có nói, các ngoại vi lõi như NVIC, FPU, MPU, ... 
    Khóa học hay hướng dẫn trên mạng về phần Core này là khá hạn chế. Vì vậy, bạn nên tìm một khóa học ở nước ngoài để học tập. Mình Recommend khóa Embedded Systems Programming on ARM Cortex-M3/M4 Processor và khóa học Cortex M4 trên Lập trình nhúng A-Z.
    Tương tự như Core thì các hướng dẫn về thanh ghi cũng khá hạn chế. Mình có đề xuất một kênh youtube của một anh làm rất hay: Lập trình nhúng A-Z. Tài liệu chấn phái cho phần này vẫn là Reference Manual của dòng tương ứng mà bạn học, có thể tải nó trên trang chủ của ARM. 
    Phần này bạn có thể thực hành một số ngoại vi cơ bản như RCC, GPIO, UART, TIMER, ADC, SPI, I2C, ... và giao tiếp với các thiết bị ngoại vi bên ngoài để thực hành. 

    👉 Viết thư viện dựa theo thư viện STD

    Một cách khác mà bạn có thể áp dụng, chính là cách mình học về thanh ghi, đó là viết lại một thư viện cho riêng mình, giống như thư viện STD 😊 Quá trình này sẽ giúp bạn rất hiểu về thư viện STD cũng như các kiến thức về C như Struct, Union, Pointer.  

    👉 Sử dụng thư viện

    Một điều không thể thiếu khi học Vi điều khiển đó là phải làm ứng dụng. Nếu như chỉ viết code chạy những hàm thông thường thì mình sẽ rất hạn chế, không nắm được các trường hợp sử dụng thực tế. Vì vậy, việc thực hành trên các Project là rất quan trọng. 
    Mình đề xuất dùng thư viện để làm Project thay vì thanh ghi, vì rõ ràng nó nhanh hơn, tiện lợi và ít sai sót hơn. Sau khi đã hiểu về thư viện thì tất nhiên mình sẽ sử dụng nó, không có gì là xấu cả !!
    Các bạn có thể dùng STD hoặc HAL test thử các ngoại vi GPIO, UART, ADC, TIMER, SPI, I2C, ... Sau đó có thể làm các ứng dụng tùy theo hiểu biết của mình. Ví dụ, mạnh cảm biến, làm quan trắc thì tập luyện với ADC, TIMER, UART, ... Nói chung là đến đây thì cần phải luyện tập khá nhiều để master hơn!

Chúc các bạn học tập tốt 😊

>>>= Follow ngay =<<<

💚 Kênh Youtube Lập trình - Điện tử 💚

Để nhận được những bài học miễn phí mới nhất nhé 😊



Đăng nhận xét

0 Nhận xét