![]() |
![]() |
#9 | |
Nhập môn đệ tử
Tham gia ngày: Mar 2010
Bài gửi: 3
: |
Trích:
lần đầu tiên em ghi dữ liệu 200 vào địa chỉ 0x01 của EEPROM , sau đó hiên thị lên terminal kết quả ra là 200, đúng như giá trị mình ghi #include <16F877a.h> #include <def_877a.h> #device *=16// ADC=10 #use delay(clock = 20000000) #fuses HS,NOWDT,PUT,NOPROTECT,NOLVP #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)) //Khai bao su dung rs232, baudbit = 9600, truyen la cong RC6, nhan la cong RC7 int8 i; void main(){ while(true) { write_eeprom(0x01,200); delay_ms(100); i=read_eeprom(0x01); delay_ms(200); printf("bo nho : %u \r",i); delay_ms(1000); } } Sau đó em comment đoạn code // write_eeprom(0x01,200); rồi hiển thị dữ liệu ở địa chỉ 0x01 của EEPROM để kiểm tra kết quả đã được lưu vào địa chỉ 0x01 của EEPROM chưa thì kết quả hiện ra là 255 , không phải là giá trị 200 đã ghi như trước đó .cho em hỏi chương trình em như vậy có chỗ nào thiếu xót không, nhờ anh giúp đỡ với #include <16F877a.h> #include <def_877a.h> #device *=16// ADC=10 #use delay(clock = 20000000) #fuses HS,NOWDT,PUT,NOPROTECT,NOLVP #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)) //Khai bao su dung rs232, baudbit = 9600, truyen la cong RC6, nhan la cong RC7 int8 i; void main() { while(true) { // write_eeprom(0x01,200); delay_ms(100); i=read_eeprom(0x01); delay_ms(200); printf("gia tri : %u \r",i); delay_ms(1000); } } |
|
![]() |
![]() |
|
|