Например TDA7294

Форум РадиоКот • Просмотр темы - Нескольно простых вопросов о программировании AVR на Си.
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср сен 17, 2025 02:43:22

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 1478 ]     ... , , , 13, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт сен 24, 2015 14:44:14 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: 44
Зарегистрирован: Вс авг 30, 2015 03:52:59
Сообщений: 469
Рейтинг сообщения: 0
prinv писал(а):
Большое спасибо, warning пропал :)
Варнинг пропал, а грабли, подозреваю, остались...
Скорее всего, объявление
Код:
#define FIFO( size )\
struct {\
   unsigned char buf[size];\
   unsigned char tail;\
   unsigned char head;\
}
должно было выглядеть так:
Код:
#define FIFO( size )\
struct {\
   unsigned char buf[size];\
   unsigned char *tail;\
   unsigned char *head;\
}


Однако, присвоение структуре имени в макросе должно будет приводить к другому варнингу - "переопределение имени", так как каждый такой макрос будет раскрываться в повторное определение одной и той же структуры. Это тоже грабли, хотя и вид с боку.

#ifndef ? ... :roll: :) Прикалываюсь - решение другое, но не хочу портить удовольствие от самостоятельного осмысления задачи и ее решения... :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт сен 24, 2015 17:42:14 
Потрогал лапой паяльник
Аватар пользователя

Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55
Сообщений: 353
Рейтинг сообщения: 0
Pnjom-Penb писал(а):
должно было выглядеть так:
Код:
[...]
   unsigned char *tail;\
[...]

Ну будет поуниверсальнее в части большего размера буфера. А всё одно ведь остальной, не показанный нам, хак по доступу к членам этого, с позволения сказать, объекта упрятан в такие-же дефайны, что кстати и подтверждается нагугливанием исходной нетленки по фразе "//размер должен быть степенью двойки: 4,8,16,32...128" - так что ещё и их переписывать придётся - а зачем это вопрошающему? ;)

Pnjom-Penb писал(а):
Прикалываюсь - решение другое, но не хочу портить удовольствие от самостоятельного осмысления задачи и ее решения... :)))

Если компилер не будет ныть на переопределение идентичных по объявлению структур - то и жвачки хватит, чтобы имя на основе параметра сконь-струировать. ;)

_________________
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт сен 24, 2015 17:53:56 
Потрогал лапой паяльник
Аватар пользователя

Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55
Сообщений: 353
Рейтинг сообщения: 0
Кстати, раз уж я разбудился, то заметьте, что претензия то не к анонимности - а к [потенциальному] линкажу этой самой фифы́:

Код:
anonymous type with no linkage used to declare variable '<anonymous struct> fifo' with linkage [enabled by default]   


и можно ожидать, что объявление этой переменной как статической вероятно снимет претензию этого зануды-компилятора? Ну конечно если пользователь уже накидал прямых связей между модулями - нам неизбежно передадут особое мнение линкера на этот счёт, но, мне кажется, что всё-же "впиндюрим мы успешно". © п-к Ржевский. ;)

_________________
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт сен 25, 2015 07:04:02 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 58
Зарегистрирован: Чт янв 20, 2011 09:07:08
Сообщений: 674
Откуда: Пермь
Рейтинг сообщения: 0
Siarzhuk писал(а):
а зачем это вопрошающему?

Вопрошающему была интересна причина возникновения warning и только, без далеко идущих выводов :)))

Мой вопрос фактически был "как правильно описать структуру в хидере?"

_________________
Никакая контра не уйдёт от нас


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт сен 25, 2015 08:16:49 
Потрогал лапой паяльник
Аватар пользователя

Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55
Сообщений: 353
Рейтинг сообщения: 0
prinv писал(а):
Вопрошающему была интересна причина возникновения warning и только, без далеко идущих выводов :)))

Это понятно и, как по мне, весьма похвально с его стороны. ;) Вопрос же мой был больше к предлагающему улучшенную реализацию с предложением оценить трудозатраты на оную доработку.

prinv писал(а):
Мой вопрос фактически был "как правильно описать структуру в хидере?"

Правильность либо неправильность в некоторой мере задаёт и контекст использования. Если моё предположение про глобальную видимость верно - то объявление объекта статическим:

Код:
static FIFO fifo(128);


т.е. видимым только в этом модуле, должно снять претензии копилятора по линковке объектов анонимных структур. Интересно, кстати, отчего он вообще типом озаботился - проект CPP-шный что-ли?

