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

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

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

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

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

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


 
Опции темы

Аvrstudio/c#/песочница

Непрочитано 26.12.2012, 18:03  
whoim
Почётный гражданин KAZUS.RUN
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

Сообщение от _Артём_ Посмотреть сообщение
ЗЫ. Если переменная объявлена как volatile, то продекларирована (declaration) она тоже должна быть volatile
это уже повезде поправил, счас еще пробегусь
Реклама:
whoim вне форума  
Непрочитано 26.12.2012, 18:24  
whoim
Почётный гражданин KAZUS.RUN
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

вопрос..
если я volatile char x; передаю аргументом в функцию, но в функции в декларации указано myfunc(char *_str), студия дает варнинг по этом поводу.. важно указывать volatile даже там? в декларации функции?
whoim вне форума  
Непрочитано 26.12.2012, 19:03  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

Что б не искать чудес - где определил, а где объявил, и все ли объявил, что определил - по взрослому с объявлениями поступают так


// == myfile.h ===

#ifndef MYFILE_H
#define MYFILE_H

typedef struct {
unsigned char A;
unsigned char B;
} my_struct_t;
#endif
#ifndef MYFILE_C

extern my_struct_t MMM;
exterm int myCNT;

#else

my_struct_t MMM;
int myCNT;

#undef MYFILE_C
#endif

//============================
И только там где надо эти переменные
объявить пишут:

#define MYFILE_C
#include "myfile.h"
Boba_spb вне форума  
Сказали "Спасибо" Boba_spb
whoim (26.12.2012)
Непрочитано 26.12.2012, 19:26  
_Артём_
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

Сообщение от Boba_spb Посмотреть сообщение
Что б не искать чудес - где определил, а где объявил, и все ли объявил, что определил - по взрослому с объявлениями поступают так


// == myfile.h ===

#ifndef MYFILE_H
#define MYFILE_H

typedef struct {
unsigned char A;
unsigned char B;
} my_struct_t;
#endif
#ifndef MYFILE_C

extern my_struct_t MMM;
exterm int myCNT;

#else

my_struct_t MMM;
int myCNT;

#undef MYFILE_C
#endif

//============================
И только там где надо эти переменные
объявить пишут:

#define MYFILE_C
#include "myfile.h"
Вариант допустимый, но какой-то экзотичный (имхо).
Более стандартно так:
Код:
ifndef test_h__
#define test_h__

typedef struct {
	unsigned char A;
	unsigned char B;
} my_struct_t;

extern my_struct_t my_data;


#endif // test_h
И в одноимённом с-файле
Код:
#include "test.h"
my_struct_t my_data;
_Артём_ вне форума  
Сказали "Спасибо" _Артём_
whoim (26.12.2012)
Непрочитано 26.12.2012, 20:08  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

Стандартно где?
Boba_spb вне форума  
Непрочитано 26.12.2012, 20:46  
_Артём_
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

Сообщение от Boba_spb Посмотреть сообщение
Стандартно где?
На Земле.
Среди Си/Си++ программистов. Или вы иначе считаете?
_Артём_ вне форума  
Непрочитано 26.12.2012, 21:37  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

У нас как то принято в проектах что объявлением глобальных переменных управляет тот, кто кто их определил. Поэтому только я могу поставить это заветное #define MY_C и объявить переменную - а остальные только extern получат. По мере продвижения проекта, переменная ж может гулять по разным местам. Сначала в ОЗУ, когда ОЗУ не хватает, то куда нить в секцию памяти USB или Ethernata приткнешь, а потом SRAM подвесят - туды ее. И пользуют все твою "переменную" и даже не замечают как она перемещается.
Это стандартный подход?
Boba_spb вне форума  
Непрочитано 26.12.2012, 21:56  
Djakovskij
Вид на жительство
 
Регистрация: 14.06.2009
Адрес: Україна Київська обл. м.Буча
Сообщений: 328
Сказал спасибо: 104
Сказали Спасибо 106 раз(а) в 70 сообщении(ях)
Djakovskij на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

Сообщение от Boba_spb Посмотреть сообщение
Это стандартный подход?
Даже слишком.
Djakovskij вне форума  
Непрочитано 26.12.2012, 22:22  
_Артём_
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

Сообщение от Boba_spb Посмотреть сообщение
У нас как то принято в проектах что объявлением глобальных переменных управляет тот, кто кто их определил. Поэтому только я могу поставить это заветное #define MY_C и объявить переменную - а остальные только extern получат. По мере продвижения проекта, переменная ж может гулять по разным местам. Сначала в ОЗУ, когда ОЗУ не хватает, то куда нить в секцию памяти USB или Ethernata приткнешь, а потом SRAM подвесят - туды ее. И пользуют все твою "переменную" и даже не замечают как она перемещается.
Это стандартный подход?
Да, вполне.
Нестандартным мне показалось вот что:
Код:
#define MYFILE_C
 #include "myfile.h"
Непонятно в чём выгода этого приёма.
_Артём_ вне форума  
Непрочитано 26.12.2012, 22:45  
whoim
Почётный гражданин KAZUS.RUN
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

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

Когда jtag clone для pdi уже сделают?)
whoim вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Песочница по С RY723 Электроника - это просто 0 27.02.2011 14:05


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


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