roboforum.ru

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

 

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

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

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

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

Сергей писал(а):Вот насчет справки к каждой команде - это уже близко :D

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

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

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

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

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

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

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

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

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

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

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

Сообщение blindman » 29 июл 2008, 17:35

Напротив каждой строки не надо. Надо постепенно вводить новые понятия и более сложные функции и приемы программирования, давая пояснения в тексте и подкрепляя примерами кода.
Проект [[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++

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

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

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

Сообщение blindman » 29 июл 2008, 18:32

Да не надо этого новичкам. И без этого материала на до кучу писать
Проект [[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++

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

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

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

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

1. Мигаем светодиодом вкл\выкл тупо в цикле делая паузы;
2. В цикле получаем с входа состояние (скажем с кнопки) и показываем обратное состояние на светодиоде (на выходе);
3. Мигаем светодиодом по таймеру;
4. Мигаем светодиодом плавно (учим ШИМ) тупо в цикле;
5. Работаем с UART'ом (зажигаем светодиоды по команде с UART'а);
6. Показываем уровень напряжения на АЦП через UART, если он поменялся больше чем на 5% с предыдущего показа;
7. Считаем количество импульсов по внешнему и выводим их в UART при каждом импульсе;
8. Работаем с I2C (пишем в какую-нибудь память, например);
9. Ну внешнюю память еще можно погонять;

Ничего из периферии не забыл?

Ну а дальше практика - применение всего этого:
1. Для управления моторами - статью надо писать отдельно про алгоритмы и отдельно готовые куски кода;
2. Для работы с сонарами и т.п.

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

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

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

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

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

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

4. Предлагаю разобрать ШИМ на таймере после циклов
5. Думаю здесь еще можно показать возможные варианты передачи данных через uart к примеру "аппаратное управление", или не стоит?
6. Может просто показывать напряжение без всяких процентов?
8. Думаю перед i2c разобрать SPI
9. EEPROM не забываем

Аналоговый компаратор затрагивать будем?
И пишем в AVRStudio( avr-gcc ) ?
Сергей
 
Сообщения: 3741
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

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

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

EdGull писал(а):Мне нравится
я может даже такоей же курс на васике сделаю для минибота... :wink:

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

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

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

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

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

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

Сергей писал(а):4. Предлагаю разобрать ШИМ на таймере после циклов

Не понял, у меня он и так после циклов?

Сергей писал(а):5. Думаю здесь еще можно показать возможные варианты передачи данных через uart к примеру "аппаратное управление", или не стоит?

А кто его пользует? Скорее это надо расширенную статью писать, для гурманов уже, к вводному курсу это врядли имеет отношение.

Сергей писал(а):6. Может просто показывать напряжение без всяких процентов?

Тут никаких предпочтений не имею.

Сергей писал(а):8. Думаю перед i2c разобрать SPI

Так же однофигственно, хотя компоненты на i2c для роботов я знаю, а вот на SPI только память вроде?

Сергей писал(а):9. EEPROM не забываем

эх, забываем :) никогда не пользовался, но однозначно добавить!

Сергей писал(а):Аналоговый компаратор затрагивать будем?

А куда его пользовать реально можно с серьезной пользой и многим? Нет, для общей культуры можно конечно...

Сергей писал(а):И пишем в AVRStudio( avr-gcc ) ?

100%, всех неверных предадим анафеме! :crazy: :D

Добавлено спустя 39 секунд:
Сергей писал(а):И можно выбрать для всех экспериментов один МК, к примеру ATmega32 и выбрать рабочую частоту, к примеру 8Мгц

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

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

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

=DeaD= писал(а):4. Мигаем светодиодом плавно (учим ШИМ) тупо в цикле

=DeaD= писал(а): Сергей писал(а):4. Предлагаю разобрать ШИМ на таймере после циклов


Не понял, у меня он и так после циклов?

Я предлагаю не тупо в цикле а аппаратно
=DeaD= писал(а):Так же однофигственно, хотя компоненты на i2c для роботов я знаю, а вот на SPI только память вроде?

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

Хорошо, дойдем - посмотрим.
=DeaD= писал(а):100%, всех неверных предадим анафеме! :crazy: :D

Адназначна :D
=DeaD= писал(а):Лучше 16-ю мегу, чтоб дешевле было чуток. А потом кому надо на 32-ю сам поймет как перейти.

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

Пред.След.

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

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

Сейчас этот форум просматривают: Bing [Bot] и гости: 6

Mail.ru counter