Radiohobby Forum

Интернет конференция журнала "Радиохобби"

Вы не вошли.

Объявление

Подписка на новые материалы от Николая Сухова - ролики, схемы, модели, онлайн конференции, консультации, чат.

Внимание! Почта в доменах Яндекс и Mail.ru не будет работать в профилях форумчан, из-за введённых правительством Украины санкций против этих компаний. Всем, кто ранее использовал подобную почту, для сохранения прежней функциональности форума, рекомендуется её поменять.

Огромная просьба, заливать тематические картинки и файлы в личные файловые каталоги на форуме, чтобы они не потерялись, со временем!

Ссылка "Загрузки" находится справа внизу формы набора сообщения.

Подписка на журнал "Радиохобби" прекращена. Подробности. Форум же - продолжает свою работу.

#471 24.01.2008 22:02:28

Jaxon
радиолюбовник
Откуда: Николаев
Здесь с 22.01.2004
Сообщений: 3,018

Re: AVR для "чайников"

Vasil +1
------------
ps  что тошнит,- то точно smile

Вне форума

#472 25.01.2008 00:24:34

Dmitry
Забанен
Откуда: Запорожье
Здесь с 03.02.2004
Сообщений: 3,105
Сайт

Re: AVR для "чайников"

Vasil пишет:

Так вот, про РАБОТУ, а многие ли могут похвалиться, что она им в КАЙФ ? и совмещается ли с любимым делом?

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

А поначалу ва-а-аще было - когда покупатели спрашивали про компьютерную "акустику" нечто типа "А какое качество звука?..." (ну и т.п.) big_smile


Почему когда мы нарушаем, нас штрафуют, а когда всё делаем правильно, с нас берут налоги?....

Вне форума

#473 08.02.2008 12:20:26

ASni
Участник
Откуда: Николаев / Украина
Здесь с 18.11.2004
Сообщений: 34

Re: AVR для "чайников"

Нужно независимо управлять 4-мя вентиляторами с помощью ШИМ
Подскажите, какие МК из серии мега подойдут для этой задачи?

Вне форума

#474 08.02.2008 18:01:03

Матроскин
Ветеран
Откуда: Краснодар
Здесь с 06.02.2006
Сообщений: 2,022

Re: AVR для "чайников"

Народ, у кого-нибудь есть общее описание языка С для WinAVR ??  Такого, чтоб был описан общий синтаксис, типа переменных и проч. Что-нибудь типа AVR Assembler Help в AVRStudio.
В комплекте WinAVR идет только хелп к библиотекам (AVR Libc) .

У меня есть книжка Ю. Шпака, но она очень большая и в дежавю, пользоваться ей как справочником неудобно.


......There is someone in my head, but it's not me.......

Вне форума

#475 08.02.2008 18:41:08

Jaxon
радиолюбовник
Откуда: Николаев
Здесь с 22.01.2004
Сообщений: 3,018

Re: AVR для "чайников"

ASni пишет:

Нужно независимо управлять 4-мя вентиляторами с помощью ШИМ
Подскажите, какие МК из серии мега подойдут для этой задачи?

неплохо узнать , чтоза вентиляторы и какая частота ШИМа нужна

Вне форума

#476 08.02.2008 21:22:49

Vasil
Ветеран
Откуда: близ Киева
Здесь с 23.01.2004
Сообщений: 1,158

Re: AVR для "чайников"

Матроскин пишет:

Народ, у кого-нибудь есть общее описание языка С для WinAVR ??  Такого, чтоб был описан общий синтаксис, типа переменных и проч. Что-нибудь типа AVR Assembler Help в AVRStudio.
В комплекте WinAVR идет только хелп к библиотекам (AVR Libc) .

У меня есть книжка Ю. Шпака, но она очень большая и в дежавю, пользоваться ей как справочником неудобно.

Есть стандарт ANSI C, пожалуй, это один из немногих стандартизированных языков. Разработчики IDE вводят "расширения" но их не так много, и можно разобраться . А основа, например тут:
linfoline.homedns.org/ansi-c/ansi-c.html#toc1
ЗЫ, по интернету "на каждом углу" висит "Руководство полного идиота по программированию на языке Си" Богатырев_а не ахти что, но мне трохи помогло smile
ЗЫ,ЗЫ структкрированный Си очень близок к ассемблеру, так что особого дискомфорта при переходе не должно быть. Только многие процедуры (правда, это Паскалевский термин) компилятор сделает на порядок быстрее, и, почти уверен, лучше..;)
ЗЫЗЫЗЫ, ну если конечно, задача не сводится к зажиганию светодиода в портУ..

Отредактировано Vasil (08.02.2008 21:43:29)

Вне форума

#477 08.02.2008 22:17:25

Матроскин
Ветеран
Откуда: Краснодар
Здесь с 06.02.2006
Сообщений: 2,022

Re: AVR для "чайников"

О, спасибо большое smile
Как раз то, что нужно. Пока что моя задача свелась к миганию светодиодом, но это только начало. Перезжаю с ассемблера на С.


......There is someone in my head, but it's not me.......

Вне форума

#478 08.02.2008 22:22:12

Vasil
Ветеран
Откуда: близ Киева
Здесь с 23.01.2004
Сообщений: 1,158

Re: AVR для "чайников"

Удачи, -не так страшен черт, как видится wink

Вне форума

#479 09.02.2008 17:20:43

Матроскин
Ветеран
Откуда: Краснодар
Здесь с 06.02.2006
Сообщений: 2,022

Re: AVR для "чайников"

Осваиваю С в ускоренном темпе. Имеющийся опыт написания прог на ассме оч помогает.

Вопрос:  Как в С организовать флаг для какого-либо события??   На ассме я делал так:

.def     Flags    = r20        ;регистр с флагами
.equ    Flag_1  = 0           ;флаг 1
.equ    Flag_2  = 1           ;флаг 2

.....................

А как на С ??


......There is someone in my head, but it's not me.......

Вне форума

#480 10.02.2008 10:57:00

Vasil
Ветеран
Откуда: близ Киева
Здесь с 23.01.2004
Сообщений: 1,158

Re: AVR для "чайников"

По моему "понятию".
В общем случае флаг события, -это переменная только для данного события(произошло/ не произошло), которая может принимать два значения 1/0, т.е. переменная Булева, тип-bool. Мне не важно куда поместит ее компилятор, то ли в регистр, то ли ячейку памяти. Таким образом получается, что под один бит выделяется целый байт назовем так -"динамических ресурсов" контроллера- регистр/ячейка памяти. С другой стороны, можно поместить в один байт 8мь флагов(я так не делаю), но тогда придется программно производить проверку каждого бита на предмет установки/сброса, а это увеличение размера кода и времени выполнения. Вобщем, нужно смотреть, то ли рыбку есть, то ли...Если флаг должен быть "вИден" на протяжении всей "жизни" программы, его нужно объявить как глобальную переменную- снаружи main() например:
unsigned char  flag_1, flag_2=1, .... flag_N;
main()
{ .............;
..............;
}

по умолчанию, всем глобальным переменным компилятор присваивает значение 0, если оно не присвоено как например, для flag_2.

Если переменная объявлена внутри тела ф-ции (локальная переменная), "область видимости" ограничена фигурными скобками, при выходе из ф-ции, ее значение может быть уничтожено, т.е. регистр/ячейка памяти
заняты другой переменной:
void function(void)
{
  unsigned char flag_;
    .............;
   ..............;

}
ИменА локальных переменных могут пересекаться, т.е. быть одинаковыми, но это, если уж совсем фантазии не хватает:). ИменА глобальных- уникальны.
Если что, пусть меня поправят, с температурой лежу(в смысле- по Цельсию и повышенной smile ), мог и не тогО наплести...

Отредактировано Vasil (10.02.2008 14:28:46)

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.046 сек, 7 запросов выполнено - Использовано памяти: 602.2 Кбайт (Пик: 652.57 Кбайт) ]