привет народ! первый раз в жизни появилась нужда сохранять данные в 24с16. пишу на асм... пытаюсь запрограмировать 48 байт.. но прописываются только первые 16шт я уже и логи снял с isprog делаю также ничего не получается!!!! 16 шт и всё второй день башку ломаю!!! подскажите пожалуйста где рыть???
после отправки первых 16ти (записи) байт... при приёме последнего байта АСК от 24ки в ноле.. тоесть всё хорошо! потом стоп.. старт.. и в первомже байте АСК уже 1 тоесть 24ка уже его не понимает! в чём проблема ?
Я не вижу ни Ваших ПП, ни ответов на свои вопросы.
ПП.. зачем на наих смотреть??? там всё пашит!!! вопрос в другом! что делать после отправки первых двух байт с кодом устройства.. адресом и режимом.. и 16ти байт информации!! итого 18! ЧТО ДЕЛАТЬ ДАЛЬШЕ???? КАК ВОГНАТЬ ВТОРУЮ СТРАНИЦУ!!!???
после записи первой страници 24ка во всех последующих передаваемых в неё байтах выдаёт АСК=1 тоесть делать ничего не хочет! память в железе реально прописывается! тоесть нужно организовать запись второй страници!
после записи первой страници 24ка во всех последующих передаваемых в неё байтах выдаёт АСК=1 тоесть делать ничего не хочет! память в железе реально прописывается! тоесть нужно организовать запись второй страници!
Может проблема в том что функция записи не проверяет готовность флэшки к работе.....
Дело в том, что флэшка, до определенного количества байт, принимает их в буфер.... а уже при превышении этого количества, или при получении команды стоп, приступает к реальной записи буфера во флэш..... в это время (какое то определенное время) флэшка занята и не будет отвечать на внешние команды..... Функция записи при общении с флэшкой должна определять, что та не отвечает, и крутится в цикле, ожидая ответа от флэшки....
Я у себя тут делал свой софтовый вариант, только для 24C64, все работает.....
Последний раз редактировалось shads Вс дек 23, 2012 12:45:12, всего редактировалось 1 раз.
Может проблема в том что функция записи не проверяет готовность флэшки к работе.....
Дело в том, что флэшка, до определенного количества байт, принимает их в буфер.... а уже при превышении этого количества, или при получении команды стоп, приступает к реальной записи буфера во флэш..... в это время (какое то определенное время) флэшка занята и не будет отвечать на внешние команды..... Функция записи при общении с флэшкой должна определять, что та не отвечает, и крутится в цикле, ожидая ответа от флэшки....
Я у себя [code=http://asis-kbr.ru/forum/viewtopic.php?f=11&t=117]тут[/code] делал свой софтовый вариант, только для 24C64, все работает.....
Спасибо конечно! но в ваших исходниках я ненашол обработку ни 24с64 ни часов 1307.
повозился ещё немного... уменьшил количество передаваемых байт с 16 до 8 не помогло.. ставил паузу.. на тот случай если ещё происходит запись а я уже туда лезу.. не помогло! получается мс просто после записи уходит в даун и оттуда уже больше не возвращается!!! КАК ЕЁ ОТТУДА ВЕРНУТЬ????
кто посмотрел логи??? мне там не всё понятно!!! например что идёт в 24ку а что из неё???
кароче у меня ЗАРАБОТАЛО!!! 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ю посылку.. ПРОПИСАВ ВТОРУЮ СТРАНИЦУ!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения