Author name: Tạ Lục Gia Hoàng

Tham khảo Chân Ra của ESP32: Chân GPIO nào nên dùng?

Chip ESP32 gồm có 48 chân (pin) cùng với nhiều chức năng. Không phải tất cả các chân đều ‘lòi’ ra trong ngoài ở tất cả các board phát triển ESP32, một số chân thì không thể sử dụng được.
Có nhiều câu hỏi về cách sử dụng GPIO của ESP32. Chân gì nên sử dụng? Chân gì nên tránh sử dụng trong các dự án của bạn? Bài viết này là một hướng dẫn tham khảo đơn giản và dễ làm theo cho các GPIO của ESP32.

Tham khảo Chân Ra của ESP32: Chân GPIO nào nên dùng? Read More »

Cài đặt ESP32 Board cho Arduino IDE (Windows, Mac OS X, Linux)

Một tiện ích bổ sung (add-on) cho Arduino IDE cho phép bạn lập trình ESP32 bằng Arduino IDE và ngôn ngữ lập trình của nó. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt bảng ESP32 trong Arduino IDE cho dù bạn đang sử dụng Windows, Mac OS X hay Linux.

Cài đặt ESP32 Board cho Arduino IDE (Windows, Mac OS X, Linux) Read More »

Làm quen với ESP32 Development Board

Bài viết này sẽ hướng dẫn bạn làm quen với board phát triển ESP32. Nếu bạn đã quen với ESP8266, thì ESP32 chính là thành công của nó. ESP32 đem đến rất nhiều tính năng mới. Điều thường được nhắc đến nhiều nhất chính là: nó kết hợp khả năng WiFi và Bluetooth và nó là lõi kép (dual core).

Làm quen với ESP32 Development Board Read More »

Writing Reusable Drivers (Phần 1)

Viết một driver có thể được sử dụng từ application này sang application khác có thể rất hữu ích cho các embedded-software developer. Một khi driver được viết xong, các developer có thể tập trung vào application code và không phải lo lắng gì về các bit và byte. Các mẫu thiết kế (design pattern) driver có thể được sử dụng lại không chỉ trên cùng một phần cứng (hardware) mà còn trên nhiều nền tảng (platform) khác, chỉ bằng những thay đổi nhỏ cần thiết để điều chỉnh driver để truy cập các vùng bộ nhớ (memory region) khác nhau.

Trong chương này, chúng ta sẽ xem xét các phương pháp luận (methodology) khác nhau mà developer có thể sử dụng để ánh xạ (map) vào bộ nhớ ngoại vi (peripheral memory) và sau đó chúng ta sẽ chứng minh cách sử dụng từng kỹ thuật.

Writing Reusable Drivers (Phần 1) Read More »

Cấu trúc chương trình (Phần 2)

(Phần 1) , (Phần 2) Nội dung 1. Vai trò của hàm (function) 2. Sử dụng lưu đồ để thiết kế cấu trúc chương trình 3. Mã giả (pseudo code) 4. Chia chương trình thành các module 5. Quá trình biên dịch chương trình 6. Chỉ dẫn tiền biên dịch Chỉ dẫn #include Chỉ dẫn

Cấu trúc chương trình (Phần 2) Read More »

Khái niệm lập trình Portable Firmware (Phần 3)

10. Embedded-Software Architecture Trong những ngày đầu, lập trình firmware sử dụng các bộ vi điều khiển cực kỳ hạn chế về tài nguyên. Mỗi từng bit phải được tách ra khỏi không gian bộ nhớ code và data. Khả năng tái sử dụng phần mềm là một mối quan tâm nhỏ và các chương

Khái niệm lập trình Portable Firmware (Phần 3) Read More »

Khái niệm lập trình Portable Firmware (Phần 2)

3. Sự Module hóa Nhiều lần trong vài năm qua, tôi từng làm việc với một khách hàng mà nguyên cả ứng dụng của họ, hơn 50,000 dòng code, chỉ để trong một module là main.c. Nỗ lực bảo trì phần mềm hoặc tái sử dụng các đoạn code nhanh chóng trở thành một cơn

Khái niệm lập trình Portable Firmware (Phần 2) Read More »