_________________
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт сен 25, 2015 08:53:22 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 58
Зарегистрирован: Чт янв 20, 2011 09:07:08
Сообщений: 674
Откуда: Пермь
Рейтинг сообщения: 0
Siarzhuk писал(а):
проект CPP-шный что-ли?

Был cpp-шный, уже с-шный :))

И сразу вопрос по коду из хедера:

Код:
struct str_fifo {
      char         value[FIFOSIZE];
      unsigned int   head;
      unsigned int   tail;
};
   
char   fifo_push(str_fifo *fifo, char data);


Получаю ошибку "unknown type name 'str_fifo"...

_________________
Никакая контра не уйдёт от нас


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт сен 25, 2015 09:08:39 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1430
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4575
Откуда: Планета Земля
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
Код:
typedef struct{
      char         value[FIFOSIZE];
      unsigned int   head;
      unsigned int   tail;
}str_fifo;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт сен 25, 2015 09:20:27 
Потрогал лапой паяльник
Аватар пользователя

Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55
Сообщений: 353
Рейтинг сообщения: 1
prinv писал(а):
char fifo_push(str_fifo *fifo, char data);[/code]

Получаю ошибку "unknown type name 'str_fifo"...


В C нужно полностью указывать тип как "struct str_fifo". Или алиасить его typedef-ом как только что рассказал Alex.

_________________
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт сен 25, 2015 10:25:28 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: 44
Зарегистрирован: Вс авг 30, 2015 03:52:59
Сообщений: 469
Рейтинг сообщения: 1
prinv писал(а):
Мой вопрос фактически был "как правильно описать структуру в хидере?"
Без дефайнов.
Siarzhuk писал(а):
Если компилер не будет ныть на переопределение идентичных по объявлению структур - то и жвачки хватит, чтобы имя на основе параметра сконь-струировать. ;)
С какого потолка взято утверждение, что структуры будут идентичными?
prinv писал(а):
Получаю ошибку "unknown type name 'str_fifo"...
Потому что имя типа здесь не "str_fifo", а "struct str_fifo":
Код:
char    fifo_push(struct str_fifo *fifo, char data);


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт сен 25, 2015 11:00:40 
Потрогал лапой паяльник
Аватар пользователя

Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55
Сообщений: 353
Рейтинг сообщения: 0
Pnjom-Penb писал(а):
Siarzhuk писал(а):
Если компилер не будет ныть на переопределение идентичных по объявлению структур - то и жвачки хватит, чтобы имя на основе параметра сконь-струировать. ;)
С какого потолка взято утверждение, что структуры будут идентичными?

"Жвачка" в данном случае - препроцессорная конкатенация корня имени структуры с параметром-размером, позволяющая сделать разные имена структур для разных размеров буфера. Для одинаковых размеров - структуры будут идентичны:
Код:
#define FIFO(__size)    \
struct tagFIFO##__size { \
  char buf[__size];     \
}

FIFO(10) fifo10;
FIFO(11) fifo11;
FIFO(12) fifo12;
FIFO(13) fifo13;
FIFO(13) fifo13x;

разворачивается в:
Код:
struct tagFIFO10 { char buf[10]; } fifo10;
struct tagFIFO11 { char buf[11]; } fifo11;
struct tagFIFO12 { char buf[12]; } fifo12;
struct tagFIFO13 { char buf[13]; } fifo13;
struct tagFIFO13 { char buf[13]; } fifo13x;

MSVC-шный компилер на последнюю строчку ругается, что, впрочем при вящем желании обходится тривиально. ;)

_________________
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт сен 25, 2015 14:09:39 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: 44
Зарегистрирован: Вс авг 30, 2015 03:52:59
Сообщений: 469
Рейтинг сообщения: 0
Цитата:
Siarzhuk: Если компилер не будет ныть на переопределение идентичных по объявлению структур ...
Pnjom-Penb: С какого потолка взято утверждение, что структуры будут идентичными?
Siarzhuk: "Жвачка" в данном случае - препроцессорная конкатенация ...

Вы не на тот вопрос отвечаете - структуры НЕИДЕНТИЧНЫ! Потому и был задан вопрос - с чего это они представляются Вам идентичными, да еще с упором на некую очевидность этого...

И, кстати, ...
Siarzhuk писал(а):
Pnjom-Penb писал(а):
должно было выглядеть так:
Код:
[...]
   unsigned char *tail;\
