| Форум РадиоКот https://radiokot.ru/forum/ |
|
| Мега8 + 24с16 https://radiokot.ru/forum/viewtopic.php?f=61&t=82448 |
Страница 1 из 2 |
| Автор: | Barisych [ Сб дек 22, 2012 13:17:07 ] |
| Заголовок сообщения: | Мега8 + 24с16 |
привет народ! первый раз в жизни появилась нужда сохранять данные в 24с16. пишу на асм... пытаюсь запрограмировать 48 байт.. но прописываются только первые 16шт я уже и логи снял с isprog второй день башку ломаю!!! подскажите пожалуйста где рыть??? |
|
| Автор: | Dmitry Dubrovenko [ Сб дек 22, 2012 13:23:33 ] |
| Заголовок сообщения: | Re: Мега8 + 24с16 |
Barisych писал(а): подскажите пожалуйста где рыть??? В коде программы.
|
|
| Автор: | Barisych [ Сб дек 22, 2012 13:33:13 ] | ||
| Заголовок сообщения: | Re: Мега8 + 24с16 | ||
вот что получается... в логере всё хорошо... а в протеусе (и железе) 24с16 не отпускает шину... не выдаёт АСК
|
|||
| Автор: | Barisych [ Сб дек 22, 2012 13:40:58 ] |
| Заголовок сообщения: | Re: Мега8 + 24с16 |
Dmitry Dubrovenko писал(а): Barisych писал(а): подскажите пожалуйста где рыть??? В коде программы.понятно что ..ПАЛАМАЛСЯ!! но интересует не код!!! а алгоритм правельной работы и2с у 24с16.. |
|
| Автор: | Barisych [ Сб дек 22, 2012 13:53:02 ] |
| Заголовок сообщения: | Re: Мега8 + 24с16 |
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 байт не записываются! |
|
| Автор: | Barisych [ Сб дек 22, 2012 14:06:47 ] |
| Заголовок сообщения: | Re: Мега8 + 24с16 |
после отправки первых 16ти (записи) байт... при приёме последнего байта АСК от 24ки в ноле.. тоесть всё хорошо! потом стоп.. старт.. и в первомже байте АСК уже 1 тоесть 24ка уже его не понимает! в чём проблема ? |
|
| Автор: | Dmitry Dubrovenko [ Сб дек 22, 2012 14:10:35 ] |
| Заголовок сообщения: | Re: Мега8 + 24с16 |
Barisych писал(а): в логере всё хорошо А откуда "логер" берётся?Barisych писал(а): 24с16 не отпускает шину Напрашивается вывод, что ошибка в ПП Stop.Ну, а алгоритм подробно изложен в даташите. |
|
| Автор: | Barisych [ Сб дек 22, 2012 14:23:01 ] | ||
| Заголовок сообщения: | Re: Мега8 + 24с16 | ||
Dmitry Dubrovenko писал(а): Barisych писал(а): в логере всё хорошо А откуда "логер" берётся?Barisych писал(а): 24с16 не отпускает шину Напрашивается вывод, что ошибка в ПП Stop.Ну, а алгоритм подробно изложен в даташите. специально для вас Dmitry Dubrovenko на картинке разницу видите?
|
|||
| Автор: | Barisych [ Сб дек 22, 2012 14:47:07 ] |
| Заголовок сообщения: | Re: Мега8 + 24с16 |
В ПРОГЕ ЗАПИСИ ПЕРВЫХ 16ТИ байт поменял А0 на А1.. тоесть чтение а не запись... тогда вторая группа из 16ти байт ПРОПИСЫВАЕТСЯ! а первая нет ! |
|
| Автор: | Dmitry Dubrovenko [ Сб дек 22, 2012 17:21:35 ] |
| Заголовок сообщения: | Re: Мега8 + 24с16 |
Я не вижу ни Ваших ПП, ни ответов на свои вопросы. |
|
| Автор: | Barisych [ Сб дек 22, 2012 20:13:53 ] |
| Заголовок сообщения: | Re: Мега8 + 24с16 |
Dmitry Dubrovenko писал(а): Я не вижу ни Ваших ПП, ни ответов на свои вопросы. ПП.. зачем на наих смотреть??? там всё пашит!!! вопрос в другом! что делать после отправки первых двух байт с кодом устройства.. адресом и режимом.. и 16ти байт информации!! итого 18! ЧТО ДЕЛАТЬ ДАЛЬШЕ???? КАК ВОГНАТЬ ВТОРУЮ СТРАНИЦУ!!!??? А КАКИЕ У ВАС ВОПРОСЫ? |
|
| Автор: | Barisych [ Сб дек 22, 2012 21:53:09 ] |
| Заголовок сообщения: | Re: Мега8 + 24с16 |
после записи первой страници 24ка во всех последующих передаваемых в неё байтах выдаёт АСК=1 тоесть делать ничего не хочет! память в железе реально прописывается! тоесть нужно организовать запись второй страници! |
|
| Автор: | Barisych [ Вс дек 23, 2012 01:24:33 ] | ||
| Заголовок сообщения: | Re: Мега8 + 24с16 | ||
http://www.saleae.com/downloads прога логера тут! и в архиве снятый лог!! с программатора испрог!!! при програмировании 24с16 2 и 3 каналы ну типа сняты с макса с RX TX
|
|||
| Автор: | shads [ Вс дек 23, 2012 09:07:11 ] |
| Заголовок сообщения: | Re: Мега8 + 24с16 |
Barisych писал(а): после записи первой страници 24ка во всех последующих передаваемых в неё байтах выдаёт АСК=1 тоесть делать ничего не хочет! память в железе реально прописывается! тоесть нужно организовать запись второй страници! Может проблема в том что функция записи не проверяет готовность флэшки к работе..... Дело в том, что флэшка, до определенного количества байт, принимает их в буфер.... а уже при превышении этого количества, или при получении команды стоп, приступает к реальной записи буфера во флэш..... в это время (какое то определенное время) флэшка занята и не будет отвечать на внешние команды..... Функция записи при общении с флэшкой должна определять, что та не отвечает, и крутится в цикле, ожидая ответа от флэшки.... Я у себя тут делал свой софтовый вариант, только для 24C64, все работает..... |
|
| Автор: | Barisych [ Вс дек 23, 2012 09:53:30 ] |
| Заголовок сообщения: | Re: Мега8 + 24с16 |
shads писал(а): Может проблема в том что функция записи не проверяет готовность флэшки к работе..... Дело в том, что флэшка, до определенного количества байт, принимает их в буфер.... а уже при превышении этого количества, или при получении команды стоп, приступает к реальной записи буфера во флэш..... в это время (какое то определенное время) флэшка занята и не будет отвечать на внешние команды..... Функция записи при общении с флэшкой должна определять, что та не отвечает, и крутится в цикле, ожидая ответа от флэшки.... Я у себя [code=http://asis-kbr.ru/forum/viewtopic.php?f=11&t=117]тут[/code] делал свой софтовый вариант, только для 24C64, все работает..... Спасибо конечно! но в ваших исходниках я ненашол обработку ни 24с64 ни часов 1307. |
|
| Автор: | Barisych [ Вс дек 23, 2012 10:44:01 ] |
| Заголовок сообщения: | Re: Мега8 + 24с16 |
повозился ещё немного... уменьшил количество передаваемых байт с 16 до 8 не помогло.. ставил паузу.. на тот случай если ещё происходит запись а я уже туда лезу.. не помогло! получается мс просто после записи уходит в даун и оттуда уже больше не возвращается!!! КАК ЕЁ ОТТУДА ВЕРНУТЬ???? кто посмотрел логи??? мне там не всё понятно!!! например что идёт в 24ку а что из неё??? |
|
| Автор: | ibiza11 [ Вс дек 23, 2012 12:33:39 ] |
| Заголовок сообщения: | Re: Мега8 + 24с16 |
что-то я тоже не нашел) |
|
| Автор: | Barisych [ Вс дек 23, 2012 13:02:07 ] |
| Заголовок сообщения: | Re: Мега8 + 24с16 |
ibiza11 писал(а): что-то я тоже не нашел) что не нашол? |
|
| Автор: | Dmitry Dubrovenko [ Вс дек 23, 2012 13:17:41 ] |
| Заголовок сообщения: | Re: Мега8 + 24с16 |
Barisych писал(а): там всё пашит!!! Ну, если так уверены, зачем тогда спрашиваете?Короче говоря, уговаривать я не собираюсь. Разбирайтесь сами. |
|
| Автор: | Barisych [ Вс дек 23, 2012 13:22:51 ] | ||
| Заголовок сообщения: | Re: Мега8 + 24с16 | ||
кароче у меня ЗАРАБОТАЛО!!! 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ю посылку.. ПРОПИСАВ ВТОРУЮ СТРАНИЦУ! вот логи!
|
|||
| Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|


