Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
06.09.2011, 15:39
|
|
Вид на жительство
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Зависает на УСАРТЕ
PIC16F877A
CCS C PIC Compiler
MPLAB 7.60
код простой
Код:
|
while(1)
{
putc(++i);
delay_ms(1000);
svetodiod=!svetodiod;
} |
символы передаю c МК в комп
примерно раз в три минуты происходит зависание
А примерно раз в минуту - сброс.
Сброс я диагностировал через RESTART_CAUSE()
причина MCLR из RUN режима
Но почему? Тоже не ясно.
Резистор 9к1 от MCLR к плюсу у меня припаян
|
|
|
|
06.09.2011, 15:46
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: зависает на УСАРТЕ
А блокировочные конденсаторы по питанию и диод с конденсатором на MCLR стоят? Кроме того перед передачей сильно желательно проверять готовность передатчика. Возможно putc() это делает, но нужно проверить
__________________
misterdi<@>i.ua
|
|
|
|
06.09.2011, 17:31
|
|
Вид на жительство
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Re: зависает на УСАРТЕ
Я до и после кренки запял конденсаторы.
Они вроде б фильтрующие называются(200 и 2мкФ)
А блокировочные - это что?
На MCLR только 9к1 на плюс и больше ничего.
А как проверять готовность передатчика?
|
|
|
|
06.09.2011, 18:18
|
|
Заблокирован
Регистрация: 15.10.2010
Адрес: Kiev/Kharkov
Сообщений: 133
Сказал спасибо: 15
Сказали Спасибо 21 раз(а) в 21 сообщении(ях)
|
Re: зависает на УСАРТЕ
Сообщение от yellow87
|
Я до и после кренки запял конденсаторы.
Они вроде б фильтрующие называются(200 и 2мкФ)
А блокировочные - это что?
На MCLR только 9к1 на плюс и больше ничего.
А как проверять готовность передатчика?
|
На MCLR - R+C(на землю)
Проверять можете флаги статусных регистров, это вообще всегда полезно.
фильтрующие конденсаторы, обычно 0,1мкФ и 0,01мкФ по питанию.
|
|
|
|
06.09.2011, 19:22
|
|
Вид на жительство
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Re: Зависает на УСАРТЕ
От зависания я всёже избавился(ещё сильнее код уменьшил-там нашёл ошибку)
-----------------------------------------------------------------
а вот MCLR_FROM_RUN два раза в минуту примерно так и происходит
Припаял диод с MCLR на плюс, конденсатор с MCLR на землю
до и после кренки припаял конденсаторы 0.1 и 0.01 мкФ
Не помогает!
: - (
|
|
|
|
06.09.2011, 20:37
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Зависает на УСАРТЕ
Watchdog включен?
|
|
|
|
06.09.2011, 20:47
|
|
Вид на жительство
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Re: Зависает на УСАРТЕ
WDT включен на 2803
и сбрасывается каждые 100мсек
но ведь если бы при зависании программы сброс производил он, то
RESTART_CAUSE на него бы и указывал
|
|
|
|
06.09.2011, 21:07
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Зависает на УСАРТЕ
Если возможно, листинг на АСМе... Посмотреть, что там на самом деле происходит...
|
|
|
|
06.09.2011, 21:43
|
|
Вид на жительство
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Re: Зависает на УСАРТЕ
почему именно на АСМе?
я С использую.
непойдёт?
|
|
|
|
06.09.2011, 23:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Re: зависает на УСАРТЕ
Сообщение от yellow87
|
А блокировочные - это что?
|
И вот так рождаются легенды о глюках )))
Софт писать научились, а кто схемотехнику будет учить? )))
Сообщение от yellow87
|
до и после кренки
|
это конечно хорошо, но прямо между ножками питания МК ВСЕГДА!!! паяйте 0,1-0,2мкф 0805 конденсаторы.
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
Последний раз редактировалось picavr; 06.09.2011 в 23:42.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:25.
|
|