реклама на сайте
подробности

 
 
> Проблемы с EEPROM, общение по I2C, при помощи MSP430
sergeeff Jr.
сообщение Nov 12 2010, 23:10
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 568
Регистрация: 8-07-07
Из: Занзибар
Пользователь №: 28 964



Вообщем вроде все как надо. Пишу по адресу 0x00 в 24LC00 значение (в этом примере 0x56), а читаю (Random Read, то есть по конкретному адресу) почему то 0xFF (то есть ничего не записалось получается, т.к. в памяти EEPROM по умолчению сидит 0xFF). Картинки в приложении. Вроде все верно. Пока не понял в чем дело. Может у вас есть какие-то идеи...

Вот описание 24LC00
http://ww1.microchip.com/downloads/en/DeviceDoc/21178E.pdf
Прикрепленные файлы
Прикрепленный файл  TEK0002.BMP ( 76.05 килобайт ) Кол-во скачиваний: 25
Прикрепленный файл  TEK0003.BMP ( 76.05 килобайт ) Кол-во скачиваний: 17
 


--------------------
"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergeeff Jr.
сообщение Nov 23 2010, 19:36
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 568
Регистрация: 8-07-07
Из: Занзибар
Пользователь №: 28 964



После ACK линия SDA остается на нуле, соответственно по описанному в даташите методу никакого START не будет...


--------------------
"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 24 2010, 02:59
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(sergeeff Jr. @ Nov 24 2010, 00:36) *
После ACK линия SDA остается на нуле, соответственно по описанному в даташите методу никакого START не будет...
Я не работал непосредственно с USI вживую и вынужден доверять вам, но вот читаю в UG раздел 14.2.4 I2C Mode -> I2C Master Mode и вижу
Цитата
To configure the USI module as an I2C master the USIMST bit must be set. In master mode, clocks are generated by the USI module and output to the SCL line while USIIFG = 0. When USIIFG = 1, the SCL will stop at the idle, or high, level. Multi-master operation is supported as described in the Arbitration section.
The master supports slaves that are holding the SCL line low only when USIDIVx > 0. When USIDIVx is set to /1 clock division (USIDIVx = 0), connected slaves must not hold the SCL line low during data transmission. Otherwise the communication may fail.
У вас ведь режим мастер вроде? Так почему после передачи 8 бит SCL в нуле остается? У м/с EEPROM нет возможности управлять уровнем SCL. У нее SCL это чистый вход.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sergeeff Jr.   Проблемы с EEPROM, общение по I2C   Nov 12 2010, 23:10
- - DmitryM   Цитата(sergeeff Jr. @ Nov 13 2010, 03:10)...   Nov 13 2010, 05:05
- - sergeeff Jr.   Да, кстати его и нет. Спасибо!   Nov 13 2010, 12:56
- - sergeeff Jr.   Как это не смешно я перелопатил все примеры от TI,...   Nov 22 2010, 23:41
|- - rezident   Цитата(sergeeff Jr. @ Nov 23 2010, 04:41)...   Nov 23 2010, 00:01
- - sergeeff Jr.   При первом START'e все так и есть. Но проблема...   Nov 23 2010, 00:17
- - rezident   Дык я не понял, в чем затруднения-то? В каком имен...   Nov 23 2010, 00:27
- - sergeeff Jr.   Смущает то, что никакого NACK быть не должно http:...   Nov 23 2010, 07:21
|- - rezident   Цитата(sergeeff Jr. @ Nov 23 2010, 12:21)...   Nov 23 2010, 17:50
- - KRS   Вообще то после чтения последнего байта надо NACK ...   Nov 23 2010, 20:27
- - sergeeff Jr.   Еще раз смотрим http://ww1.microchip.com/downloads...   Nov 23 2010, 20:56
|- - Сергей Борщ   QUOTE (sergeeff Jr. @ Nov 23 2010, 22:56)...   Nov 23 2010, 22:33
- - KRS   да бага значит в даташите! должен быть NACK по...   Nov 23 2010, 21:19
- - sergeeff Jr.   Так вот вопрос в том, КАК!!! послать п...   Nov 23 2010, 23:22
|- - Сергей Борщ   QUOTE (sergeeff Jr. @ Nov 24 2010, 01:22)...   Nov 24 2010, 00:09
- - sergeeff Jr.   SCL как раз и получает high level (см. картинки в ...   Nov 24 2010, 07:24
|- - rezident   Цитата(sergeeff Jr. @ Nov 24 2010, 12:24)...   Nov 24 2010, 08:43
- - sergeeff Jr.   Переход снизу вверх создает стоп (мне не надо этог...   Nov 24 2010, 19:00
|- - rezident   Цитата(sergeeff Jr. @ Nov 25 2010, 00:00)...   Nov 24 2010, 19:23
- - sergeeff Jr.   Так ACK это ноль и поэтому SDA остается в нуле... ...   Nov 24 2010, 19:44
|- - rezident   Цитата(sergeeff Jr. @ Nov 25 2010, 00:44)...   Nov 24 2010, 19:58
- - sergeeff Jr.   case 2: // Receive Address Ack/Nack bit ...   Nov 24 2010, 20:10
- - rezident   Это фрагмент, который вы вырезали из примера? Заче...   Nov 24 2010, 22:58
- - sergeeff Jr.   Цитата(rezident @ Nov 24 2010, 09:43) Ниф...   Nov 24 2010, 23:24
- - rezident   Извините, но при таком диалоге телепата с партизан...   Nov 24 2010, 23:33
- - sergeeff Jr.   Спокойной ночи. (а кода у меня с собой просто нет)...   Nov 25 2010, 00:11
- - sergeeff Jr.   А кто-нибудь изучал поведение I2C реализаций в код...   Nov 27 2010, 15:56
- - нечитатель   На всякий случай. Уже ушёл. (в процессе железной ...   Nov 28 2010, 15:36


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 20:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01388 секунд с 7
ELECTRONIX ©2004-2016