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

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

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

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

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

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

Proteus, KiCAD и другие ECAD Разработчик так или иначе сталкивается с системами автоматизированного проектирования. Данный раздел - по САПР.

 
Опции темы
Непрочитано 30.03.2007, 10:24  
LessM
Временная регистрация
 
Регистрация: 27.03.2007
Адрес: Москва
Сообщений: 50
Сказал спасибо: 21
Сказали Спасибо 1 раз в 1 сообщении
LessM на пути к лучшему
По умолчанию Re: Особенности программирования на Си для AVR

Не очень понятно, почему называть одинаково локальные и глобальные это бред? В этом как раз смысл мероприятия. Берешь функцию, и не задумываясь о переменных вставляешь куда надо.
Сообщение от stas633
Правильным решением будет объявление рабочей переменной в каждой функции.
О! А как иначе? Это не просто правильное, это нормальное и штатное решение., а то для вышестоящей функции она и останется "глобальной"
LessM вне форума  
Непрочитано 30.03.2007, 19:55  
NemoCut32
Гражданин KAZUS.RU
 
Регистрация: 16.12.2004
Сообщений: 587
Сказал спасибо: 13
Сказали Спасибо 23 раз(а) в 9 сообщении(ях)
NemoCut32 на пути к лучшему
По умолчанию Re: Особенности программирования на Си для AVR

Сообщение от LessM
Не очень понятно, почему называть одинаково локальные и глобальные это бред? В этом как раз смысл мероприятия. Берешь функцию, и не задумываясь о переменных вставляешь куда надо.
Как раз в этом случае то задумываться придётся. Иначе можно вместо локальной по ошибке использовать глобальную и наоборот. Какой мысл создавать себе дополнительные трудности? Из мазохизма что ли?
А вообще правилом хорошего тона в C является минимизация количества глобальных имен и максимальное ограничение видимости любых имен вообще. Даже макросы следует использовать с осторожностью. Надо что то изменить в другой функции - для этого есть указатели.

Сообщение от LessM
Сообщение от stas633
Правильным решением будет объявление рабочей переменной в каждой функции.
О! А как иначе? Это не просто правильное, это нормальное и штатное решение., а то для вышестоящей функции она и останется "глобальной"
Не понял?
NemoCut32 вне форума  
Непрочитано 11.04.2007, 23:02  
EagleB3
Вид на жительство
 
Регистрация: 03.05.2006
Сообщений: 312
Сказал спасибо: 30
Сказали Спасибо 144 раз(а) в 52 сообщении(ях)
EagleB3 на пути к лучшему
По умолчанию

Не могу сделать в CVAVR простую, в принципе-то вещь: сделать в EEPROM массив и проинициализировать его.
То есть сделать могу, а проинициализировать - нет.
Засада кроется в том, что внутри массива есть указатель, который должен ссылаться на другие элементы того же самого массива. Например:

typedef eeprom struct _linked_list *PLINKED_LIST;
typedef eeprom struct _linked_list {
char a[10];
PLINKED_LIST next;
} LINKED_LIST;

const eeprom LINKED_LIST list[] ={{"AAA", &list[1]},{"BBB", &list[0]}};

не компилируется - видимо, на момент присваивания значений массив list еще не создан, конструкция &list[1] (или list+1) вызывает ошибку "undefined symbol list"

В WinAVR такой код работает (с несущественными правками по части объявления места размещения данных).
Как заставить его работать CVAVR?
EagleB3 вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Краткий обзор методов помехоустойчивого программирования для Don_Ambrosio Микроконтроллеры, АЦП, память и т.д 0 09.04.2008 01:17
О стилях программирования на C для МК Prime Микроконтроллеры, АЦП, память и т.д 13 04.04.2008 14:12
Особенности использованя ATiny45 BodyZ Микроконтроллеры, АЦП, память и т.д 5 24.07.2007 22:26
Особенности прописывания Tiny13, delay Микроконтроллеры, АЦП, память и т.д 0 02.11.2005 22:00
Какие необходимые условия для программирования PIC? graham Микроконтроллеры, АЦП, память и т.д 4 17.10.2005 21:18


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot