0
Может для Вас и не имеет смысла, а для тех, кто много ездит по трассам, очень даже имеет. Дальнобойщики предупреждают друг друга о мусорах, авариях и прочих жопах. Можно позвать на помощь, если кто-то рядом — может откликнуться. Да и в городе можно послушать таксистов и маршрутчиков на предмет где мусора притаились. Штука полезная, для тех кто постоянно за рулем.
0
Лежит :)))))
0
Я в эти тонкости не вникал, тк СВЧ у нас занимается другой разработчик. Наши контрактники прекрасно паяют платы без маски, ничего не растекается. Как я понял, компоненты приклееваются. Может есть какие еще ньюансы — этого сказать не могу. Видел собранные платы — выглядят как «из чистага эолота» :) Прпаяно все аккуратно.
0
А в малошумящих СВЧ усилителях, передатчиках, приемных конвертерах — без маски. Я ведь понятно написал, что все от разработки зависит. Значит в Вашем 5ГГц устройстве разброс в расчетах полосковых линий не влияет на работу устройства вцелом.
0
С какого хрена перекосит? И как от этого защитная маска спасает? Уже счет платам на тысячи идет, никого пока не перекосило :)
0
Для автоматического монтажа SMD совсем не нужна.
0
Все догадки мимо кассы. Маска имеет неоднородную толщину и ее диэлектрическую константу нельзя посчитать. Точнее, нельзя посчитать ее влияние на полное сопротивление линии. Короче, нельзя точно рассчитать полосковую линию, накрытую маской. Поэтому СВЧ платы очень часто делают совсем без маски, либо не накрывают маской фильтры, печатные индуктивности итп.
0
две последние платы, похоже тоже наши. Это, кстати, память на ферритовых колечках. Мне приходилось чинить управляющую ЭВМ (для станка с ЧПУ) с такой памятью. Я думал ТАКОЕ можно встретить только в музее 8-)
Маска вскрыта в местах, где прилегают экранирующие крышки.
0
Запомните несколько правил «хорошего тона»
1. Нужно стараться объявлять переменные только внутри функций, если это возможно.
2. Если нужно, чтоб переменная сохраняла свое значение после выхода из функции, объявляем ее как static.
3. Если переменная объявлена вне функции (глобально), но мы хотим ее сделать видимой только внутри текущего файла — тоже объявляем ее static. Выглядит немного нелогично, но все вопросы к авторам стандарта. Я бы применил что-то типа «local», но я не автор стандарта :)
0
Аллюминивые конденсаторы, в последнее время, очень плохого качества. Вернее, хорошие трудно купить — все стремятся «впарить» китайское г-но. Бывает, что они в упаковке «вздутые» попадаются. Я в последнее время начал все переводить на керамику и танталы, где это возможно. С БП, конечно, так не получается, стараюсь подискать что-то брендовое.
0
мне про такой метод расказывали. использовался при ремонте ламповой ЭВМ. Просто поднимали напругу и смотрели откуда дым идет :)
0
это правильно, но таких ситуаций лучше избегать. локальная переменная создает так называемую область затенения, закрывая собой видимость глобальной переменной. В идеале, глобальных переменных быть не должно. Однако в МК — это не всегда возможно, особенно в обработке прерываний.
0
Относительно проекта? Да возможно, если он не состоит из одного файла :)
Вы не сможете объявить static int i и external int i в одном файле. Посему практика весьма порочная, как я и писал раньше. Хорошим тоном будет использование уникальных имен. И ваще, использовать глобальные переменные желательно только в случае необходимости. Это в МК пошла мода срать на хороший тон, ввиду ограниченных ресурсов.
Вы только не обижайтесь. Спор — штука нужная :)
0
Вот соль. Глобальная/локальная — это какраз и есть область видимости. Зря авторы языка использовали «статик» для ограничения видимости идентификаторов. Надо было применить что-то вроде local. Тогда и путаницы меньше было-бы.
0
Давайте, чтоб не было путаницы, прекратим бесполезный спор.
Первая переменная — глобальная (относительно текущего файла), тк к ней может получить доступ любая функция из файла.
А вторая — локальная, к ней можно получить доступ только из функции test().
Так меня в школе учили.
А что касается размещения, то лежать в памяти они все будут рядом, особенно в системах с разными областями памяти программ и данных.
0
Хорошо, тогда кто здесь кто?
static int i;

int test(void)
{
static int i=0;
return i++;
}

int main()
{
i = 99;
printf("%d %d\n", test(),i++);
printf("%d %d\n", test(),i++);
printf("%d %d\n", test(),i++);
printf("%d %d\n", test(),i++);
return 1;
}
0
Глобальная? Садись 2
0
Тогда прокомментируй это:
int test(void)
{
static int i=0;
return i++;
}

int main()
{
printf("%d\n", test());
printf("%d\n", test());
printf("%d\n", test());
printf("%d\n", test());
return 1;
}
0
Классно вывернулся, вопросов нет :) Расслабся, не на экзамене ведь. Те твое утверждение, что «static локальным не бывает» еще в силе?
0
Я просто хочу сказать, что вот из-за таких мелочей появляются ложные убеждения. Один неточно выразился, другой перепечатал, потом и в учебники может попасть. А все потому, что авторы не сильно разбираясь в сути вопроса, перепечатывают ошибки друг у друга, даже не подозревая, что это ложь.
Без обид:) Я просто такого насмотрелся… Особенно жгут преподы вузов в своих методичках. У нас парень на работе учится, приносил, весной еще, сильно доставил :)