문제는 쓰기와 읽기의 EEPROM

V

vin2403

Guest
예를 들어,
주소를 0xFF로 22 쓰기
주소 0xFE로 44 쓰기
주소 0xFC로 88 쓰기

읽을 때
88 주소를 0xFF 가게
0xFE 가게 44
주소0xFC 가게 22
주소
왜 이런 일이? 어떤 프로 도와 드릴까요

 
당신의 코드를 게시할 수를 작성하는 데 사용하는 데이터가?

 
무효 SaveData ()
(
만약 (RB1 == 0 | | RB2 == 0)
(
지연 (250);

EEADR =를 0xFF;
EEDATA = hCount;
굴뚝새 = 1;
EECON2 = 0x55;
EECON2 = 0xaa;
WR = 1;
(WR == 1)
동안 계속;

굴뚝새 = 0;EEADR = 0xFE;
EEDATA = lCount;
굴뚝새 = 1;
EECON2 = 0x55;
EECON2 = 0xaa;
WR = 1;
(WR == 1)
동안 계속;

굴뚝새 = 0;EEADR = 0xFC;
EEDATA = powCount;
굴뚝새 = 1;
EECON2 = 0x55;
EECON2 = 0xaa;
WR = 1;
(WR == 1)
동안 계속;

굴뚝새 = 0;
))

무효 readData ()
(

EEADR =를 0xFF;
powCount = EEDATA;
의 R
& D = 1;EEADR = 0xFE;
hCount = EEDATA;
의 R
& D = 1;EEADR = 0xFC;
lCount = EEDATA;
의 R
& D = 1;

)
만약 내가 아닌 것처럼 보여서, 난,하지만 제가 원하는 결과를 얻기가 왜, 그리고 데이터가 다른 주소에서 읽을 네드.

 
내가 바로 당신이 설정 통지를 한 것은 아니에요
/ 재 - EEPROM이나 프로그램에 데이터를 메모리에 쓰는 여부를 결정합니다 EECON1 비트 7 설정입니다.EECON1 레지스터의 EEPGD 비트 '0 '의 데이터를 메모리에 액세스할 수 있어야합니다.

에있는 ""기능을 읽으면 1 "연구 개발비"플래그를 설정하기 전에 EEDATA의 가치를 매기는 것 같다.그 양도는 "오래된"값을 의미합니다.즉, 먼저 당신이 실제로 당신을 쓰기를 시도한 마지막 데이터 피드를 시도 읽어 보시기 바랍니다.읽기 기능은이 같은 모양입니다 :

코드 :

무효 readData ()

(

EEADR =를 0xFF;

의 R & D = 1;

powCount = EEDATA;EEADR = 0xFE;

의 R & D = 1;

hCount = EEDATA;
EEADR = 0xFC;

의 R & D = 1;

lCount = EEDATA;

)
 
yes , it work , thank you helping , i will be careful next time i using.
 

Welcome to EDABoard.com

Sponsor

Back
Top