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

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

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

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

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

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


Закрытая тема
Опции темы
Непрочитано 24.08.2012, 15:25   #841
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,268 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

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

Сообщение от mimuh64 Посмотреть сообщение
мой пример (первый) работает
Дам пояснения ТС'у, чтобы его не ввели в заблуждение заблуждения других. На самом деле цитата такова: "я взял кусок твоего примера - компилируется и работает", а после приведен код, который от Вашего, papa_n, примера отличается как небо от земли - функция убрана, от греха, а в качестве операнда sizeof использован сам массив, а не указатель на него. Было бы странно, если бы после такой "замены" результат остался прежним. На вопрос "почему машина не заводится" был дан ответ "а вот у меня мясорубка - прекрасно работает".
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 24.08.2012, 16:11   #843
mimuh64
Прописка
 
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
mimuh64 на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от tempora Посмотреть сообщение
Дам пояснения ТС'у, чтобы его не ввели в заблуждение заблуждения других.
Вы не правы...
Вот первичный вопрос - пост #804
char len;
char data[];
len=(sizeof(data))/3;

Пока автор расширял свой вопрос, я писал ответ, но ответ запоздал... я не обратил внимание на параметр в функции, бывает..., я быстренько впихнул его массив и выдал пример...отсюда и недоразумение. Естественно там и не пахнет функцией.
Мистер tempora, не нужно торопиться с выводами...

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

Сообщение от mimuh64 Посмотреть сообщение
Вот первичный вопрос - пост #804
Пока автор расширял свой вопрос, я писал ответ, но ответ запоздал...
Хронология отчетливо видна - ответ на пост #804 был дан в #805, затем ТС задал следующий вопрос (#806, с функцией) и вот уже на него был дан процитированный ответ в #807. Ни один из упомянутых постов ТС'а не редактировался (не "расширялся"), в чем легко убедиться.
К тому же для моих выводов есть и другие "реальные примеры" -
Сообщение от mimuh64 Посмотреть сообщение
Нужно определиться с массивом: так ... или вот так char N; char data[N];
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 24.08.2012, 16:40   #845
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

На этот вопрос так и не ответили.
Сообщение от papa_n Посмотреть сообщение
Ошибка в строке
[HTML]len=sizeof(data);[/HTML]

Error: D:\Project_CV_encode\main.c(81): incomplete type is not allowed?
Увж.tempora, не могли бы Вы ответить?
Известно, что применение оператора sizeof имеет ограничения, его нельзя, например, использовать с данными incomplete type.(ссылка)
У ТС объявлен массив
Код:
volatile char data[]={0xB1,0x9A,0xFF,0x2B,0x79,0xEE,0x31,0x46,0x32,0x2  E,0x83,0xDD,0x1B,0x00,0x00,0x01,0x00};
Имя массива передаётся в функцию как указатель на первый элемент. Так вот, с чего это вдруг внутри этой функции указатель на char стал вдруг incomplete type?

Последний раз редактировалось Yurkin2007; 24.08.2012 в 17:12. Причина: Поправил объявление массива, а то nonamedov цепляется ...
Yurkin2007 вне форума  
Непрочитано 24.08.2012, 16:56   #846
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от Yurkin2007 Посмотреть сообщение
У ТС объявлен массив char data[]. Имя массива передаётся в функцию как указатель на первый элемент. Так вот, с чего это вдруг внутри этой функции указатель на char стал вдруг incomplete type?
Извините, что вмешиваюсь, но такой массив тоже является incomplete type (он идентичен определению ссылки). Я понимаю, признавать свои ошибки трудно, но неужели Вы не видите кучу других Ваших ошибок, которые были указаны ранее?
nonamedov вне форума  
Непрочитано 24.08.2012, 17:03   #847
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от Yurkin2007 Посмотреть сообщение
У ТС объявлен массив char data[]. Имя массива передаётся в функцию как указатель на первый элемент.




__________________
There's always more than one way to skin a cat.

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

Сообщение от tempora Посмотреть сообщение
К тому же для моих выводов есть и другие "реальные примеры" -
Опять дискуссия...
папа спрашивает....
Я вижу что при таком описании даже о компиляции не может быть речи...
Я твечаю (описав массиы), я даже не смотрю на оператор sizeoff и на то с чем он работает (подразумемая что автор далее сам наполнит массив) - главное идет компиляция.
Я начинаю писать пример....время идет
Я вижу что автор дал новый вопрос (это то что я назвал "расширил вопрос").
Пример уже написан, я копирую массив автора и показываю работу оператора sizeoff . Вывожу пример...
Затем вижу что там была функция...Но уже поздно - пример пошел.
Затем Ваши сплошные поучения..
Ну и мы видим результат наших баталий...
Все в белых фраках....
mimuh64 вне форума  
Непрочитано 24.08.2012, 17:10   #849
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от nonamedov Посмотреть сообщение
такой массив тоже является incomplete type
Пардон, я неправильно процитировал ТС. Уже исправил.

Сообщение от nonamedov Посмотреть сообщение
Я понимаю, признавать свои ошибки трудно
Я, по-моему, уже согласился с Вами в одном из предыдущих постов. Что мне ещё для Вас сделать, может, кровью блевать?
Yurkin2007 вне форума  
Непрочитано 24.08.2012, 17:45   #850
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от Yurkin2007 Посмотреть сообщение
Так вот, с чего это вдруг внутри этой функции указатель на char стал вдруг incomplete type?
Это потому, что формальный параметр указанный в определении функции, это не одно и тоже, что и определенный ранее массив, который инициализирован, т.е. уже имеет определенную длину. К тому же, при передаче массива в качестве аргумента, длина (размер) массива не передается, а только ссылка на первый элемент.

Последний раз редактировалось nonamedov; 24.08.2012 в 18:31.
nonamedov вне форума  
Закрытая тема

Закладки

Опции темы

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

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, время: 20:28.


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