roboforum.ru

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

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

Ответить

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

=DeaD= » 29 июл 2008, 15:00

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

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

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

Сергей » 29 июл 2008, 15:02

Да какие библиотеки :shock: Я про примеры говорил. Раз уж не пишем библиотеку, предлагаю просто комментить сами примеры побольше.

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

=DeaD= » 29 июл 2008, 16:33

Напротив каждой строки писать полный кусок из хелпа?

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

Сергей » 29 июл 2008, 17:28

Ну а почему нет? Можно оди пример попробовать так сделать и посмотреть, если будет совсем отвратительно то просто продолжим писать примеры

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

blindman » 29 июл 2008, 17:35

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

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

Сергей » 29 июл 2008, 18:27

Да, согласен. И нужно ли будет показывать как писать коменнтарии в стиле Doxygen? Или хватит простых комментов?

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

blindman » 29 июл 2008, 18:32

Да не надо этого новичкам. И без этого материала на до кучу писать

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

Сергей » 29 июл 2008, 18:35

Тогда предлагаю сделать небольшой план работ

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. Для работы с сонарами и т.п.

что скажете?

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

EdGull » 29 июл 2008, 22:29

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

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

Сергей » 29 июл 2008, 22:35

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

Аналоговый компаратор затрагивать будем?
И пишем в AVRStudio( avr-gcc ) ?

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

=DeaD= » 29 июл 2008, 22:36

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

А в процессе адаптации курса Си на васик ты нечаянно его и выучишь :lol:

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

Сергей » 29 июл 2008, 22:39

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

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-ю сам поймет как перейти.

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

Сергей » 29 июл 2008, 22:44

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

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


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

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

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

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

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

Ок


Rambler\'s Top100 Mail.ru counter