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

STM32CubeMX là một công cụ hỗ trợ cấu hình và sinh code cho MCU STM32. Tất cả các công việc cấu hình, nâng cấp đều được thực hiện qua giao diện đồ họa. Việc này giúp cho việc lập trình trên STM32 dễ dàng hơn, rút ngắn được thời gian nghiên cứu và phát triển. Bài viết này sẽ hướng dẫn các bước cài dặt STM32CubeMX. Continue Reading

Quy trình dịch là quá trình chuyển đổi từ ngôn ngữ bậc cao (C/C++, Pascal, Java, C#…) sang ngôn ngữ đích (ngôn ngữ máy) để máy tính có thể hiểu và thực thi. Ngôn ngữ lập trình C là một ngôn ngữ dạng biên dịch. Chương trình được viết bằng C muốn chạy được trên máy tính phải trải qua một quá trình biên dịch để chuyển đổi từ dạng mã nguồn sang chương trình dạng mã thực thi. Quá trình biên dịch C sẽ được trình bày trong bài chia sẻ này. Continue Reading

Bên cạnh các từ khoá thường dùng, C/C++ có 1 số lệnh tiền xử lí, những lệnh này không bao giờ được biên dịch thành bất kì dòng lệnh nào trong mã thực thi. Thay vào đó nó có ảnh hưởng đến các khía cạnh của quy trình biên dịch. Ví dụ, ta có thể dùng chỉ dẫn tiền xử lí để ngăn trình biên dịch biên dịch một phần đoạn mã nào đó. Chỉ thị tiền xử lí được phân biệt bằng cách bắt đầu với dấu #. Chỉ thị tiền xử lý không phải là lệnh C/C++ vì vậy không có dấu “;” khi kết thúc. Bài viết này sẽ giúp bạn hiểu rõ hơn vấn đề này.Continue Reading

TWI (Two-Wire Serial Intereafce) là một module truyền thông nối tiếp đồng bộ trên các chip AVR dựa trên chuẩn truyền thông I2C. I2C là viết tắc của từ Inter-Integrated Circuit là một chuẩn truyền thông do hãng điện tử Philips Semiconductor sáng lập và xây dựng thành chuẩn năm 1990. Phiên bản mới nhất của I2C là V3.0 phát hành năm 2007.Continue Reading

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