[...]
Ну будет поуниверсальнее в части большего размера буфера.
... разница между объявлением указателей head и tail как "unsigned char" или как "unsigned char*" заключается вовсе не в бОльшем размере, который смогут обслуживать вторые, а в арифметике - арифметика указателей отличается от арифметики объектов, и объявлять указатели, как "unsigned char" - это те еще грабли.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт сен 25, 2015 15:03:05 
Потрогал лапой паяльник
Аватар пользователя

Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55
Сообщений: 353
Рейтинг сообщения: 0
Pnjom-Penb писал(а):
Вы не на тот вопрос отвечаете - структуры НЕИДЕНТИЧНЫ!

т.е.
Код:
struct s1 {
  char buf[13];
};

struct s2 {
  char buf[13];
};

не идентичны? И в чём же разница, позвольте спросить?

Pnjom-Penb писал(а):
объявлять указатели, как "unsigned char" - это те еще грабли.

Вы в "источник вдохновения" откуда исходный дефайн был взят вообще заглядывали? Там указателями совсем не пахнет. Да даже и без этого очевидно-же - буфер и индексы.

_________________
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт сен 25, 2015 17:50:59 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: 44
Зарегистрирован: Вс авг 30, 2015 03:52:59
Сообщений: 469
Рейтинг сообщения: 0
Siarzhuk писал(а):
Вы в "источник вдохновения" откуда исходный дефайн был взят вообще заглядывали? Там указателями совсем не пахнет.
Согласен, привычка давать имена "head/tail" именно указателям сыграла со мной шутку и я приписал ТСу свой ход мыслей.
А Ваши рассуждения о "большей универсальности в смысле размера" еще и укрепили меня в моей ошибке.

Если уж заговорили об источниках вдохновения, то хотелось бы узнать и об источнике Вашего тоже...
Итак, Вы предложили ТСу модификацию его макроса, "обезьянничающую" (mangling) имя структуры, приклеивая к ней размер массива, переданный, как параметр "struct fifo##__size ... fifo10; ... fifo11; ..."

В связи с этим, к источнику такого вдохновения возникают следующие вопросы:
1. Как так получилось, что для одного и того же размера (13) этот способ породил разные имена структур? Цитата:
Siarzhuk писал(а):
struct s1 ... struct s2 ... не идетичны?
2. Что делать ТСу, когда он, вызвав такой макрос дважды, с одинаковым параметром-размером, получит "те же яйца, только в профиль"? Вроде хотели уйти от повторяющихся объявлений, а пришли к ним же... Сильный ход!
3. Если компилятор в такой ситуации "не будет ныть", то получится, что программист будет думать, что завел две такие FIF'ы, а физически все обращения пойдут в одну!.. Как правильно назвать такие грабли - "граблища", или уж сразу "мастдайка"?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт сен 25, 2015 21:35:19 
Потрогал лапой паяльник
Аватар пользователя

Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55
Сообщений: 353
Рейтинг сообщения: 0
Pnjom-Penb писал(а):
Если уж заговорили об источниках вдохновения, то хотелось бы узнать и об источнике Вашего тоже...

[голосом Кирпича из фильма "Место встречи изменить нельзя"] -"Такой-зе как и у вас: http://mainloop.ru/c-language/simple-fifo.html" ;)

Pnjom-Penb писал(а):
1. Как так получилось, что для одного и того же размера (13) этот способ породил разные имена структур?

Это я вас методом "от противного" подловить хотел. ;) В реальности, как вы совершенно правильно заметили, тут как раз тот случай когда конкатенирующий манглинг не сработает - из чего я собственно и начал мечтать-размышлять вслух про идентичные структуры с одинаковым именем - мол мы объявляем тип, и тип этот бинарно идентичен предыдущему объявлению структуры с таким-же именем, и почему-бы компилятору не увидеть этот факт и не понять что это один и тот-же тип, мечты, мечты.... :) А вот, кстати, конкатенирование к имени структуры ещё и __LINE__ нас не спасёт?.

Код:
#define FIFO(__size) struct fifo##__size##__LINE__ {


Вроде ешё и __COUNTER__, помню, имеется.

Pnjom-Penb писал(а):
2. Что делать ТСу, когда он, вызвав такой макрос дважды, с одинаковым параметром-размером, получит ...

Я бы в одной строке объявил: FIFO(128) fifo1, fifo2, fifo3;

Pnjom-Penb писал(а):
получится, что программист будет думать, что завел две такие FIF'ы, а физически все обращения пойдут в одну!

