Trích:
Nguyên văn bởi lequocbao
Đúng cái em cần rồi đây!
Vậy anh Namqn ơi nếu mình lưu con số >=256D vào eeromp thì sao anh (em đang dùng pic8).Em đoán như vậy là bị tràn phải không anh?(khi bị tràn thì ô nhớ đó sẽ chứa dữ liệu gì vậy anh?)
Tại vì write_eeprom(addr,value); thì addr chỉ là 01 ô nhớ (dài 8 bit) không thể chứa được con số >=256D.
Vậy với pic8 thì mình có cách nào để lưu số >=256D không anh?
|
Dựa vào một luồng khác tôi biết bạn đang dùng CCS C. Trình dịch này cung cấp 2 hàm itoa() và atoi() để chuyển đổi giữa dạng số nguyên và chuỗi ký tự thể hiện giá trị số nguyên đó. Bạn đọc tài liệu hướng dẫn của CCS C về cách dùng các hàm này.
Để lưu số nguyên 32-bit (4 byte) vào EEPROM, bạn có thể dùng hàm itoa() để chuyển nó thành một chuỗi ký tự, sau đó bạn có thể lưu từng ký tự này vào EEPROM. Để lấy lại giá trị số nguyên từ EEPROM, bạn có thể dùng hàm itoa(). Nếu chỉ cần hiển thị số nguyên đó thì có thể dùng thẳng chuỗi trong EEPROM.
Thân,