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

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

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

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

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

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


Закрытая тема
Опции темы
Непрочитано 15.08.2012, 19:04   #791
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от ut1wpr Посмотреть сообщение
Не уверен.
Именно так и есть. Дело в том, что сам строковый литерал уже содержит в себе символ окончания строки, и неважно, что потом его компилятор "уложит" на место массива.
Сообщение от ut1wpr Посмотреть сообщение
Лучше объявить указатель на массив,...
(На строку, Вы хотели сказать?) Я просто придерживался приведенного кода, а не писал свой.
Сообщение от ut1wpr Посмотреть сообщение
особой разницы между строками и массивами не отмечалось.
Особой - действительно, нет, но это не значит, что её нет совсем.
__________________________________________________ ___________
По поводу разницы между строками и массивами символов в Сях - предлагаю провести такой эксперимент:
Реклама:
__________________
There's always more than one way to skin a cat.

Последний раз редактировалось tempora; 15.08.2012 в 20:42.
tempora вне форума  
Непрочитано 15.08.2012, 19:35   #792
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от ut1wpr Посмотреть сообщение
Я подчеркнул ассемблерный листинг после компиляции.
Вы кусок листинга отрезали - нельзя ли увидеть, что там дальше было?
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Сказали "Спасибо" tempora
ut1wpr (15.08.2012)
Непрочитано 15.08.2012, 19:37   #793
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Возможно, вы и правы. Но я придерживался постулата:
Цитата:
Класса String в C нет. Вместо этого есть массив из char, в конце которого символ с кодом 0.
А вот откуда он в конце берется - это еще надо выяснить.
Ну не может компилятор с бухты-барахты менять МОЙ код. Только в том случае, если я ему разрешу. А разрешить ему работу с классом "литерал" можно подключив библиотеку ‹string.h› Но ведь это уже не нейтив Си. Это от плюсов.
Вот так я все это воспринимал.
Теперь после ваших уроков призадумаюсь. Будет время, пороюсь. Готов поблагодарить, если в вашей науке будет истина.
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 15.08.2012, 19:42   #794
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от tempora Посмотреть сообщение
Вы кусок листинга отрезали - нельзя ли увидеть, что там дальше было?
А ведь таки да. Завершающий ноль на месте. Благодарю за поправку. Хоть и не нравится мне, когда кто-то за меня что-то добавляет без моего согласия на то...
Спасибо.
Код:
  \                                 In section .near.rodata, align 1
     13          const u8 TestString[] = "TRS";
   \                     TestString:
   \   000000 54525300              DC8 "TRS"
     14
Разные формы инициализации - разные результаты. Применение двойных кавычек наверняка сообщило компилятору, что инициализируется именно литерал. Инициализация одиночными кодами не приводит к введению \0.

Код:
\                                 In section .near.rodata, align 1
     13          const u8 TestString[] = {'T','R','S'};
   \                     TestString:
   \   000000 545253                DC8 84, 82, 83
Скорее всего, я подзабыл этот факт. Т.к. со стрингами работал мало. Именно в плане объявления отдельных строк. Теперь запомню потверже.
__________________
С уважением,
Vic / ut1wpr

Последний раз редактировалось ut1wpr; 15.08.2012 в 19:47.
ut1wpr вне форума  
Непрочитано 15.08.2012, 19:58   #795
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от ut1wpr Посмотреть сообщение
кто-то за меня что-то добавляет без моего согласия на то...
Никто ничего не добаляет - Вы же сами написали:
Код:
const u8 TestString[] = "TRS";
а строка "TRS", согласно правилам Си, содержит в себе символ '\0' - это же строковый литерал, а не массив символов {'T','R','S'}.
__________________________________________________ _______________________
Вот более развернутая иллюстрация:
__________________
There's always more than one way to skin a cat.

Последний раз редактировалось tempora; 15.08.2012 в 20:00.
tempora вне форума  
Непрочитано 15.08.2012, 20:04   #796
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Урок принят. И увеличение размера на 1 тоже понятно.
До встречи...
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 15.08.2012, 21:09   #797
mimuh64
Прописка
 
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
mimuh64 на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

У бедного Папы крышу снесет от всего... Но как всегда Протеус рулит.
Миниатюры:
Нажмите на изображение для увеличения
Название: str.jpg
Просмотров: 57
Размер:	294.9 Кб
ID:	37821  
mimuh64 вне форума  
Непрочитано 15.08.2012, 21:33   #798
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от mimuh64 Посмотреть сообщение
У бедного Папы крышу снесет от всего... Но как всегда Протеус рулит.
Гвоздиком прибьет...
У меня нет Протезуса. У меня есть IAR STM8, IAR AVR, IAR STM32. Пока обхожусь.
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 15.08.2012, 21:39   #799
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

То есть, протеус - это рулезное средство рассматривания листингов? Гораздо проще смотреть тем же ПО, которым проводилась компиляция (см. пример):
  • быстрее,
  • точнее,
  • полная совместимость со средством разработки,
  • меньше места будет занято в ОЗУ и на диске.

__________________________________________________ _______________
У рыб нет меха и потому у них нет блох. Но если бы у них был мех, то в нём обязательно были бы блохи, а блохи - это...
__________________
There's always more than one way to skin a cat.

Последний раз редактировалось tempora; 15.08.2012 в 21:41.
tempora вне форума  
Непрочитано 15.08.2012, 21:51   #800
mimuh64
Прописка
 
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
mimuh64 на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Для ut1wpr и tempora .
Как по мне, так та картинка которую я привел - более наглядна (по сравнению с вашим спором). Однако все дело вкуса. Любой продукт нужно знать - тогда он виртуозный инструмент.
Сообщение от tempora Посмотреть сообщение
То есть, протеус - это рулезное средство рассматривания листингов?
  • быстрее,
  • точнее,
  • полная совместимость со средством разработки,
  • меньше места будет занято в ОЗУ и на диске.
Листинг здесь ни причем (речь шла о том как доходчиво подать тему), по всем пунктам - не убедительно, особенно последнее (я не знаю сейчас того у кого проблема с диском, а про термин "точность" - я думаю что ты погорячился...).
Ребятки давайте не будем отходит от темы, я как то не особо к флуду...

Последний раз редактировалось mimuh64; 15.08.2012 в 21:59.
mimuh64 вне форума  
Закрытая тема

Закладки

Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Видео уроки dosikus Микроконтроллеры, АЦП, память и т.д 61 23.01.2012 21:06
Видео уроки (flash) Proteus 7.1 fmssp Proteus 5 13.08.2007 03:56
AVR уроки Рюмика chipic128 Proteus, KiCAD и другие ECAD 9 07.03.2007 21:46
уроки от LABCENTRE(PIC12F675+C) dosikus Микроконтроллеры, АЦП, память и т.д 22 09.10.2006 10:16


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


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