-
- Перед записью в EEARL обязательно вставь ожидание разрешения доступа к чтению EEPROM, как сказали ниже (-->): MBedder(190 знак., 07.11.2008 18:38, ссылка)
- tmp - это у вас чего? Ячея памяти? Тогда используйте вместо нее регистр (можно "мусорный"). Пишите вы на чем, на Си или на ассемблере? Приведенный код это текст вашей программы или результат компиляции? Если tmp - автоматическая переменная, то увеличьте Ксения(106 знак., 07.11.2008 15:00)
- tmp это регистр r19. mavpsk(69 знак., 07.11.2008 21:11, )
- Смените регистр :-) - Ксения(07.11.2008 23:14)
- Свят-свят-свят, чур меня - MBedder(07.11.2008 16:10)
- tmp это регистр r19. mavpsk(69 знак., 07.11.2008 21:11, )
- Весьма вероятно что где-то вклинивается прерывание и портит какой-нибудь регистр или флаг статусного регистра. Не обязательно в этой точке. Добавление нескольких тактов приводит к тому, что место порчи попадает на другой участок кода, где это не критично. - Сергей Борщ(07.11.2008 14:22)
- EEAR8 в 0 установили? - Алексей Мусин(07.11.2008 14:21)
- В М48 EEARH с EEAR8 нет физически - MBedder(07.11.2008 21:26)
- В ЕЕПРОМ нигде не пишете? Тогда перед обращением к ЕЕПРОМ нужно дождаться флага окончания предыдущей операции. - Алексей Мусин(07.11.2008 14:25)
- Нигде не пишу. Просто в коде в сегменте eseg туда внесены "значения кнопок", т.е. используется просто как таблица для конвертирования значений. mavpsk(75 знак., 07.11.2008 21:07, )
- Эээ.. а это зачем??? Почему не расположить таблицу в Code Memory и не доставать ее оттуда посредством lpm Rx,z/z+?? - MBedder(07.11.2008 21:21)
- А потому что не умею. Я только учусь... команду lpm впервые вижу :), но описание в instruction set summary уже посмотрел... Пошел читать даташит в эту сторону. Спасибо за комментарий. mavpsk(93 знак., 07.11.2008 21:34, )
- EEPROM даже по чтению доступен только через достаточно сложный блок управления с собственным таймингом, регистрами и т.д. MBedder(1215 знак., 08.11.2008 03:51)
- Спасибо! - mavpsk(07.11.2008 22:18, )
- EEPROM даже по чтению доступен только через достаточно сложный блок управления с собственным таймингом, регистрами и т.д. MBedder(1215 знак., 08.11.2008 03:51)
- А потому что не умею. Я только учусь... команду lpm впервые вижу :), но описание в instruction set summary уже посмотрел... Пошел читать даташит в эту сторону. Спасибо за комментарий. mavpsk(93 знак., 07.11.2008 21:34, )
- Эээ.. а это зачем??? Почему не расположить таблицу в Code Memory и не доставать ее оттуда посредством lpm Rx,z/z+?? - MBedder(07.11.2008 21:21)
- Нигде не пишу. Просто в коде в сегменте eseg туда внесены "значения кнопок", т.е. используется просто как таблица для конвертирования значений. mavpsk(75 знак., 07.11.2008 21:07, )
- Кроме этого ничего в голову не приходит: ATmega48 Errata Rev. C. Reading EEPROM when system clock frequency is below 900 kHz may not work. - Точка опоры(07.11.2008 14:04)
- Ерраты читал первым делом, вроде ничего подобного не видно. Ну и плюс - во-первых работаем на частоте 8 МГц. Во вторых как уже заметили ниже - комментарю чтение из еепром, мусор остается (при чём тот-же), но при этом как-то странно. Если в еепром mavpsk(458 знак., 07.11.2008 21:03, )
- Дай сюда весь без исключения код - найдем глюку сообща - MBedder(07.11.2008 21:22)
- Вот. mavpsk(7590 знак., 07.11.2008 21:40, )
- Глюк найден. Вопрос решен. Всем спасибо и прошу прощения. mavpsk(557 знак., 07.11.2008 22:36, )
- В программах для PIC16 я всегда заставлял ассемблер проверять, что таблица не пересекает границу 256 байт. Проверка на этапе компиляции дешевле, чем пересылка байтов на этапе выполнения. - Сергей Борщ(08.11.2008 20:32)
- А надо всегда индекс задавать/модифицировать полностью, а не только zl MBedder(408 знак., 07.11.2008 23:36)
- Да да. Это я и имел в виду. :) - mavpsk(07.11.2008 23:49, )
- Справедливости ради решил передвинуть нопы как писал раньше (изначально ошибся на строчку)... Всё работает правильно... Решил подвигать до тех пор пока перестанет работать (метод научного тыка так сказать)... Ну и пошло поехало. В итоге я ими допрыгал до mavpsk(219 знак., 07.11.2008 22:15, )
- См. выше - MBedder(07.11.2008 23:37)
- Глюк найден. Вопрос решен. Всем спасибо и прошу прощения. mavpsk(557 знак., 07.11.2008 22:36, )
- Вот. mavpsk(7590 знак., 07.11.2008 21:40, )
- Дай сюда весь без исключения код - найдем глюку сообща - MBedder(07.11.2008 21:22)
- Ерраты читал первым делом, вроде ничего подобного не видно. Ну и плюс - во-первых работаем на частоте 8 МГц. Во вторых как уже заметили ниже - комментарю чтение из еепром, мусор остается (при чём тот-же), но при этом как-то странно. Если в еепром mavpsk(458 знак., 07.11.2008 21:03, )