Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC UART Rx disable
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
grv
Не понял, в этом супер навороченном уарте нельзя запритить прием ?
KRS
можно попробовать ногу отключить
rezident
Для начала бы узнать, о каком именно МК реплика?
Nixon
UxIER бит 0 и 2.
KRS
Цитата(Nixon @ Feb 25 2011, 00:50) *
UxIER бит 0 и 2.

Так это только прерывания запретить sm.gif
grv
Цитата(KRS @ Feb 25 2011, 00:34) *
можно попробовать ногу отключить


Т.е. пошаманить с PINSEL. Да уж....

Цитата(rezident @ Feb 25 2011, 00:41) *
Для начала бы узнать, о каком именно МК реплика?


LPC23xx
KRS
Цитата(grv @ Feb 25 2011, 01:08) *
Т.е. пошаманить с PINSEL. Да уж....

Да, для 23xx именно там, переключить на GPIO.

А вам для чего это надо? 485?
grv
Цитата(KRS @ Feb 25 2011, 01:03) *
Так это только прерывания запретить sm.gif


Еще есть загадочный бит FIFO enable в FCR но он один на Rx-Tx - не годиться. Нафига кстати на Tx не понятно - не нужна передача - не передавай если уж на то пошло. Там же приписка: 0 - Must not be used in the application. Понимай как знаешь.

Цитата(KRS @ Feb 25 2011, 01:11) *
Да, для 23xx именно там, переключить на GPIO.

А вам для чего это надо? 485?

На перспективу в т.ч. и для 485-го. А сейчас просто перетаскиваю с AVR софт и понимаю какой там классный UART был.
KRS
Цитата(grv @ Feb 25 2011, 01:19) *
Еще есть загадочный бит FIFO enable в FCR но он один на Rx-Tx - не годиться.

Так это разрешение очереди, у LPC уарт с очередью на 16 байт.
он изначально совместим с 16550 - классический можно сказать sm.gif

Nixon
Как-то непонятно, как еще можно выключить прием, если не запретить прерывание по приему.
aaarrr
Цитата(Nixon @ Feb 25 2011, 01:45) *
Как-то непонятно, как еще можно выключить прием, если не запретить прерывание по приему.

Ну так прием как таковой (и заполнение FIFO) от этого ведь не прекратятся.
GetSmart
Нeуловимый Джо?
fantex
В классическом 16550 те же яйца, прием нельзя отключить отдельно от передачи. Прием запрещается на уровне прерывания. В обработчике прерывания анализируется источник и соответсвенно обрабатывается либо запрос на передачу, либо на прием.
ar__systems
А в чем проблема-то? Ну не надо принимать, так не читайте. А как надо включить прием, обнуляете FIFO и стираете ошибки. Делов-то. Или действительно ногу на IO переключите.
grv
Еще вопрос возник.
LPC2388
Режим тактирования от внутреннего генератора
UART clk=4Mhz

на скоростях 38400, 57600 все работает нормально
на 115200 передача работает , отрубается прием, причем так: байт принимается, в статусе ошибок нет, а вот байт из фифо приходит либо 0xff либо 0xfe чтоб туда не слали.

Отличия в настройках - только бод-рейт генератор:

Код
  U0DLM=0;
   U0DLL=2; //Prescaler 115200 @ 4,0Mhz PCLK
//   U0DLL=4; //Prescaler 57600 @ 4,0Mhz PCLK
//   U0DLL=3; //Prescaler 38400 @ 4,0Mhz PCLK


U0FDR=0xc1; // Fractional prescaler     115200 4mhz
//U0FDR=0xc1; // Fractional prescaler     57600 4mhz
//U0FDR=0x67; // Fractional prescaler     38400 4mhz




115200 много для 4MHz ? В доке встретил только что DLL>=2 при использовании FDR
коэф. считал в экселе в форме от NXP
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.