Nhiều bạn lập trình nhúng khi phát triển hoặc debug chương trình thường có suy nghĩ sử dụng các hàm trong thư viện chuẩn của C như printf() để gửi dữ liệu thông qua giao tiếp UART đến máy tính và hiển thị trên các phần mềm như Terminal, Hercules hoặc giao tiếp với các module khác…Nếu có thể sử dụng được hàm printf() thì giao tiếp UART sẽ trở nên đơn giản và quen thuộc hơn. Vậy làm thế nào để có thể sử dụng hàm printf() trong Keil C?Continue Reading

Trong các ứng dụng vi điều khiển- hệ thống nhúng, bộ chuyển đổi tương tự-số (ADC) là 1 thành phần rất quan trọng để có thể chuyển đổi các dữ liệu dạng analog từ môi trường (nhiệt độ, độ ẩm, độ sáng,…) sang dạng digital để vi điều khiển có thể xử lý được. STM32F103C8 có tích hợp sẵn các bộ chuyển đổi ADC với độ phân giải 12bit. Có 12 kênh cho phép đo tín hiệu từ 10 nguồn bên ngoài và 2 nguồn nội bên trong. Trong bài này, chúng ta sẽ cùng  tìm hiểu về chế độ đơn kênh với STM32, sử dụng Interrupt để báo quá trình chuyển đổi hoàn tất.Continue Reading

Nền tảng Internet of Things (IoTs Platform) là những ứng dụng thực hiện việc liên kết giữa các thiết bị IoT và trung tâm dữ liệu từ đó tạo ra một mạng dữ liệu cung cấp đầy đủ thông tin được thu thập từ hàng trăm thiết bị IoT khác nhau. Với những khả năng mà IoT platform có thể cung cấp được, các công ty công nghệ ngày càng tận dụng nó nhiều hơn.Continue Reading

Log chính là nhật ký hoạt động của phần mềm, được hiển thị dưới dạng text. Vậy làm thể nào để hệ thống nhúng có thể ghi lại log và hiển thị dưới dạng text. Hãy tận dụng các giao thức truyền thông luôn luôn được tích hợp sẵn trong các vi điều khiển trong hệ thống nhúng để có thể có thể phát triển chương trình nhúng một cách tốt nhất.Continue Reading

Debug (gỡ lỗi) là một kĩ năng nền tảng của lập trình viên. Mục đích của Debug không chỉ dùng để loại bỏ lỗi (error) khỏi chương trình mà quan trọng debug sẽ giúp lập trình viên hiểu rõ hơn về sự thực thi của chương trình. Một lập trình viên không có khả năng debug  thì sẽ rất khó kiểm soát sự thực thi chương trình của mình.Continue Reading

Bài viết này hướng dẫn về chức năng Output push – pull sử dụng kit STM32F103C8T6. General-purpose Input/Output (GPIO) rất phổ biến, là một chức năng ngoại vi cơ bản của mỗi loại vi điều khiển, bao gồm các chân đầu vào và chân đầu ra, có thể được điều khiển bởi người dùng…Continue Reading