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

 
 
> Вопрос по Си, может ли быть несколько putchar?
kan35
сообщение Jul 29 2011, 10:14
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Есть несколько UARTов. Требуется делать форматный вывод в разные, можно ли как то для одной задачи (с её printf-ами) привязать один putchar, а для другой задачи - другой putchar?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MrYuran
сообщение Jul 29 2011, 10:28
Сообщение #2


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



по-правильному было бы организовать переключение потоков. А putchar() пусть всегда выводит в текущий поток.
А ещё более правильно (при работе с UART, да и не только) не морочиться с посимвольным выводом, а использовать sprintf(), а потом сформированную в буфере строку выводить в нужный порт.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 29 2011, 12:13
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (MrYuran @ Jul 29 2011, 12:28) *
А ещё более правильно (при работе с UART, да и не только) не морочиться с посимвольным выводом, а использовать sprintf()

Использование sprintf для поставленной цели ничего кроме лишней буферизации в линейный буфер с дополнительными затратами времени на лишнее копирование и памяти на буфер не дает. Простой, понятный, но громоздкий вариант.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jul 29 2011, 12:28
Сообщение #4


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(zltigo @ Jul 29 2011, 16:13) *
Использование sprintf для поставленной цели ничего кроме лишней буферизации в линейный буфер с дополнительными затратами времени на лишнее копирование и памяти на буфер не дает. Простой, понятный, но громоздкий вариант.

Затраты времени и памяти на копирование буфера ничто по сравнению с висением активной задачи посимвольного вывода. Буфер же может отправляться в порт по прерываниям или DMA.
ИМХО.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- kan35   Вопрос по Си   Jul 29 2011, 10:14
|- - zltigo   QUOTE (MrYuran @ Jul 29 2011, 14:28) Затр...   Jul 29 2011, 12:41
||- - Dog Pawlowa   Цитата(zltigo @ Jul 29 2011, 15:41) приче...   Jul 29 2011, 15:11
||- - zltigo   QUOTE (Dog Pawlowa @ Jul 29 2011, 17:11) ...   Jul 29 2011, 15:26
||- - Dog Pawlowa   Цитата(zltigo @ Jul 29 2011, 18:26) об АБ...   Jul 29 2011, 15:52
||- - zltigo   QUOTE (Dog Pawlowa @ Jul 29 2011, 17:52) ...   Jul 29 2011, 16:02
|- - _Pasha   Цитата(MrYuran @ Jul 29 2011, 15:28) Затр...   Jul 29 2011, 19:12
- - Dog Pawlowa   Цитата(kan35 @ Jul 29 2011, 13:14) ...дру...   Jul 29 2011, 10:28
- - kan35   переключать putchar-ы не вполне удобно (я так пони...   Jul 29 2011, 10:35
|- - Сергей Борщ   QUOTE (kan35 @ Jul 29 2011, 13:35) если н...   Jul 29 2011, 10:45
- - kan35   Сергей Борщ, сделал примерно как вы посоветовали, ...   Jul 29 2011, 11:49
- - MALLOY2   Можно так: Код <span style="font-family...   Jul 29 2011, 12:52
|- - zltigo   QUOTE (MALLOY2 @ Jul 29 2011, 14:52) Можн...   Jul 29 2011, 13:28
|- - Сергей Борщ   QUOTE (MALLOY2 @ Jul 29 2011, 15:52) Можн...   Jul 29 2011, 13:39
- - ReAl   Цитата(kan35 @ Jul 29 2011, 13:14) Есть н...   Jul 30 2011, 07:05
|- - zltigo   QUOTE (ReAl @ Jul 30 2011, 09:05) Так а ч...   Jul 30 2011, 08:26
- - Serhio6223   Всем доброго времени суток. Обьясните пожалуйста, ...   Aug 11 2011, 17:07
|- - Сергей Борщ   QUOTE (Serhio6223 @ Aug 11 2011, 20:07) О...   Aug 12 2011, 08:59
|- - Dog Pawlowa   Цитата(Serhio6223 @ Aug 11 2011, 20:07) Ч...   Aug 12 2011, 09:27
|- - sergeeff   Цитата(Dog Pawlowa @ Aug 12 2011, 13:27) ...   Aug 12 2011, 09:46
- - ветерок   В чём смысл этого куска кода ? Кодstatic uchar c...   Dec 3 2011, 17:32


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

 


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


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