Мега8 + 24с16

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Сообщение Barisych »

привет народ!
первый раз в жизни появилась нужда сохранять данные в 24с16.
пишу на асм...
пытаюсь запрограмировать 48 байт..
но прописываются только первые 16шт
я уже и логи снял с isprog :) делаю также ничего не получается!!!! 16 шт и всё :)
второй день башку ломаю!!!
подскажите пожалуйста где рыть???
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2360
Зарегистрирован: Вс янв 09, 2011 16:51:39
Откуда: Санкт-Ленинград

Сообщение Dmitry Dubrovenko »

Barisych писал(а):подскажите пожалуйста где рыть???
В коде программы.
ICQ нет, и, в ближайшее время, не будет.
Контактная информация:
Реклама
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Сообщение Barisych »

вот что получается...
в логере всё хорошо... а в протеусе (и железе) 24с16 не отпускает шину... не выдаёт АСК :(
Вложения
i2c.GIF
(64.17 КБ) 342 скачивания
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Сообщение Barisych »

Dmitry Dubrovenko писал(а):
Barisych писал(а):подскажите пожалуйста где рыть???
В коде программы.
понятно что ..ПАЛАМАЛСЯ!!
но интересует не код!!!
а алгоритм правельной работы и2с у 24с16..
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Сообщение Barisych »

rcall start_i2c

ldi BUF,0xA1
rcall TX_BAIT

ldi BUF,0x00
rcall TX_BAIT

;------------------------------------------
======
ldi BUF,0x40
rcall TX_BAIT
таких посылок 16
======
rcall stop

потом повторяю ещё раз этот код но уже
ldi BUF,0xA1
rcall TX_BAIT

ldi BUF,0x10
rcall TX_BAIT
с начальным адресом следущих 16ти байт!!!!

первые 16байт записываютс а вторые 16 байт не записываются!
Реклама
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Сообщение Barisych »

после отправки первых 16ти (записи) байт... при приёме последнего байта АСК от 24ки в ноле.. тоесть всё хорошо!
потом стоп.. старт.. и в первомже байте АСК уже 1 :(
тоесть 24ка уже его не понимает! в чём проблема ?
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2360
Зарегистрирован: Вс янв 09, 2011 16:51:39
Откуда: Санкт-Ленинград

Сообщение Dmitry Dubrovenko »

Barisych писал(а):в логере всё хорошо
А откуда "логер" берётся?
Barisych писал(а):24с16 не отпускает шину
Напрашивается вывод, что ошибка в ПП Stop.
Ну, а алгоритм подробно изложен в даташите.
ICQ нет, и, в ближайшее время, не будет.
Контактная информация:
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Сообщение Barisych »

Dmitry Dubrovenko писал(а):
Barisych писал(а):в логере всё хорошо
А откуда "логер" берётся?
Barisych писал(а):24с16 не отпускает шину
Напрашивается вывод, что ошибка в ПП Stop.
Ну, а алгоритм подробно изложен в даташите.
специально для вас Dmitry Dubrovenko
на картинке разницу видите?
Вложения
i2c2.GIF
(9.01 КБ) 484 скачивания
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Сообщение Barisych »

В ПРОГЕ ЗАПИСИ ПЕРВЫХ 16ТИ байт поменял А0 на А1.. тоесть чтение а не запись...
тогда вторая группа из 16ти байт ПРОПИСЫВАЕТСЯ! а первая нет ! :)
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2360
Зарегистрирован: Вс янв 09, 2011 16:51:39
Откуда: Санкт-Ленинград

Сообщение Dmitry Dubrovenko »

Я не вижу ни Ваших ПП, ни ответов на свои вопросы. :?
ICQ нет, и, в ближайшее время, не будет.
Контактная информация:
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Сообщение Barisych »

Dmitry Dubrovenko писал(а):Я не вижу ни Ваших ПП, ни ответов на свои вопросы. :?
ПП.. зачем на наих смотреть??? там всё пашит!!!
вопрос в другом! что делать после отправки первых двух байт с кодом устройства.. адресом и режимом.. и 16ти байт информации!!
итого 18! ЧТО ДЕЛАТЬ ДАЛЬШЕ???? КАК ВОГНАТЬ ВТОРУЮ СТРАНИЦУ!!!???

А КАКИЕ У ВАС ВОПРОСЫ?
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Сообщение Barisych »

после записи первой страници 24ка во всех последующих передаваемых в неё байтах выдаёт АСК=1
тоесть делать ничего не хочет! память в железе реально прописывается!
тоесть нужно организовать запись второй страници!
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Сообщение Barisych »

http://www.saleae.com/downloads
прога логера тут!

и в архиве снятый лог!! с программатора испрог!!! при програмировании 24с16

2 и 3 каналы ну типа сняты с макса с RX TX
Вложения
untitled3.zip
(226.26 КБ) 240 скачиваний
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Сообщение shads »

Barisych писал(а):после записи первой страници 24ка во всех последующих передаваемых в неё байтах выдаёт АСК=1
тоесть делать ничего не хочет! память в железе реально прописывается!
тоесть нужно организовать запись второй страници!
Может проблема в том что функция записи не проверяет готовность флэшки к работе.....

Дело в том, что флэшка, до определенного количества байт, принимает их в буфер.... а уже при превышении этого количества, или при получении команды стоп, приступает к реальной записи буфера во флэш..... в это время (какое то определенное время) флэшка занята и не будет отвечать на внешние команды..... Функция записи при общении с флэшкой должна определять, что та не отвечает, и крутится в цикле, ожидая ответа от флэшки....

Я у себя тут делал свой софтовый вариант, только для 24C64, все работает.....
Последний раз редактировалось shads Вс дек 23, 2012 12:45:12, всего редактировалось 1 раз.
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Сообщение Barisych »

shads писал(а): Может проблема в том что функция записи не проверяет готовность флэшки к работе.....

Дело в том, что флэшка, до определенного количества байт, принимает их в буфер.... а уже при превышении этого количества, или при получении команды стоп, приступает к реальной записи буфера во флэш..... в это время (какое то определенное время) флэшка занята и не будет отвечать на внешние команды..... Функция записи при общении с флэшкой должна определять, что та не отвечает, и крутится в цикле, ожидая ответа от флэшки....

Я у себя делал свой софтовый вариант, только для 24C64, все работает.....
Спасибо конечно! но в ваших исходниках я ненашол обработку ни 24с64 ни часов 1307. :(
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Сообщение Barisych »

повозился ещё немного...
уменьшил количество передаваемых байт с 16 до 8 не помогло..
ставил паузу.. на тот случай если ещё происходит запись а я уже туда лезу.. не помогло!
получается мс просто после записи уходит в даун и оттуда уже больше не возвращается!!!
КАК ЕЁ ОТТУДА ВЕРНУТЬ????

кто посмотрел логи???
мне там не всё понятно!!! например что идёт в 24ку а что из неё???
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

что-то я тоже не нашел)
Ставим плюсы: )
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Сообщение Barisych »