Не, там же под дефайном только определение типа спрятано (на CPP-шные шаблоны смахивает, кстати) - а переменные (инстансы) мы уже сами в коде задаём разные - т.е. и работать мы будем с двумя разными переменными. Или вы не это имели ввиду? ;)

_________________
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Сб сен 26, 2015 08:43:19 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: 44
Зарегистрирован: Вс авг 30, 2015 03:52:59
Сообщений: 469
Рейтинг сообщения: 0
Siarzhuk писал(а):
Не, там же под дефайном только определение типа спрятано ...
Посмотрел начало этой подтемы:
Код:
#define FIFO( size )\
struct {\
   unsigned char buf[size];\
   unsigned char tail;\
   unsigned char head;\
}
FIFO(128) fifo;
Действительно, мне казалось, что объявление переменной также является частью дефайна.

Siarzhuk писал(а):
[голосом Кирпича из фильма "Место встречи изменить нельзя"] -"Такой-зе как и у вас: http://mainloop.ru/c-language/simple-fifo.html" ;)
Не, этого сайта не знаю. Первое, что бросилось в глаза - "Что бы использовать этот код для fifo c размером 256 и более, надо для head и tail поменять тип c unsigned char на unsigned short" - это утверждение платформеннозависимое. Писать такое "тихо, сам с собою" - некоторое время можно (недолго), а распространять такую заразу массово - нехорошо. Если важна интерпретация содержания переменной, то в ход идут типы, предназначенные для соотв-го содержимого, если же важен именно ее размер, то необходимо и типы выбирать те, что задают размер (uint8_t, uint16_t).

Siarzhuk писал(а):
Это я вас методом "от противного" подловить хотел.
Не стоит никого подлавливать, тем более, что ТС от этого только еще больше запутается. А он и сам уже многое для этого сделал.

Siarzhuk писал(а):
А вот, кстати, конкатенирование к имени структуры ещё и __LINE__ нас не спасёт?. Вроде ешё и __COUNTER__, помню, имеется.

У ТСа (Prinv) полный каквардак в голове как по поводу синтаксиса/семантики языка, так и в отношении работы препроцессора. Пытаясь "автоматизировать", а по-сути - спрятать от своих глаз, создание типа, он умножает один кавардак на другой и получает уже не два кавардака, а кавардак в квадрате... а Вы подбираете способ, как ему из этой ситуации не выкарабкаться? :)))
Я, со своей стороны, ему посоветовал - без дефайнов! Пусть все будет прозрачно, для начинающих это важно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Сб сен 26, 2015 09:13:24 
Потрогал лапой паяльник
Аватар пользователя

Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55
Сообщений: 353
Рейтинг сообщения: 0
Pnjom-Penb писал(а):
Первое, что бросилось в глаза - "Что бы использовать этот код для fifo c размером 256 и более, надо для head и tail поменять тип c unsigned char на unsigned short" - это утверждение платформеннозависимое.

Вот-вот, я ваш "переход на указатели" в этом ключе и расценил - как избавление от ограничений размера переменной индекса переходом на прямую адресацию хвоста и головы. Другой вопрос, что это дезавуирует все остальные трюки из этого заголовка которые заточены именно под индексы - ну то дело для препроцессора обычное - чем больше прячется под #define тем более снижается универсальность и безопасность применения такого дефайна.

Pnjom-Penb писал(а):
Пытаясь "автоматизировать", а по-сути - спрятать от своих глаз, создание типа, он умножает один кавардак на другой и получает уже не два кавардака, а кавардак в квадрате...

Судя по последним его отметкам в теме, движение как раз в правильном направлении - взято чужое решение на препроцессоре и приведено к читабельному C коду. Впрочем, надеюсь, он нам и сам расскажет, что получилось. ;)

_________________
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Сб сен 26, 2015 09:55:23 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 58
Зарегистрирован: Чт янв 20, 2011 09:07:08
Сообщений: 674
Откуда: Пермь
Рейтинг сообщения: 0
Котаны, я уже давно сделал свою реализацию fifo :)))
У меня просто был вопрос по синтаксису и только.
Спасибо всем, кто участвовал.

_________________
Никакая контра не уйдёт от нас


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Сб сен 26, 2015 15:07:38 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: 44
Зарегистрирован: Вс авг 30, 2015 03:52:59
Сообщений: 469
Рейтинг сообщения: 0
prinv писал(а):
У меня просто был вопрос по синтаксису и только.


