Tìm hiểu chức năng USART trên STM32F411

Tìm hiểu chức năng USART trên STM32F411

Bộ giao tiếp USART được dùng để trao đổi dữ liệu giữa MCU với các thiết bị bên ngoài dựa trên định dạng dữ liệu nối tiếp bất đồng bộ NRZ tiêu chuẩn công nghiệp. Bộ USART có hai chế độ truyền là truyền dữ liệu đồng bộ (Synchronous) và truyền dữ liệu không đồng bộ (Asynchronous)

Chống treo sử dụng Window Watchdog trên STM32F411

Chống treo sử dụng Window Watchdog trên STM32F411

Bên cạnh khả năng phát hiện nhiễu hay lỗi phần mềm làm chương trình nhúng bị treo hoặc thực hiện lệnh trễ hơn bình thường như tính năng của khối Independent Watchdog (IWDG), thì Window Watchdog Timer (WWDG) còn có khả năng phát hiện được lỗi làm cho lệnh bị thực thi sớm hơn dự kiến. Khối watchdog này sẽ tạo tín hiệu reset MCU khi gặp các trường hợp trên. Không chỉ vậy, một yêu cầu ngắt để MCU thực hiện một số lệnh an toàn hay lưu trữ các thông tin cần thiết trước khi reset cũng được hỗ trợ nếu được người dùng cấu hình cho phép Early wakeup interrupt (EWI)

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).