ibiza11 писал(а):что-то я тоже не нашел)
что не нашол?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2360
Зарегистрирован: Вс янв 09, 2011 16:51:39
Откуда: Санкт-Ленинград

Сообщение Dmitry Dubrovenko »

Barisych писал(а):там всё пашит!!!
Ну, если так уверены, зачем тогда спрашиваете?
Короче говоря, уговаривать я не собираюсь.
Разбирайтесь сами.
ICQ нет, и, в ближайшее время, не будет.
Контактная информация:
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Сообщение Barisych »

кароче у меня ЗАРАБОТАЛО!!!
3 ДНЯ ТАНЦЕВ С БУБНОМ!!! не прошли даром!

выше я привёл логи и дал ссылу где скачать прогу для их просмотра (и снятия)
логи были сняты при програмировании 24ки в icprog106C.exe
там после завершения страници идёт несколько непонятных мне байт (на тот момент)
как тут выше писал shads .. что надо сделать проверку..
но не пояснил как это сделать.. полез в инет.. и на толкнулся на это!!!
http://piclist.ru/D-MC-24LC512-RUS/D-MC ... US.html#28
8.1 Чтение текущего адреса - это как раз те самые не понятные байты!!

и сделал так
RD_NAK:
rcall start_i2c

ldi BUF,0xA1
rcall TX_BAIT

rcall RX_BAIT

rcall stop

sbrc BITMAP,0

rjmp RD_NAK
===================

BITMAP,0 выставляется в ПП TX_BAIT
но после отправки байта принимаем байт выдавая NAK
в логах от прогера там на второй цикл уже был нармальный ответ!!!
а на стк-500.. там скорость синхры в 10 раз выше..
24ка откликнулась уже на 4ю посылку.. ПРОПИСАВ ВТОРУЮ СТРАНИЦУ!

вот логи! :)
Вложения
untitled4.zip
(3.58 КБ) 206 скачиваний
Ответить

Вернуться в «Периферия»