С синтаксисом все просто - компилятор откажется работать, если синтаксис неверный. Проблема была в основном в семантике...
Ну-да и Фиг с ним, если это осталось за гранью...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вт сен 29, 2015 00:53:07 
Держит паяльник хвостом

Карма: 10
Рейтинг сообщений: 161
Зарегистрирован: Чт апр 03, 2014 23:16:55
Сообщений: 963
Откуда: Россия
Рейтинг сообщения: 0
Приветствую, знатоков!
Пока затишье и нет умных споров, я опять про свое :))
hybroid, пробовал я год назад code::blocks, понравилась IDE, но в "вылеченной" версии был глюк и пока отставил в сторону...
ARV, так же, около года назад читал Ваши соображения по поводу софта, лицензий и Eclipse в частности.
Попробовал, было трудно - для начала не нашел именно ту версию, что Вы описывали, пробовал с другой...
Вообщем через некоторые мучения запустил, даже пробовал "симулинк" прикрутить и оно как-то даже работало,
но как то очень медленно и непонятно :dont_know:
Может Вы мне напишите в личку, какая именно версия эклипса нужна и как правильно ее запустить?
WiseLord, почитал про QtCreator, обнадеживает, собрался качать и ставить, но требуется 4 Гб на диске!
Все правильно, так много надо этой IDE? Как то не очень радует... Может я что не понял?
Pnjom-Penb писал(а):
...есть проверенные хайвейные пути, зачем идти с завязанными глазами по полю, усеянному ямами и минами? :shock:

Pnjom-Penb, Вы знаете еще какие-нибудь IDE из разряда "хайвейные", кроме тех, что мы тут обсуждаем?
Если да, то не молчите, помогите.
Pnjom-Penb писал(а):
dm211 писал(а):
Да, CV, и не могу получить количество цифр или символов массива.

Однажды читал на одном из форумов, что CV не умеет sizeof. Проверял примеры, иллюстрирующие его "работу", на своем экземпляре - действительно не работает. Правда, не во всех версиях.
Как понять не во всех версиях? У Вас несколько версий CVAVR установлено? (почему спрашиваю - будет понятно далее).
Pnjom-Penb писал(а):
P.S. Только не подумайте, что я им пользовался - содержал исключительно ради помощи страждущим.
Это хорошее дело, это похвально, не переживайте так, а иначе "подумаем" :)) (шутка).
Pnjom-Penb писал(а):
P.P.S.
Rtmip писал(а):
А еще более подробно можете написать, чтобы не читать по 100 страниц форума военного?
Я про то, какие еще "не все его недостатки"(CVAVR) и в чем именно не реализует стандарт?
Rtmip, Вы еще здесь? Как Вам эта прэлесть с sizeof'ом? :)))
Тут вот какая "штука" приключилась:
Сначала я обрадовался - вот еще одно "не по стандарту".
Потом решил проверить и оказалось, что работает sizeof, показывает размер исправно.
Правда я до этого момента даже и не использовал его ни разу.
Хотя может я и неверно понимаю результаты, выглядит это так:
Код:
static flash unsigned char А[4]={100,150,200,250};//например, как ранее тут спрашивали
В = sizeof А; //дает результат 4.
static flash int А[4]={100,150,200,250};
В = sizeof А; //дает результат 8.
В = sizeof (А); //дает результат 2.

Верно работает или нет?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вт сен 29, 2015 02:54:28 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4886
Откуда: Минск
Рейтинг сообщения: 0
Rtmip писал(а):
WiseLord, почитал про QtCreator, обнадеживает, собрался качать и ставить, но требуется 4 Гб на диске!
Все правильно, так много надо этой IDE? Как то не очень радует... Может я что не понял?
Именно, что не так поняли. Вот, на официальной странице загрузок офлайн установщик Qt Creator 3.5.0 для Windows имеет размер 79 МБ.

Откуда 4Гб для QtCreator Вы взяли - не знаю. Наверное, попутали с установщиком всего Qt. Он как раз размером под гигабайт, 970 МБ инсталлятора разворачиваются в 3.3ГБ на диске. Там уже и QtCreator, и компилятор под Windows x86 (MinGW) в комплекте и всё прочее необходимое.

Но весь Qt ставить нужно, если нужна полноценная среда разработки графических приложений под Windows. Если же нужна только IDE - то можно только её (79МБ) и качать. Исходник так вообще 22МБ весит (я собираю QtCreator у себя в Linux из исходников), но Вам такой вариант не подойдёт, лучше скачать готовое.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1478 ]     ... , , , 13, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 131


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y