I2C – Inter- Intergrated Circuit là chuẩn truyền thông nối tiếp gồm 2 dây Clock và  Data được phát minh bởi hãng Philips. Chuẩn I2C trở nên thông dụng với nhiều module và IC sử dụng rộng rãi như: IC nhớ (24Cxxx), cảm biến góc nghiêng(MPU6050), module giao tiếp LCD (dùng IC PCF8574), IC thời gian thực (DS1307, DS3231, BQ32000), IC chuyển đổi tín hiệu số, tương tự… Chuẩn giao tiếp này hỗ trợ giao tiếp ở tốc độ 100Khz hoặc 400Khz. Continue Reading

NVIC – Nested vectored interrupt controller là bộ điều khiển xử lý ngắt có trong MCU STM32F103C8T6, việc lập trình sử dụng ngắt là một kĩ năng quan trọng khi các bạn lập trìnhh vi điều khiển. Nếu không có ngắt thì chương trình sẽ thực hiện theo một trình tự từ trên xuống dưới, ngắt giúp chương trình xử lý theo sự việc, đáp ứng được các sự kiện như sự thay đổi mức logic từ 1 chân vi điều khiển (ngắt ngoài), nhận một kí tự (ngắt nhận UART)…. Trong bài viết này, mình sẽ trình bày về ngắt ngoài (external interrupt) của vi điều khiển STM3232F103C8T6.Continue Reading

LCD 16×2 là một ngoại vi ouput được sử dụng rất nhiều trong các đề tài, dự án để hiển thị các thông tin dưới dạng text cho người dùng. Trong bài viết này sẽ giới thiệu và hướng dẫn các bạn giao tiếp hiển thị thông tin lên LCD 16×2 sử dụng MCU STM32F103C8T6 thông qua module I2C. Continue Reading

Window Watchdog (WWDG) là một watchdog timer nâng cao, dùng để phát hiện nếu có sự xuất hiện của một lỗi phần mềm nào đó. Không giống như Independent Watchdog Timer (IWDG), bộ đếm của WWDG phải được reload (refreshed) trong khoảng thời gian window giới hạn. Nếu reload trước hoặc sau khoảng thời gian đó sẽ dẫn đến reset MCU.Continue Reading

Các sản phẩm khi sử dụng thực tế yêu cầu có sự ổn định cao trong suốt quá trình sử dụng. Một hệ thống có thể bị treo từ rất nhiều nguyên nhân như chương trình code chưa chặt chẽ, ngoại vi không phản hồi, nhiễu, tràn bộ nhớ… Lúc này các bạn cần khởi động lại hệ thống để mọi thứ có thể chạy lại từ đầu, kết hợp với việc báo lỗi để chúng ta tìm ra nguyên nhân và chỉnh sửa kịp thời. Watchdog timer là một chức năng của vi điều kiển giúp các bạn có thể phát hiện ra hệ thống bị treo và thực hiện reset.Continue Reading