Новичок
Регистрация: 29.01.2011
Сообщений: 4
Репутация: 10
|
Всем привет и самые лучшие пожелания!!! У меня ворос по теме решил заделать прибор
ипользуя два мк мега8 для отображения иннфы на светодиодный дисплей 6 разрядов.И мега16 для частотомера вольтметра скважнрсти там периодаи т.д. Написал 2 модуля для 8 и 16.Так вот если задействую АЦП передача по шине i2c все работает аж бегом, а как только пытаюсь передать даже статическую инфу из памяти неустойчивая работа. 2недели бьюсь может кто поможет разобраться.где глюк. Прошу сильно не пинать я только начинаю, опыта мало.В железе собрано, вольтметр работает а дальше застрял.В начале правильные показания а потом артефакты. И в протеусе и в железе. Оба МК тактируються одним кварцевым генератором.??? Заранее спасибо. M8_16display.rar |
||
Оценка
|
Новичок
Регистрация: 29.01.2011
Сообщений: 4
Репутация: 10
|
Приветствую!!! Спасибо,что ответили. Дело в том,что в память в принципе пишеться все нормально...кроме случая когда происходит рассинхронизация. Я в общем накарякал наверное как зря, надо переделывать протокол т.е.менять как-то мегу8 из мастера в слейв и наоборот.Соответственно мегу16 тоже. Похоже в процессе работы
кто-то из них продолжает долбить шину хотя надо бы отановиться и ждать. А вот как это изящно сделать? В описании про i2c много чего написано.И я вообще удивляюсь сам себе ,что как-то добился этого результата.Может надо добавить всего несколько строк??? Я больше электроник чем програмист наверное всего не охватить. еще есть ли какие по поводу мысли? Задача в общем такая-передать от мк16 7байт мк8му который занимаеться анализом и выводом информации на дисплей а мк16после вывода 7 байт занимаеться подсчетом чила импульсов, вычислением периода, частоты, съемом информации с датчиков и т.д а результат выдает шину.
Последний раз редактировалось drakon52; 12.07.2013 в 00:56.
|
||
Оценка
|
Знаток
Регистрация: 12.10.2009
Адрес: Тольятти
Сообщений: 231
Репутация: 86
|
Никто в чужом коде не станет ковыряться, придется все самому...
Разбивай систему на части и добивайся безупречной работы одной части. Постепенно добавляй новые части. После очередной модернизации глюк вылезет, тогда и надо будет копать, что на что повлияло. Ну, и не забывать про общие ошибки - хватает ли памяти под данные/стек и т.п. Поставь скорость шины поменьше. Поставь паузы между посылками. Поставь ловушки на неиспользуемую часть области кода - если залетает, разбирайся со стеком. Впрочем, это больше касается АСМа, а в готовых компайлерах черт ногу сломит. |
||
Оценка
|
Новичок
Регистрация: 29.01.2011
Сообщений: 4
Репутация: 10
|
Спасибо!!! огромное, вот сейчас ковыряюсь надеюсь получиться.Если кому конечно интересно отпишусь о результатах. Для меня это тема интересна.
Тяжело для меня пока. Всем найлучшие пожелания. Буду кропать сначала. Дракон. |
||
Оценка
|
Новичок
Регистрация: 29.01.2011
Сообщений: 4
Репутация: 10
|
Должен сказать, что вообще-то код работает. Просто все нужно было правильно настроить. Сейчас разбил программу по частям прогнал тест
для проверки правильностиработы дисплея. математика у меги 16 просто прелесть.все работает стабильно.нужны были просто паузы между посылками. Как заготовка дла наращивания функциональных возможностей. Если есть у кого интерес могу скинуть поект кому нужно на форум. |
||
Оценка
|
Обратная связь РадиоЛоцман Вверх |