Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 17.02.2011, 13:13  
Someone
Гражданин KAZUS.RU
 
Регистрация: 16.06.2005
Сообщений: 944
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Отправка числа 0 (ноль) по уарту

Сообщение от urmlr Посмотреть сообщение
Самое опасное что только может быть, это код который работает и выдаёт похожие на правильные, но неправильные результаты. С вашим имхом вы как раз на пути туда. А вот отлов переполнения как раз позволяет предотвратить это и что-то таки сделать. Что именно уже зависит от конкретной аппликухи.
Ну и? Вариант с флагом переполнения так же приведен.

Цитата:
То есть ваш код имеет недокументированные и неочевидные взаимосвязи. Сиречь поддерживаться в нормальных производственных условиях не может.
Как и приведенный исходный . Речь ведь изначально велась о том, что уровень авторов кодевижна не сильно высок, и код можно без особого труда улучшить, написав короче, но с тем же (почти, исключая ненужные переменные и действия с ними) функционалом, а ведь они еще денег просят за свой компилятор. (Хотя опять же, имхо кодевизарды - зло в любом компиляторе, не только кодевижене, и начинающим программистам их использовать не следует, т.к. не будет должного понимания работы устройства).

Цитата:
В нормальном исходном коде с нормально сделанной функцией getchar этот флаг не нужен вообще. Это ещё одна причина почему в стандарте getchar возвращает именно int а не char. Потому как иметь какой-то ещё мистический флаг означает нарываться на неприятности. Баги сиречь.
С этим я и не спорю. Но речь-то в данном случае идет о конкретном коде, выданным визардом кодевижина. И улучшать можно именно этот код именно в том виде, что он имеет. Т.е. с возвращаемым char.

Цитата:
Код должен для начала работать правильно, а быстрее или нет - второй вопрос.
Опять же, в данном случае, исходный код работает, не правильно, не по стандарту С. Я же показываю, что этот код можно без напряга оптимизировать, и при этом он продолжит работать почти так же, как исходный, но при этом будет и короче и быстрее.

Цитата:
Резюме: экзамена по программированию вы бы у меня не сдали
Цитата:
напишите-ка для себя формулу условия переполнения при условии неиспользования счётчика символов в кольцевом буфере.
Счетчик символов, которые можно прочитать из буфера не нужен? Условие выполнено?
Реклама:
Someone вне форума  
Непрочитано 17.02.2011, 13:25  
urmlr
Почётный гражданин KAZUS.RU
 
Аватар для urmlr
 
Регистрация: 15.07.2009
Адрес: San Jose, USA
Сообщений: 927
Сказал спасибо: 11
Сказали Спасибо 228 раз(а) в 166 сообщении(ях)
urmlr на пути к лучшему
По умолчанию Re: Отправка числа 0 (ноль) по уарту

Сообщение от _guardianangel Посмотреть сообщение
А как тада весь Unix работает?
У меня лично на всех серверах вообще нет ничего, кроме ascii, за ненадобностью. Кому охота иметь некую кодировку, может в KDE или Gnome поиметь UTF. Но сам компилер как таковой это не поддерживает, т.е. есть встроенный тип char, но встроенного типа wchar нету. И не будет.
urmlr вне форума  
Непрочитано 17.02.2011, 14:15  
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Отправка числа 0 (ноль) по уарту

Восточные друзья стараются (умучили-не хватает им) а UTF-8 или UTF-16 - как повезёт(иногда даже смешно- пользую BitFontCreat.....- (знакогенераторы требуются-рисую) - так он - то-так,то так...все дефолты тазиком).
OlegNZH вне форума  
Непрочитано 17.02.2011, 14:29  
urmlr
Почётный гражданин KAZUS.RU
 
Аватар для urmlr
 
Регистрация: 15.07.2009
Адрес: San Jose, USA
Сообщений: 927
Сказал спасибо: 11
Сказали Спасибо 228 раз(а) в 166 сообщении(ях)
urmlr на пути к лучшему
По умолчанию Re: Отправка числа 0 (ноль) по уарту

Сообщение от OlegNZH Посмотреть сообщение
Восточные друзья стараются (умучили-не хватает им
Нормальный юникод должен быть как минимум трёхбайтным, а если учитывать уроки истории, так и четырёх. UTF-8 вообще насмешка...
urmlr вне форума  
Непрочитано 17.02.2011, 23:51  
_guardianangel
Почётный гражданин KAZUS.RU
 
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,140
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
_guardianangel на пути к лучшему
По умолчанию Re: Отправка числа 0 (ноль) по уарту

Сообщение от urmlr Посмотреть сообщение
У меня лично на всех серверах вообще нет ничего, кроме ascii, за ненадобностью.
И таки шо Вы выбираете при установке *nix - ов в качестве системной локали? Уж не дефолтное ли UTF8.ru_RU? Или месье зная толк в извращениях выбирает CP1251.ru_RU?
_guardianangel вне форума  
Непрочитано 18.02.2011, 09:23  
urmlr
Почётный гражданин KAZUS.RU
 
Аватар для urmlr
 
Регистрация: 15.07.2009
Адрес: San Jose, USA
Сообщений: 927
Сказал спасибо: 11
Сказали Спасибо 228 раз(а) в 166 сообщении(ях)
urmlr на пути к лучшему
По умолчанию Re: Отправка числа 0 (ноль) по уарту

Сообщение от _guardianangel Посмотреть сообщение
И таки шо Вы выбираете при установке *nix - ов в качестве системной локали?
LC_ALL=C ессессно. Какой, к чёрту, "_RU"? Побойтесь того в кого вы верите
urmlr вне форума  
Непрочитано 18.02.2011, 12:12  
code-by
Прописка
 
Регистрация: 04.08.2006
Сообщений: 181
Сказал спасибо: 1
Сказали Спасибо 31 раз(а) в 31 сообщении(ях)
code-by на пути к лучшему
По умолчанию Re: Отправка числа 0 (ноль) по уарту

начали с уарта, закончили unix-ом и utf
code-by вне форума  
Непрочитано 18.02.2011, 15:09  
Cybermaker
Вид на жительство
 
Регистрация: 21.08.2007
Сообщений: 318
Сказал спасибо: 12
Сказали Спасибо 67 раз(а) в 61 сообщении(ях)
Cybermaker на пути к лучшему
По умолчанию Re: Отправка числа 0 (ноль) по уарту

Сообщение от urmlr Посмотреть сообщение
И никто не говорит об удвоении памяти под каждый символ, если getchar возвращает int, это совсем не значит что этот int надо в память фигачить
Уважаемый, об этом говорит спецификация на Си. В С++ чар урезан до байта.


Сообщение от urmlr Посмотреть сообщение
У меня лично на всех серверах вообще нет ничего, кроме ascii, за ненадобностью.
Логично. Особенно если на серверах нет БД. Как только она появляется и требует локализации: вопрос с выбором кодировки встаёт очень остро.

Сообщение от urmlr Посмотреть сообщение
Нормальный юникод должен быть как минимум трёхбайтным, а если учитывать уроки истории, так и четырёх.
Есть такое понятие как simplified [восточный язык] - именно он является используемым. Городить таблицу под 7000 иероглифов никому не надо. Хочется - нарисуй в гифе например.

Сообщение от code-by Посмотреть сообщение
начали с уарта, закончили unix-ом и utf
Просто продолжаем говорить о размерностях.
Cybermaker вне форума  
 

Закладки

Метки
avr, mega, uart
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 14:22.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot