roboforum.ru

Технический форум по робототехнике.

AVR на C/C++ программирование - вводный курс

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: Вводный курс для программирования МК AVR на языке C/C++

Сообщение rig » 29 июл 2008, 22:48

с массивами/структурами попутно разобраться тоже надо
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Re: Вводный курс для программирования МК AVR на языке C/C++

Сообщение =DeaD= » 29 июл 2008, 22:51

Сергей писал(а):Я предлагаю не тупо в цикле а аппаратно

Таймер для шим управляемый через второй таймер который меняет скважность? ну нафиг новичкам мозг ломать. Это пусть будет "задача со звездочкой" :)

Сергей писал(а):Ну можно всякие ЖКИ подключать от мобильников. Там не сложно, лучше написать

Тогда да, но во с каким компонентом показывать всё?

PS: К каждой задачке должен быть исходник для скачки, прошивка, файл для протеуса под этот урок в котором можно всё покрутить без реального МК.
Ну и надо как-то будет вводную для протеуса написать тоже. Хотя я там с ходу вроде разобрался...

PPS: Да, пожалуй, наверное надо отдельно две ветки сделать обучения, периферия и собственно внутренние вопросы языка, а то что-то про язык не много покажем.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Вводный курс для программирования МК AVR на языке C/C++

Сообщение Сергей » 29 июл 2008, 23:08

=DeaD= писал(а):
Сергей писал(а):Я предлагаю не тупо в цикле а аппаратно

Таймер для шим управляемый через второй таймер который меняет скважность? ну нафиг новичкам мозг ломать. Это пусть будет "задача со звездочкой" :)

:shock: Да я говорю про режим работы таймера! Он же может работать в ШИМ, вот вешаем на выход таймера светодиод, меняем скважность и уаля:P
=DeaD= писал(а):
Сергей писал(а):Ну можно всякие ЖКИ подключать от мобильников. Там не сложно, лучше написать

Тогда да, но во с каким компонентом показывать всё?

С памятью проще всего. А i2c можно рулить i2c-переменный_резистор, мм какие ещ есть датчики доступные? Либо с i2c можно организовать передачу данных между двумя МК.
=DeaD= писал(а):PS: К каждой задачке должен быть исходник для скачки, прошивка, файл для протеуса под этот урок в котором можно всё покрутить без реального МК.
Ну и надо как-то будет вводную для протеуса написать тоже. Хотя я там с ходу вроде разобрался...

Да. С протеусом у нас есть курс123
=DeaD= писал(а):PPS: Да, пожалуй, наверное надо отдельно две ветки сделать обучения, периферия и собственно внутренние вопросы языка, а то что-то про язык не много покажем.

Дык я и предлагал еще в начале обсуждения сделать два курса, один по основам Си кому лень лезть в гугл за нормальным учебником и второй по МК.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Вводный курс для программирования МК AVR на языке C/C++

Сообщение =DeaD= » 29 июл 2008, 23:46

Сергей писал(а):Да я говорю про режим работы таймера! Он же может работать в ШИМ, вот вешаем на выход таймера светодиод, меняем скважность и вуаля

Блин, так ты тоже просто про аппаратный ШИМ? Я тоже про него :) я думал ты скважность хочешь тоже по таймеру второму уже менять :)

Сергей писал(а):С памятью проще всего. А i2c можно рулить i2c-переменный_резистор, мм какие ещ есть датчики доступные? Либо с i2c можно организовать передачу данных между двумя МК.

По i2c можно дофига всего делать в реале :) есть сонары опять же, есть память, камеры всякие от мобилок, а вот в протеусе скорее всего тупо память только можно мучать, да и в тестовых проектах.

Сергей писал(а):Да. С протеусом у нас есть курс123

Да у нас и в целом есть курс123, надо короткую вводную сделать, а подробнее можно пока на курс отправлять.

Сергей писал(а):Дык я и предлагал еще в начале обсуждения сделать два курса, один по основам Си кому лень лезть в гугл за нормальным учебником и второй по МК.

Не надо их разделять, а то придётся Си показывать на каком-нибудь ПК уже, а не на МК.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Вводный курс для программирования МК AVR на языке C/C++

Сообщение Сергей » 30 июл 2008, 04:12

Ну теперь, на данном этапе, я не вижу больше неясностей и можно приступать к реализации примеров, а?
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Вводный курс для программирования МК AVR на языке C/C++

Сообщение blindman » 30 июл 2008, 06:30

