EEPROM ДАННИ добивам развален

S

ShuklaS

Guest
Здрасти,
, който използваме, EEPROM 24c01A EEPROM ДАННИ добивам развален случайно
моля да ме уведомите, ако някой виждал такава проблем
Благодарности

 
Как казахте, че данните, е повреден?

Имах този проблем преди.Аз не съм в състояние да четат правилно ценностите, които искам.

Това е причината.

Това е обяснението, дадено от Les на този: (копиран от www.picbasic.org)Съставител не е виновен, но вашето разбиране за EEPROM достъп не е пълна.Eeproms не са толкова случаен достъп, тъй като хората мислят, те работят със страниците.Някои eeproms имат страница на 8, 16, 32 или 64 байта.В 24LC128 и 24LC256 страница са границите на 64 байта.

Ако се вгледате в листа с данни за EEPROM, вие ще видите две форми на писане, страница за достъп и случайни пиша.СЛУЧАЙНА писмен вид трябва да бъде в рамките на един байт 64 граница, и не мога да го кръст, без първо да изпраща команда за спиране и изчакване за памет, за да бъдат разпределени в матрицата на EEPROM's.

Така границите са от 0 до 63, от 64 до 127, от 128 до 191 и така нататък.

Вашият код пише в кратни на 6 байта без команда за спиране се изпраща до автогарата I2C, така че когато броят достигне 64, EEPROM автоматично се опитва да напише страница и игнорира всички други команди на автобуса, докато не завърши, но си код все още се опитва да пише още 4 байта. т.е. 60 до 63.

При извършване на случаен достъп до EEPROM, тя трябва да бъде на един байт прехвърляне, повече може да наруши протокола.

Четене от EEPROM наистина е случаен достъп обаче.

Опитайте се променя кода си така, че стъпката е 8 в размер на линия за следващия, и пишат и четат 8 байта в даден момент.Това ще го излекува.

 
Здрасти,
Причината да каже, че ми е развален dataget Аз съм в състояние да чете и пише правилно на 100 време 99 време аз съм в състояние да се прочете стойността currectly

 
Може да има много причини за това.
1) Вие не чакат за 10ms пиша за цикъл, за да се получи пълната преди започване на нов цикъл пиша.
2) Вашият I2C часовник е твърде бързо.т.е. по-голяма от скоростта на вашата EEPROMs спецификация (100kHz или 400kHz)
3) Напиши Защитете закрепване на EEPROM ляво е плаващ.Макар фиш се споменава, че можете да продължите да го плаващ (вътрешно изтеглен надолу), препоръчвам ви да го земята външно или употреба микроконтролера аз's / O ПИН, за да активирате писмено напишете само по време на цикъл.

 
Благодаря братя тези съвети, определено ще помогне на нови пчели като мен да микроконтролери.

 

Welcome to EDABoard.com

Sponsor

Back
Top