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

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

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

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

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

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


 
Опции темы

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

Непрочитано 26.12.2012, 16:50  
ut1wpr
Почётный гражданин KAZUS.RUN
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

Сообщение от whoim Посмотреть сообщение
вопрос - реально ли есть нужда объявлять переменную volatile, если она объявлена в заголовке файла (не в функциях/процедурах) для того чтобы сделать ее глобальной, неумираемой и использовать из других модулей через extern?
Задача квалификатора volatile несколько иная. Объявление переменных в заголовочных файлах как бы нежелательно. Сам программист начинает теряться, где что у него разложено по каким полочкам. volatile говорит компилятору, чтобы он не пытался делать никаких оптимизаций по этой переменной. К областям ее видимости это отношения не имеет.
Реклама:
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 26.12.2012, 16:51  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

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

Сообщение от whoim Посмотреть сообщение
Оно проще в разы, соответственно прошивка меньше)
Насколько меньше?
Сейчас РТОСы на авр в 2-4 кБ укладываются. Это много?
_Артём_ вне форума  
Непрочитано 26.12.2012, 17:01  
ut1wpr
Почётный гражданин KAZUS.RUN
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

Сообщение от whoim Посмотреть сообщение
_Артём_, подпрограммами я называю и функции и процедуры, просто первые могут возвращать значения. Значит, функция - это подпрограмма умеющая возвращать результат )
Гнилое наследие Паскаля!
Разделение "процедура-функция" в Си отсутствует. И это правильно. Если функция не возвращает значение, а меняет внешнюю по отношению к ней переменную - это ХТО? А если в теле функции зажигаем/гасим СД в ответ на любые внешние изменения (не обязательно в передаваемых параметрах) - это КАК? Функция может вернуть действие, событие - а вы ее за это процедурой? Абидна, да!
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Сказали "Спасибо" ut1wpr
whoim (26.12.2012)
Непрочитано 26.12.2012, 17:09  
_Артём_
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

Сообщение от whoim Посмотреть сообщение
Продолжаем песочницу

Есть typedef struct {} mystruct;
Есть volatile mystruct myvariable;

на extern mystruct myvariable в другом .с файле ругается (хз кто - линкер или компилятор), неизвестный тип
как "расшарить" typedef?
Код:
В 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;
В другом с-файле:
Код:
#include "test.h"
void Func() {
my_data.A=10;
}
_Артём_ вне форума  
Сказали "Спасибо" _Артём_
whoim (26.12.2012)
Непрочитано 26.12.2012, 17:14  
_Артём_
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

Сообщение от Boba_spb Посмотреть сообщение
Что такое, вроде ничего, но не видно основного - что символ $ в протоколе NMEA всегда начало !!! сообщения.
Да, можно и $ ловить, но тогда придётся тип строки определять после приёма 0x0D.
В моём примере не хватает приёма суммы и определения типа системы от которой получена строка.
_Артём_ вне форума  
Непрочитано 26.12.2012, 17:20  
whoim
Почётный гражданин KAZUS.RUN
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

Сообщение от Boba_spb Посмотреть сообщение
$
после него еще идет префикс протокола)
и его надо парсить отдельно в предыдущем буфере

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

Сообщение от _Артём_ Посмотреть сообщение
Да, можно и $ ловить, но тогда придётся тип строки определять после приёма 0x0D.
В моём примере не хватает приёма суммы и определения типа системы от которой получена строка.
ну вот поэтому я если вижу \r просто переключаю буфер а предыдущий отдаю на парсинг, подпрограмма парсинга работает уже с готовым буфером, там сабстринг поискать можно
whoim вне форума  
Непрочитано 26.12.2012, 17:37  
_Артём_
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Аvrstudio/c#/песочница

Сообщение от whoim Посмотреть сообщение
прошу помочь по последнему сообщению на предыдущей странице относительно extern typedef struct ))
Смотрите на прерыдущей странице (https://kazus.run/forums/showthread....591#post582591)

ЗЫ. Если переменная объявлена как volatile, то продекларирована (declaration) она тоже должна быть volatile.

Код:
// объявление (лучше располагать в хидере)
extern volatile uint8_t MyVar; // declaration

// объявление - должно быть в с-файле
volatile uint8_t MyVar;// definition

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

Сообщение от ut1wpr Посмотреть сообщение
Абидна, да!
да
11234
whoim вне форума  
 
Опции темы

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

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

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

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


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


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