|
LPC177x UART, использовать FIFO для передачи |
|
|
|
 |
Ответов
|
Sep 28 2013, 05:05
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата(Terminator @ Sep 28 2013, 08:52)  это всё конечно красиво, но попробуйте сделать вывод в отладочный порт из разных задач. Останавливать задачу ради вывода отладки нельзя, что влезло в буфер, то влезло. Заводить отдельную задачу для слежения за заполненостью буфера, очень не хочется. Запрещать прерывания перед каждым обращением в uart тоже (тут я конечно несколько лукавлю, т.к. при складывании в буфер прерывания всё равно запрещаются). так в чем проблема то? запрет прерывания надо делать только когда вы кладете данные в буфер, чтобы случайно не возникло прерывание и часть буфер не улетела в уарт, пока вы заполняете хвост. И чтобы по прерыванию вы в середине работы функции добавления данных не попали в другую функцию которая также может добавить данные. в остальном проблем нет. Я же писал функции работают идентично, просто вместо вашей проверки на запрет прерывания и его разрешение, у нас делает проверка на пустоту буфера и его запуск на передачу. Дальше у всех циклический буфер в который кладутся остатки сообщения.
|
|
|
|
|
Sep 30 2013, 02:59
|

Местный
  
Группа: Участник
Сообщений: 209
Регистрация: 7-12-04
Из: Томск
Пользователь №: 1 382

|
Цитата(jcxz @ Sep 28 2013, 18:34)  Возможно товарищи по каким-то причинам (религиозным?) очень хотят писать в FIFO именно из ISR. Непреодолимое желание сиё понять трудно... Но, коли так уж хочется, после разрешения empty-tx IRQ можно программно возбудить прерывание при помощи NVIC. Чем плохо писать в FIFO из ISR? Это позволяет (не в случае с LPC конечно) в коде записать в буфер данные и разрешить прерывание. Всё остальное делается в прерывании. Пинать NVIC не пробовал. При случае попробую. Хотя это чревато лишними вызовами прерываний.
|
|
|
|
Сообщений в этой теме
megajohn LPC177x UART, использовать FIFO для передачи Sep 24 2013, 14:00 GetSmart Два независимых буфера для RX и TX.
К примеру, в L... Sep 24 2013, 14:40 Golikov A. а разве не появляется флаг буфер передатчика занят... Sep 24 2013, 16:30 jcxz Цитата(Golikov A. @ Sep 24 2013, 22:30) а... Sep 24 2013, 17:19  megajohn Цитата(jcxz @ Sep 24 2013, 20:19) Нет. Та... Jan 30 2015, 12:08 Terminator Мне удалось нормально запустить uart TX на lpc1768... Sep 26 2013, 11:15 jcxz А что там странного? Вполне соответствуют описанию... Sep 26 2013, 16:43 Terminator беда в том что прерывание TX_EMPTY может возникнут... Sep 27 2013, 04:34 Golikov A. что значит вызывается обработчик при разрешении? О... Sep 27 2013, 09:53 ig_z QUOTE (Golikov A. @ Sep 27 2013, 12:53) ч... Sep 27 2013, 11:35 Golikov A. чего то я не понимаю видать....
у меня это было т... Sep 27 2013, 11:51 ig_z QUOTE (Golikov A. @ Sep 27 2013, 14:51) в... Sep 27 2013, 12:04 Golikov A. вы проверяете разрешено ли прерывание, и разрешает... Sep 27 2013, 12:48 jcxz Да, конечно, 16550 уже давно морально устарел и мо... Sep 27 2013, 16:40  ig_z QUOTE (jcxz @ Sep 27 2013, 19:40) Это уж ... Sep 27 2013, 20:35   megajohn Цитата(jcxz @ Sep 28 2013, 15:34) Возможн... Sep 30 2013, 07:01 Golikov A. Аминь Sep 28 2013, 19:11 Terminator Отправка выглядела примерно так: уарт не занят, ра... Sep 30 2013, 10:34 jcxz Цитата(Terminator @ Sep 30 2013, 16:34) О... Oct 1 2013, 03:09 GetSmart По поводу докладывания FIFO 16-тью элементами. Цит... Sep 30 2013, 20:39 Grape Цитата(GetSmart @ Oct 1 2013, 00:39) По п... Oct 1 2013, 10:02  GetSmart Цитата(Grape @ Oct 1 2013, 16:02) UM10360... Jan 4 2014, 05:29 yanvasiij Люди, идиотский вопрос. Столкнулся тоже с этим нью... Jan 30 2015, 09:10 Golikov A. отсутствием FIFO, например.... тем что нельзя пихн... Jan 30 2015, 09:46 yanvasiij Цитата(Golikov A. @ Jan 30 2015, 14:46) о... Jan 30 2015, 10:08  Kabdim Цитата(yanvasiij @ Jan 30 2015, 13:08) Да... Jan 30 2015, 10:22 Golikov A. Велика, если есть критические секции в которых у в... Jan 30 2015, 10:21 yanvasiij Golikov A., Kabdim Спасибо за разъяснения! Буд... Jan 30 2015, 10:31 jcxz Цитата(yanvasiij @ Jan 30 2015, 16:31) Я ... Jan 30 2015, 10:52 Golikov A. Цитата, который бы дал понять FIFO TX уже заполнен... Jan 30 2015, 12:36
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|