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

 
 
 
Reply to this topicStart new topic
> Не выводится на терминал буква "я", Почему?
alux
сообщение Aug 28 2007, 09:50
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447



Использую инструкцию типа :
Код
printf_P("\n\r Измеренная температура возле датчика:   %f", D2);

В качестве терминала - гипертерминал Windows.
Выводится:
Цитата
Измеренна температура возле датчика: 0.000000

Испробовал все возможные настройки шрифтов терминала. Подозреваю, что это связано с тем, что ASCII код этой буквы =255. Пока решил проблему заменой на большую букву "Я". Как все-таки заставить вывести маленькую букву 'я' ?
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 28 2007, 11:24
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Самое правильное решение - НЕ использовать виндусовый гипертерминал. Используйте другую программу терминала.
Прикрепленные файлы
Прикрепленный файл  Terminal_1.9b.zip ( 326.72 килобайт ) Кол-во скачиваний: 90
 
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 28 2007, 12:13
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(alux @ Aug 28 2007, 12:50) *
ASCII код этой буквы =255. Пока решил проблему заменой на большую букву "Я". Как все-таки заставить вывести маленькую букву 'я' ?
Что-то похожее встречалось в очень старых версиях. Была проблема самого IAR. Решение хоть и кривое, но работало: printf_P("\n\r Измеренна\xFF температура возле датчика: %f", D2); Проверил сейчас в IAR ARM 4.30A - в строку заносится и 'я' и '\xFF'. Посморите листинг - если ассемблированная строка содержит код 'я', то скорее всего проблема в printf_P, точнее в вызываемой из нее __formatted_write() или putchar() или __write(). Как раз тот случай, когда не грех прогнать кусочек програмы в симуляторе.


Цитата(rezident @ Aug 28 2007, 14:24) *
Самое правильное решение - НЕ использовать виндусовый гипертерминал.
Гипертерминал конечно имеет недостатки, главный из которых - забирает на себя все ресурсы и тормозит комп при появлении в линии сигнала break. И таки да, НЕ ОТОБРАЖАЕТ на экране символ с кодом 0xFF - заменяет пробелом. Хотя в лог исправно пишет. Но тем не менее он имеет одно преимущество - он есть на любом компе.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 28 2007, 12:36
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Сергей Борщ @ Aug 28 2007, 18:13) *
Но тем не менее он имеет одно преимущество - он есть на любом компе.

Знаешь, Сергей, это преимущество весьма сомнительное. Сейчас и Винда-то не на любом компе есть smile.gif
Go to the top of the page
 
+Quote Post
Николай Z
сообщение Aug 28 2007, 14:21
Сообщение #5


Местный
***

Группа: Участник*
Сообщений: 418
Регистрация: 20-08-07
Пользователь №: 29 930



Цитата(alux @ Aug 28 2007, 13:50) *
Использую инструкцию типа :
Код
printf_P("\n\r Измеренная температура возле датчика:   %f", D2);

В качестве терминала - гипертерминал Windows.
Выводится:

Испробовал все возможные настройки шрифтов терминала. Подозреваю, что это связано с тем, что ASCII код этой буквы =255. Пока решил проблему заменой на большую букву "Я". Как все-таки заставить вывести маленькую букву 'я' ?


Загрузи терминал Br@y и задача решена...
Напрмер отсюда: http://www.sosej.cz/Utility-A-Ovladace/Uti...y-Terminal.html

Все проблемы именно он кривости Гипертерминала, который трактует букву я-малое как спецсимвол
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 28 2007, 15:19
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Николай Z @ Aug 28 2007, 20:21) *
Загрузи терминал Br@y и задача решена...

Я именно его в своем сообщении выше и приаттачил smile.gif
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Aug 29 2007, 06:27
Сообщение #7


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(rezident @ Aug 28 2007, 18:19) *
Я именно его в своем сообщении выше и приаттачил smile.gif

Терминал хороший, но сайт разработчика мёртв уже более чем полгода.
Go to the top of the page
 
+Quote Post
vmp
сообщение Aug 29 2007, 07:15
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 20-01-05
Из: Зеленоград
Пользователь №: 2 070



