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. Continue Reading

Hiện nay, hầu hết các dòng vi điều khiển đều được tích hợp khối ngoại vi chuyển đổi tín hiệu tương tự – số (ADC). Đây là một bộ phận quan trọng giúp vi điều khiển có thể đọc được với các tín hiệu analog từ bên ngoài như tínContinue Reading

Hiểu được cấu trúc của khối GPIO và lập trình nhập xuất tín hiệu số trên các chân của một vi điều khiển với các bài tập như: điều khiển LED nhấp nháy hay đọc trạng thái nút nhấn luôn là bước đầu tiên đối với những bạn học lậpContinue Reading

Chuẩn giao tiếp truyền thông nối tiếp UART trên Arduino (hay còn được biết đến với tên gọi Serial) là chuẩn giao tiếp được sử dụng rất nhiều trong các ứng dụng thống nhúng. Trong bài viết này, mình sẽ hướng dẫn các bạn tiếp cận và lập trình với giao tiếp UART một cách đơn giản nhấtContinue Reading

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.Continue Reading

Arduino Uno R3 là một Board mạch vi điều khiển phổ biến được rất nhiều người sử dụng để học hoặc làm các ứng dụng nhúng đơn giản. Các ưu điểm khi các bạn làm việc với Arduino là thư viện hỗ trợ đầy đủ, cộng đồng người sử dụng đông, rất nhiều ví dụ và đề tài mẫu để tham khảo. Tuy nhiên, lại có ít bài viết đề cập tới phần cứng của Board mạch Arduino cho những người mới bắt đầu. Hiểu được thiết kế phần cứng giúp các bạn có thể tự thiết kế 1 sản phẩm hoàn chỉnh từ vi điều khiển và các linh kiện rời mà không cần sử dụng nguyên board Arduino. Có thể đây sẽ là 1 bước quan trọng để các bạn hoàn thiện hơn khả năng của mình.Continue Reading

Insomnia là một ứng dụng máy tính đa nền tảng giúp các bạn làm việc với giao thức HTTP một các thuận tiện. Giao diện sử dụng của Insomnia rất đơn giản mà lại không nhàm chán. Trong lĩnh vực  Internet of Things hoặc Embedded System thì chúng ta thường làm việc với các module Wifi , Ethernet, GPRS, 3G để truyền nhận dữ liệu với Server thông qua giao thức HTTP bằng các phương thức phổ biến như GET, POST. Bài viết này sẽ hướng dẫn các bạn cách cài đặt và thực hiện một HTTP Request trên Insomnia. Continue Reading

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. Continue Reading