реклама на сайте
подробности

 
 
> Передача по USART
d7d1cd
сообщение Aug 5 2012, 14:53
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Привет всем! Подскажите, могу ли я организовать передачу по USART (в режиме UART) без использования вектора прерывания для передачи? Сразу извиняюсь, если вопрос глуп...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
d7d1cd
сообщение Sep 28 2012, 15:13
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Ребят, подскажите такой момент. Чтобы определить готов ли передатчик USART0 к передачи очередного символа, необходимо проверить бит UTXIFG0. В руководстве пользователя сказано, что этот бит устанавливается, когда U0TXBUF пуст. И написано, что будет ожидаться прерывание на передачу. Но ведь тогда получается, что если разрешить прерывание на передачу, а в обработке прерывания ничего не делать (просто делать возврат из прерывания), то прерывание на передачу будет вызываться бесконечно. Правильно это?
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Sep 28 2012, 15:35
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(d7d1cd @ Sep 28 2012, 18:13) *
Но ведь тогда получается, что если разрешить прерывание на передачу, а в обработке прерывания ничего не делать (просто делать возврат из прерывания), то прерывание на передачу будет вызываться бесконечно. Правильно это?

Скорей всего так и будет - прерывание будет происходить постоянно.
Это довольно стандартное решение для МК.
Чтобы прерывание не происходило постоянно нужно или послать что-нибудь в uart или запретить прерывание, если передавать нечего.
Если возникла необходимость передать данные, то прерывание разрешается.
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение Sep 28 2012, 15:57
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Цитата(_Артём_ @ Sep 28 2012, 19:35) *
Чтобы прерывание не происходило постоянно нужно или послать что-нибудь в uart или запретить прерывание, если передавать нечего.



Так если отправить что-то в UART, то после того как он выдаст байт наружу, так сказать, то прерывание снова возникнет. Значит управлять процессом передачи нужно через разрешение\запрещение прерывания. Правильно?

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- d7d1cd   Передача по USART   Aug 5 2012, 14:53
- - sidy   Есть такая возможность: http://we.easyelectronics....   Aug 5 2012, 16:18
|- - d7d1cd   Цитата(sidy @ Aug 5 2012, 20:18) Есть так...   Aug 5 2012, 17:14
- - KARLSON   2. В регистр UCA0TXBUF. 3. бит UCA0TXIFG. Ваш алг...   Aug 6 2012, 04:39
- - d7d1cd   Спасибо за комментарий. Вот только регистра UCA0TX...   Aug 7 2012, 02:54
- - KARLSON   Да, в 1 и во 2 семействе разные USART. Я почему то...   Aug 7 2012, 04:23
- - SSerge   Вырвано из старого (2005г) прожекта, надеюсь помож...   Aug 7 2012, 06:52
- - rezident   Цитата(d7d1cd @ Aug 5 2012, 19:53) Подска...   Aug 8 2012, 18:41
|- - SSerge   Цитата(rezident @ Aug 9 2012, 01:41) ... ...   Aug 9 2012, 15:06
|- - rezident   Цитата(SSerge @ Aug 9 2012, 20:06) UTXIFG...   Aug 11 2012, 18:03
|- - d7d1cd   Цитата(rezident @ Aug 11 2012, 22:03) Пра...   Aug 12 2012, 05:15
|- - rezident   Цитата(d7d1cd @ Aug 12 2012, 10:15) Скажи...   Aug 12 2012, 12:12
- - d7d1cd   Если я начну объяснять зачем мне именно такой алго...   Aug 12 2012, 14:43
|- - _Артём_   Цитата(d7d1cd @ Sep 28 2012, 18:57) Так е...   Sep 28 2012, 16:11
- - d7d1cd   Ясно. А еще такой вопрос: запуск механизма передач...   Sep 28 2012, 16:55
|- - _Артём_   Цитата(d7d1cd @ Sep 28 2012, 19:55) А еще...   Sep 28 2012, 17:06
|- - d7d1cd   Цитата(_Артём_ @ Sep 28 2012, 21:06) А за...   Sep 28 2012, 17:14
- - d7d1cd   Спасибо всем за помощь. Сегодня провел испытания п...   Sep 29 2012, 06:58


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 10:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.0134 секунд с 7
ELECTRONIX ©2004-2016