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

STM32F103C8T6 – Từ 1 câu chuyện thực tế: việc ghi giá trị vào 1 chân đã được cấu hình GPIO INPUT hay GPIO External Interrupt là có tác dụng, điều này có thể dẫn đến chương trình của bạn bị lỗi. Mình đã debug quan sát giá trị thanh ghi và đo đạc thực tế trên chân vi điều khiển để kiểm tra. Continue Reading

Programable Peripheral Interconnect (PPI) là chức năng nên chip Bluetooth nRF52832 cho phép một ngoại vi tự động tương tác với các ngoại vi khác sử dụng các task và event mà không cần sự can thiệp của CPU. Khai thác PPI giúp tăng tốc độ thực thi các công việc đồng thời tiết kiệm năng lượng.Continue Reading

Giao tiếp UART trên Chip Bluetooth nRF52832 hoạt động ở chế độ Full-Duplex với bộ truyền, nhận độc lập, hỗ trợ Hardware flow control, kiểm tra Parity và sử dụng 1 bit kết thúc. Mặc dù chỉ có 01 bộ UART nhưng bạn có thể cấu hình bất kỳ chân IO nào để thực hiện giao tiếp này. UART retarget printf cũng được cung cấp sẵn trong SKD mang đến sự tiện lợi người phát triển.Continue Reading