Trong chương trình nhúng, Interrupt là quá trình dừng chương trình chính đang chạy để ưu tiên thực hiện một chương trình khác, chương trình này được gọi là chương trình phục vụ ngắt (ISR – Interrupt Service Routine). Ngắt là một chức năng quan trọng, tiên quyết cho việc phát hiện và xử lý nhanh các sự kiện theo thời gian thực. Nhờ có ngắt mà vi điều khiển, có thể phát hiện được các sự kiện như thay đổi mức tín hiệu logic từ việc nhất nút, cảm biến, truyền nhận các gói tin, các giao động… Tuy nhiên, cũng vì những lợi thế của ngắt mà khi lập trình ngắt, nếu bất cẩn thì chúng ta sẽ phải đối mặt với những lỗi, những tình huống không ai mong muốn.Continue Reading

SIM900(A) là module GSM/GPRS của hãng SIMCom được thiết kế dưới dạng module chipset, nhỏ gọn, giá thành thấp, hoạt động ổn định và phù hợp cho nhiều mục đích sử dụng. Module SIM900(A) có các tính năng cơ bản của một chiếc điện thoại như gọi điện thoại, nhắn tin, truy cập GPRS,… Module SIM900(A) Mini của ChipFC thiết kế dựa trên chipset SIM900(A). SIM900(A) Mini được tích hợp các linh kiện, kết nối cần thiết, sẵn sàng cho người sử dụng để nghiên cứu, học tập hoặc làm demo nhanh chóng, tiện lợi các dự án có ứng dụng GSM/GPRS. SIM900(A) Mini nhỏ gọn, tiết kiệm chi phí, giúp người dùng tiếp cận và sử dụng nhanh nhất cho dự án của mình.Continue Reading

Các máy tính/vi điều khiển thường truyền tín hiệu theo hai cách: Song song và nối tiếp. Trong kênh truyền song song, khi truyền một gói dữ liệu n-bit thì ta cần n đường truyền, mỗi bit trong gói dữ liệu sẽ đi trên một đường truyền. Trong kênh truyền nối tiếp, ta chỉ cần một đường truyền để truyền tuần tự n bit của gói dữ liệu. Như vậy, để truyền một gói dữ liệu trong kênh truyền song song ta tốn một khoản thời gian tbit, trong kênh truyền nối tiếp để truyền n bit ta tốn khoản thời gian n*tbit :Continue Reading

Khi chúng ta nghe thấy ai đó nhắc tới hệ điều hành (Operating System – OS) thì chúng ta sẽ nghĩ ngay tới chiếc máy tính chạy Windows XP, Windows 7, Windows 8 hay chạy một distro Linux và Android hoặc iOS cho điện thoại. Chúng ta biết đến hệ điều hành chủ yếu là dành cho máy tính. Tuy nhiên trong thực tế, có rất nhiều thiết bị điện tử có chạy một dạng hệ điều hành rút gọn bên trong nó. Bên cạnh đó cũng có rất nhiều loại hệ điều hành được thiết kế cho vi điều khiển. Trong số chúng có một số thuộc họ Hệ điều hành thời gian thực (Real Time Operating System – RTOS), cụm từ thời gian thực ở đây chỉ ra rằng thời gian phản hồi của hệ thống là rất nhanh.Continue Reading

Không giống như di động, thiết bị IoT chạy trên những hệ điều hành thương mại và mã nguồn mở khác nhau, và đây là những ứng cử viên hàng đầu hiện được sử dụng nhiều nhất. Các ngành công nghiệp công nghệ cao đang dành nhiều nguồn lực vào lĩnh vực Internet of Things (IoT). Các công ty công nghệ cùng với cộng đồng mã nguồn mở cũng hợp tác với nhau để phát triển hệ điều hành dành cho dòng thiết bị này.Continue Reading

Trong lập trình nhúng (embedded system), ta rất thường hay gặp khai báo biến với từ khóa volatile. Việc khai báo biến volatile là rất cần thiết để tránh những lỗi sai khó phát hiện do tính năng optimization của compiler. Trong bài viết này, ta sẽ tìm hiểu ý nghĩa của từ khóa này, cách sử dụng nó và giải thích tại sao nó quan trọng trong một số trường hợp lập trình với hệ thống nhúng và lập trình ứng dụng đa luồng.Continue Reading

Lệnh SET BIT là lệnh cài đặt 1 bit mong muốn trong thanh ghi cho nó có giá trị logic 1 và không làm thay đổi giá trị các bit còn lại của thanh ghi đó. Lệnh CLEAR BIT là lệnh cài đặt 1 bit mong muốn trong thanh ghi cho nó giá trị logic 0 và không làm thay đổi giá trị các bit còn lại của thanh ghi đó. Lệnh TOGGLE BIT là lệnh cài đặt 1 bit mong muốn trong thanh ghi cho nó giá trị logic 0 nếu trước đó nó có giá trị logic 1 và ngược lại, đồng thời không làm thay đổi giá trị các bit còn lại của thanh ghi đó.Continue Reading

Internet of Things (IoTs) là thuật ngữ rất phổ biến hiện nay, dùng để chỉ một tập hợp các thiết bị có khả năng kết nối internet và kết nối được với nhau để thực hiện một công việc nào đó. Để khai thác hết được tiềm năng của mô hình IoT, các thiết bị kết nối cần phải giao tiếp bằng các giao thức nhẹ mà không làm tiêu tốn quá nhiều tài nguyên của CPU. Dưới đây cung cấp tổng quan về 5 giao thức truyền tải dữ liệu phổ biến có thể được sử dụng trong các mô hình Internet of Things.Continue Reading