Mục lục:

Khởi tạo cài đặt Arduino EEPROM: 5 bước
Khởi tạo cài đặt Arduino EEPROM: 5 bước

Video: Khởi tạo cài đặt Arduino EEPROM: 5 bước

Video: Khởi tạo cài đặt Arduino EEPROM: 5 bước
Video: Lưu giá trị vào bộ nhớ EEPROM của Arduino | Store long data to EEPROM 2024, Tháng mười một
Anonim
Image
Image
EEPROM là gì?
EEPROM là gì?

Chào mọi người, Mỗi Arduino đều có một bộ nhớ nhỏ được tích hợp sẵn gọi là EEPROM. Bạn có thể sử dụng điều này để lưu trữ các cài đặt cho dự án của mình, nơi các giá trị đã chọn sẽ được lưu giữ giữa các chu kỳ nguồn và chúng sẽ ở đó vào lần tiếp theo bạn cấp nguồn cho Arduino. Tôi có một thủ thuật thú vị sẽ dạy bạn cách bạn có thể tạo một tập hợp các giá trị mặc định trong lần chạy đầu tiên của mình, vì vậy hãy theo dõi để tìm hiểu cách thực hiện.

Bước 1: EEPROM là gì?

EEPROM là gì?
EEPROM là gì?

EEPROM là một bộ nhớ lưu trữ nhỏ, có các giá trị được lưu giữ ngay cả khi bảng Arduino tắt nguồn. Điều này hoạt động giống như một ổ cứng nhỏ để bạn có thể lưu trữ các thông số cho lần tiếp theo khi bạn bật nguồn thiết bị. Tùy thuộc vào loại bảng Arduino, bạn sẽ có dung lượng lưu trữ khác nhau trên mỗi loại, ví dụ như Uno có 1024 byte, Mega có 4096 byte và LilyPad có 512 byte.

Điều quan trọng cần lưu ý là tất cả các EEPROM đều có một số chu kỳ ghi giới hạn. Atmel chỉ định tuổi thọ khoảng 100 000 chu kỳ ghi / xóa cho EEPROM trên Arduino. Điều này nghe có vẻ giống như rất nhiều lần ghi, nhưng có thể dễ dàng đạt đến giới hạn này nếu bạn đang đọc và viết trong một vòng lặp. Khi một vị trí đã được viết và xóa quá nhiều lần, nó có thể bắt đầu trở nên không đáng tin cậy. Nó có thể không trả về dữ liệu chính xác hoặc trả về giá trị từ một bit lân cận.

Bước 2: Nhập Thư viện

Nhập thư viện
Nhập thư viện
Nhập thư viện
Nhập thư viện
Nhập thư viện
Nhập thư viện

Để sử dụng bộ nhớ này, trước tiên chúng tôi đưa vào thư viện được cung cấp bởi Arduino. Thư viện cung cấp hai phương pháp: đọc và ghi cho các hành động theo. Hàm read chấp nhận địa chỉ mà chúng ta muốn đọc, trong khi hàm write chấp nhận cả địa chỉ và giá trị mà chúng ta muốn ghi.

Trong ví dụ của chúng tôi, mục tiêu là có sẵn một mảng cài đặt mỗi khi khởi động Arduino, vì vậy chúng ta bắt đầu bằng cách xác định mảng mà chúng ta sẽ sử dụng để lưu trữ và xác định địa chỉ cho từng cài đặt chúng ta muốn lưu trữ. Trong một chip mà chúng ta có sẵn 1024 byte, vị trí địa chỉ sẽ từ 0 đến 1023.

Bước 3: Đặt cờ khởi tạo

Đặt cờ khởi tạo
Đặt cờ khởi tạo

Mẹo để cài đặt ban đầu các giá trị mặc định cho cài đặt là sử dụng một trong các địa chỉ làm chỉ báo cho dù cài đặt đã được khởi tạo hay chưa. Tôi đã sử dụng vị trí địa chỉ cuối cùng cho việc này vì nó thường không được sử dụng cho bất kỳ việc gì khác. Trước tiên, hàm loadSettings sẽ kiểm tra vị trí này nếu giá trị được lưu trữ ở đó có ký tự “T” hay không và nếu không, nó sẽ chuyển sang thiết lập bằng cách thiết lập, ghi các giá trị ban đầu cho từng ký tự đó. Sau khi hoàn tất, bây giờ nó sẽ đặt giá trị của vị trí mà chúng tôi theo dõi các cài đặt đã khởi tạo thành ký tự “T” và lần tiếp theo khi chúng tôi bật Arduino, chúng tôi sẽ không nhập các giá trị nữa mà thay vào đó đọc dữ liệu đã lưu vào mảng của chúng tôi.

Bước 4: Cập nhật cài đặt

Cập nhật cài đặt
Cập nhật cài đặt

Để cập nhật các giá trị, chúng ta có thể sử dụng hàm ghi như khi khởi tạo, nhưng cách tốt hơn là sử dụng hàm cập nhật được cung cấp. Chức năng này thực hiện là trước tiên nó kiểm tra xem giá trị chúng ta đang cố gắng lưu có giống với giá trị đã có trong EEPROM hay không và nếu đúng thì nó không cập nhật. Bằng cách đó, nó cố gắng giảm thiểu số lượng các thao tác ghi để kéo dài tuổi thọ của EEPROM.

Bước 5: Thưởng thức

Thưởng thức!
Thưởng thức!
Thưởng thức!
Thưởng thức!

Tôi hy vọng rằng Tài liệu hướng dẫn này hữu ích cho bạn và bạn đã học được điều gì đó. Mã nguồn có sẵn trên trang GitHub của tôi và liên kết ở bên dưới. Nếu bạn có bất kỳ đề xuất nào, vui lòng để lại trong phần bình luận và đừng quên đăng ký kênh YouTube của tôi để có thêm nhiều video tương tự.

Đề xuất: