С чего начать программировать микроконтроллеры?

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

А кто Вам мешает вставить переменную в свою любимую функцию delay ? И при нажатии кнопок увеличивать или уменьшать эту переменную?
Аватара пользователя
ikarab
Опытный кот
Сообщения: 828
Зарегистрирован: Пн мар 16, 2009 21:40:57
Контактная информация:

Сообщение ikarab »

Барсик писал(а):А VMLAB такой же бесплатный как и "Протеус"?

VMLAB free.
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18849
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

Барсик писал(а):А кто Вам мешает вставить переменную в свою любимую функцию delay ?

Да я пытался, там ошибку выдало, что-то про константу. А так бы удобно было...
Аватара пользователя
ikarab
Опытный кот
Сообщения: 828
Зарегистрирован: Пн мар 16, 2009 21:40:57
Контактная информация:

Сообщение ikarab »

SeregaT писал(а):я пытался, там ошибку выдало...

Посмотрите "Микроконтроллеры AVR для начинающих" и другие книги в библиотеке книг для скачивания и чтения, или хотя бы хелп к используемому компилятору !
Последний раз редактировалось ikarab Чт апр 09, 2009 22:04:43, всего редактировалось 1 раз.
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

SeregaT писал(а):...там ошибку выдало, что-то про константу...

Ну и напишите, как Вас компилятор обматерил. Будем разбираться... Да, и текст программы - в студию. В виде присоединённого файла.
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18849
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

Барсик писал(а):Да, и текст программы - в студию.

Ну в виде файла, оно не обязательно, вот сам текст (это чисто для примера конечно):
void main(void)
{
int i;
i=10;
while(1)
{
PORTD.0=1;
delay_us (i);
PORTD.0=0;
};
}

Компилятор пишет на это:
Error: F:\AVR\AVR-projects\CVA\test4\test4.c(34): constant integral expression required

Я знаю, что тут не правильно...
Просто мне надо, чтобы в качестве задержки использовать значение переменной.
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

#define используй...
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
ikarab
Опытный кот
Сообщения: 828
Зарегистрирован: Пн мар 16, 2009 21:40:57
Контактная информация:

Сообщение ikarab »

Выше написано:

SeregaT писал(а):я пытался, там ошибку выдало...

Посмотрите "Микроконтроллеры AVR для начинающих" и другие книги в библиотеке книг для скачивания и чтения, или хотя бы хелп к используемому компилятору !


Хотябы ! ПОШЕВИЛИСЬ САМ ! чуток
Последний раз редактировалось ikarab Пт апр 10, 2009 19:23:00, всего редактировалось 1 раз.
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18849
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

Искать ответ на один маленький вопрос в куче книг или в хелпе (который еще и на английском) это долго. Я курс читаю по порядку, но видимо до этого еще не дошёл.
P.S. Да и где вообще брать этот хелп?
Аватара пользователя
ikarab
Опытный кот
Сообщения: 828
Зарегистрирован: Пн мар 16, 2009 21:40:57
Контактная информация:

Сообщение ikarab »

SeregaT писал(а):где вообще брать этот хелп?


АТПАТТТТТТТТТТТТТТТТ Ужоссссссс

глазами позырить МЕНЮ той проги что юзайешшшшшш.

в хелпе delay воткнуть в поиск ...

Ох как долго. :cry: :cry: :cry:
Аватара пользователя
megasvintus
Вымогатель припоя
Сообщения: 568
Зарегистрирован: Вт мар 04, 2008 20:03:03
Откуда: Нижний Новгород

Сообщение megasvintus »

У меня есть джентельменский набор- Исчерпывающее описание CVAVR и ВСЕХ его функций и настроек, в том числе и скрытых. На русском! + хрестоматия начинающего- книга Белова "Создаем устройства на микроконтроллерах. Надо кому? + немного недоруссифицированный мной CVAVR. К сожалению других компиляторов я не знаю
Трудно быть деревянным, совсем трудно....
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18849
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

megasvintus писал(а):Надо кому?

Мне надо!!! :)
Аватара пользователя
ikarab
Опытный кот
Сообщения: 828
Зарегистрирован: Пн мар 16, 2009 21:40:57
Контактная информация:

Сообщение ikarab »

SeregaT писал(а):
megasvintus писал(а):Надо кому?

Мне надо!!! :)


А где библиотека скачать книги вы КОНЕЧНО ЖЕ не занете ! ДА ???
Аватара пользователя
megasvintus
Вымогатель припоя
Сообщения: 568
Зарегистрирован: Вт мар 04, 2008 20:03:03
Откуда: Нижний Новгород

Сообщение megasvintus »

Я щас как раз делаю аплоад всего этого добра. Как закончу- выложу ссылку и пароль на архив

*Все книги исключительно для ознакомления, после чего согласно законодательству вы обязаны купить их печатные издания :)
Трудно быть деревянным, совсем трудно....
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18849
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

Так кто мне может подсказать по моему вопросу?
Аватара пользователя
megasvintus
Вымогатель припоя
Сообщения: 568
Зарегистрирован: Вт мар 04, 2008 20:03:03
Откуда: Нижний Новгород

Сообщение megasvintus »

по вашему вопросу- объявите переменную i unsigned int

Ибо в хидерах эти функции объявлены так :
void delay_us(unsigned int n);
void delay_ms(unsigned int n);

а вы туда суете просто int - число со знаком :)))
Трудно быть деревянным, совсем трудно....
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18849
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

megasvintus писал(а):по вашему вопросу- объявите переменную i unsigned int

А это что значит:
Error: must declare first in block?
Что там надо еще объявить?
Что у меня тут не так:
void main(void)
{
unsigned int i;
i=10;
while(1)
{
PORTD.0=1;
void delay_us(unsigned int i);
PORTD.0=0;
};
}
Аватара пользователя
megasvintus
Вымогатель припоя
Сообщения: 568
Зарегистрирован: Вт мар 04, 2008 20:03:03
Откуда: Нижний Новгород

Сообщение megasvintus »

эта ошибка означает что количетство открытых и закрытых скобок { не соотрветствует. Печатайте листинг внимательнее :))) :wink:

Вообще старайтесь ничего не делать в функции main. создавайте выше нее функции, объявляйте переменные, а потом только вызывайте эти функции в цикле- будет меньше опечаток 8)

и вот еще ошибка: void delay_us(unsigned int i); -- так нельзя писать
при ВЫЗОВЕ функции void опускают. правильно так:


unsigned int i;

<i>

delay_us(i);



Во ссылка:
http://depositfiles.com/files/xalhswtjw

Вот пароль: WWW.RADIOKOT.RU
Последний раз редактировалось megasvintus Пт апр 10, 2009 20:44:19, всего редактировалось 1 раз.
Трудно быть деревянным, совсем трудно....
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18849
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

megasvintus писал(а):правильно так:
unsigned int i;
<i>
delay_us(i);

Я пробовал так. Пишет: Error: constant integral expression required
Аватара пользователя
megasvintus
Вымогатель припоя
Сообщения: 568
Зарегистрирован: Вт мар 04, 2008 20:03:03
Откуда: Нижний Новгород

Сообщение megasvintus »

Объявляем функцию : void qqq (void) { //1
unsigned int a=0;
delay_ms(100);
a++;
delay_us(a);
} //1

Затем уже в бесконечном цикле просто напишите :
qqq();

усе будет рулить :)))
Трудно быть деревянным, совсем трудно....
Ответить

Вернуться в «Теория»