Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


Ответ
Опции темы

Уроки СИ для AVR микроконроллеров

Непрочитано 24.08.2012, 15:25   #841
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Айяяяй ...
Реклама:
__________________
Осторожно , злой кот
dosikus вне форума   Ответить с цитированием
Непрочитано 24.08.2012, 16:03   #842
tempora
Почётный гражданин KAZUS.RUN
 
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 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.RUN
 
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 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,327
Сказал спасибо: 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.RUN
 
Регистрация: 06.06.2008
Сообщений: 1,519
Сказал спасибо: 76
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от Yurkin2007 Посмотреть сообщение
У ТС объявлен массив char data[]. Имя массива передаётся в функцию как указатель на первый элемент. Так вот, с чего это вдруг внутри этой функции указатель на char стал вдруг incomplete type?
Извините, что вмешиваюсь, но такой массив тоже является incomplete type (он идентичен определению ссылки). Я понимаю, признавать свои ошибки трудно, но неужели Вы не видите кучу других Ваших ошибок, которые были указаны ранее?
nonamedov вне форума   Ответить с цитированием
Непрочитано 24.08.2012, 17:03   #847
tempora
Почётный гражданин KAZUS.RUN
 
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 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,327
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

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

Сообщение от nonamedov Посмотреть сообщение
Я понимаю, признавать свои ошибки трудно
Я, по-моему, уже согласился с Вами в одном из предыдущих постов. Что мне ещё для Вас сделать, может, кровью блевать?
Yurkin2007 вне форума   Ответить с цитированием
Непрочитано 24.08.2012, 17:45   #850
nonamedov
Почётный гражданин KAZUS.RUN
 
Регистрация: 06.06.2008
Сообщений: 1,519
Сказал спасибо: 76
Сказали Спасибо 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, время: 17:39.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.