Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USART 0 в LPC2368
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
LEXIS
Взял готовый пример от NXP для работы с USART0. При работе
Код
  
com_initialize ();                      /* init interrupt driven serial I/O */

  printf ("Interrupt-driven Serial I/O Example\r\n\r\n");

  while (1) {
    printf ("Count: %d ",c++);
    if (c > 65000)
    c = 0;
    delay_mS (1000);
  }

Периодически выдает сообщение: Count: число Interrupt-driven Serial I/O Example. При этом иногда выдает значение переменной с, а потом как будто МК сбрасывается и начинается все сначала. Из чего я сделал заключение, у меня почему-то сбрасывается МК. Попробовал увеличить буфер, не помогло. Поставил задержку в 1 сек - тоже не помогло, думал сброс происходит по причине слишком большого потока символов в USART. В файле Retarget.c увеличил задержку в функции fputc и _ttywrch до 10000. Тоже не помогло. J-Link под руками пока нет, поэтому не могу посмотреть в отладчике на живом контроллере. В Keil симуляция проходит без этого косяка. В архиве сам пример. Что посоветуете. Уже весь мозг .....
KnightIgor
А как там WatchDog - живет, кормится?
LEXIS
Я тоже про него подумал (WatchDog), но почему тогда в симуляторе Keil не показывает срабатывание от него? Либо симулятор кривой в этом отношении.
KnightIgor
Цитата(LEXIS @ Nov 10 2011, 01:17) *
Я тоже про него подумал (WatchDog), но почему тогда в симуляторе Keil не показывает срабатывание от него? Либо симулятор кривой в этом отношении.

Симулятор не всегда прав. Проверено.
LEXIS
Косяк нашел - были у меня смутные сомнения по поводу питания - слишком низкое значение входного напряжения, повысил напряжение и все заработало. Так что пример рабочий.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.