Modbus RTU hoạt động dựa trên nguyên tắc master – slave, một thiết bị master sẽ điều khiển một hoặc nhiều thiết bị slave. Slave không thể truyền dữ liệu tự động được mà cần phải được Master yêu cầu. Master sẽ ghi hoặc đọc dữ liệu trong các thanh ghi của thiết bị Slave. Mỗi Slave có một địa chỉ 8 bit và không trùng với các Slave khác. Khái niệm về giao thức Modbus RTU kết nối phần cứng cho giao thức này đã được mình trình bày trong bài viết tại đây. Còn trong bài viết này, mình sẽ giới thiệu về cấu trúc của một khung truyền giao thức Modbus RTU.Continue Reading

Board STM32 BluePill là một Board mạch phát triển STM32 đơn giản với vi điều khiển STM32F103C8T6. Board mạch này không phải chính hãng của STMicroelectronics, sử dụng kèm với một mạch nạp/debugger ST-Link. Có giá thành rẻ nên thường được các bạn sinh viên lựa chọn khi mới bắt đầu học/tìm hiểu về dòng vi điều khiển STM32 lõi ARM. Tuy nhiên, trên thị trường hiện nay có xuất hiện nhiều board mạch này được thiết kế sử dụng chip fake. Bài viết này sẽ trình bày các vấn đề gặp phải và cách khắc phục giúp các bạn có thể sử dụng STM32CubeIDE để lập trình, debug được board mạch STM32F103 BluePill.Continue Reading

Trong một chương trình C, tất cả các dòng lệnh bắt đầu bằng dấu #  như là #include, #define, #ifdef,… được xử lý bởi Preprocessor (bộ tiền xử lý), đây là một chương trình đặc biệt được gọi bởi Compiler (trình biên dịch). Hiểu một cách đơn giản thì bộContinue Reading

Trong chuỗi bài viết hướng dẫn cập nhật chương trình từ xa (FOTA) cho dòng vi điều khiển STM32F103, mình đã trình bày tổng quan về mô hình FOTA ở phần 1, cách viết chương trình Bootloader ở phần 2, và giải thích về cấu trúc của một file chương trình IntelContinue Reading

Để sử dụng tính năng FOTA, bộ nhớ chương trình trong STM32F103RCT6 sẽ chia làm 4 chương trình chính tại 4 vị trí khác nhau là: Bootloader Firmware, FOTA Firmware, Factory Firmware và Current Firmware. Trong đó, FOTA Firmware có nhiệm vụ thực hiện việc cập nhật chương trình bằng cách kết nối và tải chương trình mới từ server về và lưu vào bộ nhớ flash để thay đổi Current Firmware cho cho thiết bị. Bài viết này sẽ phân tích và hướng dẫn các bạn viết chương trình cho FOTA Firmware.Continue Reading

Hệ sinh thái STM32Cube là một giải pháp phần mềm hoàn chỉnh cho các dòng vi điều khiển STM32 và các dòng vi xử lý. Hệ sinh thái này dành cho những người dùng đang tìm kiếm một môi trường phát triển đầy đủ và miễn phí cho STM32, cũng như dành cho những người đang sử dụng một số IDE khác như KeilC hoặc IAR. Trong hệ sinh thái này có sự tích hợp của các thành phần gồm STM32CubeMX, STMCubeProgrammer và STM32CubeMonitor.Continue Reading