Первым пунктом ИМХО должно быть введение в язык. Не полный курс - но базовые понятия, которые будут нужны для понимания материала:
  • основные целочисленные типы
  • объявление переменных
  • объявление функций
  • управляющие структуры
  • основы препроцессора (#include, #define)
  • .h - файлы
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Вводный курс для программирования МК AVR на языке C/C++

Сообщение EdGull » 30 июл 2008, 07:26

МК надо ставить мегу32
1. вы всё равно оринтируетесь что чайник будет сначала в протеусе код разбирать
2. какая разница по деньгам у меги16 и меги32, 25р.?
3. есть возможность для начинающих ничего не паяя взять минибот и на нем изучать ваш курс.
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Вводный курс для программирования МК AVR на языке C/C++

Сообщение =DeaD= » 30 июл 2008, 08:29

EdGull писал(а):1. вы всё равно оринтируетесь что чайник будет сначала в протеусе код разбирать

Кто сказал? Я сказал что должна быть такая возможность. В железе намного приятней всё делать в смысле результатов - это не в компе, тут отдельная маленькая шняжка работает и делает что ты ей запрограммировал, что есть существенно более сильный позитив.

EdGull писал(а):2. какая разница по деньгам у меги16 и меги32, 25р.?

Небольшая, но это и не главный аргумент.

EdGull писал(а):3. есть возможность для начинающих ничего не паяя взять минибот и на нем изучать ваш курс.

Ну можно разве что ради этого 32-ю мегу пользовать. Но все равно адаптировать надо будет. Потому как фиг знает чего у тебя на порт B повешено :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Вводный курс для программирования МК AVR на языке C/C++

Сообщение EdGull » 30 июл 2008, 08:40

Потому как фиг знает чего у тебя на порт B повешено

как это фиг знает???
Есть оффициальная схема минибота, там всё чётко прописано что на каком порту повешено :D
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Вводный курс для программирования МК AVR на языке C/C++

Сообщение blindman » 30 июл 2008, 09:13

Я против того, чтобы привязывать материал к конкретному железу. На фига каждый раз лезть смотреть схему, где там что подключено в миниботе или другой платформе. А ориентироваться на тех, кто не сможет самостоятельно прописать в программе нужный порт - пустая трата времени.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Вводный курс для программирования МК AVR на языке C/C++

Сообщение =DeaD= » 30 июл 2008, 09:32

blindman писал(а):А ориентироваться на тех, кто не сможет самостоятельно прописать в программе нужный порт - пустая трата времени.

Есть такое понятие как юзабилити, так вот - если не надо лезть каждый раз перепрописывать порт - юзабилити повышается.

blindman писал(а):Я против того, чтобы привязывать материал к конкретному железу. На фига каждый раз лезть смотреть схему, где там что подключено в миниботе или другой платформе.

Если у нас базовые МК одинаковые, почему бы не сделать совместимый курс? В конце концов можно сделать сначала просто курс не привязано к миниботу, а потом адаптировать, чтобы на нём это тоже работало.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Вводный курс для программирования МК AVR на языке C/C++

Сообщение EdGull » 30 июл 2008, 09:55

чё я вас не пойму...
вам же все равно надо какие-то порты прописывать в примерах? вы их от куда брать будете?
правильно, с потолка! так возмите с минибота, какая вам разница??? :shock:
или так и напишите, что по религиозным соображениям, специально будем порты брать не те которые в миниботе на ту или инную перефирию выведенные.
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Вводный курс для программирования МК AVR на языке C/C++

Сообщение blindman » 30 июл 2008, 10:04

Я думаю, что задача любого учебного курса - не просто давать знания, но и стимулировать самостоятельное мышление. И юзабилити тут ни при чем. Или предполагается универсальный сборник рецептов на все случаи жизни, чтобы нашел нужный пример, скопировал еге себе ничего не меняя ? Тогда уже голову не морочить, назвать это "Программирование минибота на языке C", и все.

EdGull писал(а):или так и напишите, что по религиозным соображениям, специально будем порты брать не те которые в миниботе на ту или инную перефирию выведенные.

Не по религиозным соображениям, а по чисто практическим. Мне например удобно запускать примеры на тех платах, что у меня есть, и не факт, что там свободны ноги, которые в миниботе выведены на ту или иную перефирию. А читающему будет полезно подумать, как адаптировать код к своему железу :wink:
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Вводный курс для программирования МК AVR на языке C/C++

Сообщение EdGull » 30 июл 2008, 10:14

так вы ж хексы собрались выкладывать!
нафига? кроме как у тебя такой платы ни у кого нет, и соответсвенно этот хекс ни у кого кроме тебе ряботать не будет.
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Вводный курс для программирования МК AVR на языке C/C++

Сообщение blindman » 30 июл 2008, 10:28

Какой еще хекс? :shock: Конечно, исходник, от хекса какая польза? А работать он будет на любом контроллере, где будут свободны те ноги, которые прописаны. И на любом другом, если чуть потрудиться и изменить порты.

А что, уже достоверно известен тот факт, что у большинства есть минибот или планируется его приобретение?!! Или все-таки большинство будет использовать свою конструкцию? Почему надо ориентироваться на небольшое число тех, кто имеет минибота? Если цель создания такого курса - популяризация минибота - значит надо прямо об этом говорить и не морочить голову.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron