Trích:
Nguyên văn bởi inoxsocc
các bạn cho mình hỏi về nút nhấn khi mình lập trình chỉnh giờ cho ds1307,ví dụ khi mình chọn chế độ mode 1 là chỉnh giờ cho ds thì khi mình tăng giờ lên 1 thì lúc nút nhấn duoc nhấn xuống mức 0 thì giờ tăng lên,còn lúc nút nhấn nảy lên về vị trí cũ thì giờ lại quay về giá trị cũ,cách nào để khắc phục hiện tượng trên xin các bạn giúp với.^^
|
Tình trạng của bạn giống như đã bấm nút để thay đổi số , nhưng quay lại vòng lặp thì bạn lại có chương trình con đọc DS nên biến lại bị gán giá trị được đọc ra từ chip DS , quay về giá trị ban đầu lúc chưa thay đổi .
Khi tăng hoặc giảm thì không tiếp tục lấy giá trị trong DS hiển thị lên màn hình nữa , mà bạn chỉ hiển thị biến để thay đổi giá trị thôi . Mình hay gọi những biến này là biến SETUP ví dụ như HOUR_SETUP , MINUTE_SETUP ...., sau khi thay đổi xong thì mới bấm nút để ghi giá trị của biến này vào chip DS . Và sau đó thì mới tiếp tục đọc DS như bình thường .