Цитата(IgorKossak @ Aug 29 2007, 10:27) *
Терминал хороший.

Хороший-то он хороший, но очень медленный. При работе на 115200 теряет данные на довольно неслабой машине (P4 2.8). Призодится для протоколирования больших объемов информации запускать TeraTerm.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 29 2007, 07:31
Сообщение #9


Гуру
******

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



Цитата(IgorKossak @ Aug 29 2007, 09:27) *
Терминал хороший, но сайт разработчика мёртв уже более чем полгода.

А внешний вид с кучей кнопочек на морде, что называется "на любителя". Ну а уж как эти кнопочки, боксики и списочки сбиваюся в кучу и налезают друг на друга при смене системных шрифтов на высоких разрешениях экрана sad.gif не может понравиться никому.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Николай Z
сообщение Aug 29 2007, 21:53
Сообщение #10


Местный
***

Группа: Участник*
Сообщений: 418
Регистрация: 20-08-07
Пользователь №: 29 930



Цитата(vmp @ Aug 29 2007, 11:15) *
Хороший-то он хороший, но очень медленный. При работе на 115200 теряет данные на довольно неслабой машине (P4 2.8). Призодится для протоколирования больших объемов информации запускать TeraTerm.


ну не знаю у меня и на 115200 работает и буковки не теряет... ну другой поищи - любой кроме гипертерма... Я его может и не сайта разраба скачал - всего месяц назад - но откуда не помню уже... как раз из-за того что приработе с MsbStr-9 у меня буковки пропадали... где-то ннеще лежит крорме моей ссылки... которую я дал

Кнопочек да - много - но зато настройкм при этом очевидные - и башку не ломать... и окна ввода-вывода - отдельные... Вопрос в том - Вам шашечки или Вам ехать? Если шашечки - так это как раз Гипертерминал... а если ехать этот в самый раз с полным управлением...

Сообщение отредактировал Николай Z - Aug 29 2007, 21:55
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 30 2007, 06:46
Сообщение #11


Гуру
******

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



Цитата(Николай Z @ Aug 30 2007, 00:53) *
Вопрос в том - Вам шашечки или Вам ехать? Если шашечки - так это как раз Гипертерминал...

Если реально ехать, то ZOC. Практически безальтернативно sad.gif.
А откуда у Hiperterminal шашечки? Нет их там smile.gif, ни шаечек нет, ни езды.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Николай Z
сообщение Sep 5 2007, 10:26
Сообщение #12


Местный
***

Группа: Участник*
Сообщений: 418
Регистрация: 20-08-07
Пользователь №: 29 930



Цитата(zltigo @ Aug 30 2007, 10:46) *
....
А откуда у Hiperterminal шашечки? Нет их там smile.gif, ни шаечек нет, ни езды.


Ну да и на ZOC отлично ездится.... Мне просто оказалось быстрее Br@y скачать...

А шашечку Вы просто не заметили у гипертерминала...
У Гипертерминала главная шашечка в разделе Help->About HyperTerminal...
Там что-то про Мелкомягкий копирайт и версию аж 5.1 или около того...
Возможно она единственная - но зато солидная и большая шашечка и по замыслу разработчиков видимо вызывает огромное уважение... beer.gif

Сообщение отредактировал Николай Z - Sep 5 2007, 10:27
Go to the top of the page
 
+Quote Post
pvp
сообщение Sep 28 2007, 14:39
Сообщение #13


Участник
*

Группа: Новичок
Сообщений: 18
Регистрация: 16-02-07
Пользователь №: 25 414



Цитата(alux @ Aug 28 2007, 13:50) *
Как все-таки заставить вывести маленькую букву 'я' ?


Предлагаю Вам установить в HyperTerminal'e шрифт 'Terminal' - это тот, что установлен по умолчанию, а в своей embedded программе реализовать преобразование из кодировки win1251 в dos866 (например, в данном файле Прикрепленный файл  map1251to866.zip ( 1.58 килобайт ) Кол-во скачиваний: 247
содержится соответсвующая map-таблица).

P.S. Не забудьте сменить расширение файла на *.h
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 09:50
Рейтинг@Mail.ru


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