Hiểu và sử dụng Independent Watchdog trên STM32F411 – chống treo vi điều khiển

Hiểu và sử dụng Independent Watchdog trên STM32F411 – chống treo vi điều khiển

Vi điều khiển STM32F411 tính hợp hai bộ ngoại vi Watchdog là Independent Watchdog (IWDG) và Window Watchdog(WWDG) với độ chính xác cao và khả năng áp dụng linh hoạt trong các ứng dụng. Cả hai bộ Watchdog này đều được sử dụng phát hiện và giải quyết các sự cố do lỗi phần mềm, từ đó kích hoạt khởi động lại vi điều khiển hoặc thực thi một chương trình ngắt (chỉ có ở Window Watchdog) khi tổng thời gian mà bộ đếm (counter) của watchdog chạm đến giá trị timeout đã được cấu hình trước. Bài viết này cung cấp những nội dung để các có thể hiểu được về cấu trúc, cách hoạt động của IWDG và hướng dẫn sử dụng IWDG với một bài tập thực hành đơn giản, dễ hiểu.

Tìm hiểu và sử dụng của timer trên STM32F411

Tìm hiểu và sử dụng của timer trên STM32F411

Timer là một loại ngoại vi được tích hợp ở hầu hết các vi điều khiển, cung cấp cho người dùng nhiều ứng dụng như xác định chính xác một khoảng thời gian, đo – đếm xung đầu vào, điều khiển dạng sóng đầu ra, băm xung. STM32F411 có 8 bộ Timer, trong đó có 1 bộ Advanced – control timer (TIM1) thường được các bộ thư viện sử dụng để tạo bộ đếm thời gian chuẩn của hệ thống (như ngắt System Tick, các hàm tạo Delay, TimeOut…), và 7 bộ General – purpose timer (TIM2 đến TIM5 và TIM9 đến TIM11).

Các kỹ thuật thiết kế luồng chương trình cho hệ thống nhúng

Các kỹ thuật thiết kế luồng chương trình cho hệ thống nhúng

Có nhiều cách để thiết kế luồng thực hiện chương trình cho hệ thống nhúng như: Polling, Interrupts, DMA, RTOS hoặc kết hợp các phương pháp trên lại với nhau. Bài viết này sẽ giúp các bạn làm quen với các kỹ thuật thiết kế trên và nắm được các ưu điểm, nhược điểm của mỗi kỹ thuật để có thể lựa chọn được phương pháp phù hợp cho hệ thống của mình. 

Hướng dẫn sử dụng STM32CubeMX và Keil C để lập trình STM32

Hướng dẫn sử dụng STM32CubeMX và Keil C để lập trình STM32

Phần mềm STM32CubeMX là một phần mềm hỗ trợ việc cấu hình các chức năng cho các dòng vi điều khiển STM32 thông qua giao diện đồ họa và tạo ra code từ các cấu hình đó. Keil C IDE là một môi trường phát triển tích hợp giúp chúng ta có thể viết code, compile, debugs, nạp chương trình xuống vi điều khiển. Bài viết này hướng dẫn cho những bạn mới bắt đầu tìm hiểu dòng vi điều khiển STM32 cách tiếp cận và sử dụng 2 phần mềm này.

Cách phân biệt các chân sinh ra ngắt trên vi điều khiển STM32

Cách phân biệt các chân sinh ra ngắt trên vi điều khiển STM32

Làm sao để biết yêu cầu ngắt được tạo ra từ chân GPIO nào khi chương trình của bạn sử dụng nhiều chân External Interrupt? Trong bài viết này, mình sẽ giúp các bạn giải quyết được vấn đề trên với các ví dụ cụ thể. Mình sử dụng vi điều khiển STM32F103C8T6, cấu hình bằng STM32CubeMX sau đó code bằng Keil C IDE, sử dụng thư viện HAL.