roboforum.ru

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


Помогите в Си AVR

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Re: Помогите в Си AVR

Сообщение blindman » 13 июл 2011, 09:46

HarryStar писал(а):Если же у меня эта конфигурация битов постоянная, то число ничем не хуже

Это называется "write-only". Хуже, тем что невозможно читать
HarryStar писал(а):это лишь дело привычки.

плохой, вредной привычки
Проект [[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

Сообщение =DeaD= » 13 июл 2011, 09:48

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

Re: Помогите в Си AVR

Сообщение blindman » 13 июл 2011, 10:08

Ага. И в формате Intel HEX - чтоб можно сразу было программатором в контроллер залить
Проект [[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

Сообщение HarryStar » 13 июл 2011, 10:11

Предпочитаю вместо 1<<sdfsd там где не предполагаются изменения писать комментарий типа // 115200, 8+1
Это читается гораздо лучше и быстрее, чем эти битовые сдвиги. Как я уже говорил это дело привычки. Не вредной, не полезной. Просто они у каждого свои. Читаемость кода вещь важная, но ее можно обеспечить разными способами, особенно если пишешь для себя. МОЕ мнение - комментарий по русски более читабелен, чем битовые сдвиги. У ВАС - свои предпочтения.
Аватара пользователя
HarryStar
 
Сообщения: 995
Зарегистрирован: 15 ноя 2010, 13:56
Откуда: Нижний Новгород
прог. языки: С, С++, РНР

Re: Помогите в Си AVR

Сообщение =DeaD= » 13 июл 2011, 10:17

HarryStar писал(а):Предпочитаю вместо 1<<sdfsd там где не предполагаются изменения писать комментарий типа // 115200, 8+1

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

Re: Помогите в Си AVR

Сообщение blindman » 13 июл 2011, 10:18

HarryStar писал(а):Это читается гораздо лучше и быстрее, чем эти битовые сдвиги.

До тех, пока не понадобится кому-то этот код показать. Как по мне, лучше и быстрее вот так:
Код: Выделить всёРазвернуть
   // 16 MHZ/8 = 2 MHz timer clock, start timer
   TCCR1A = (1 << WGM11) | (1 << WGM10);
   TCCR1B = (1 << WGM12) | (1 << WGM13) | (2 << CS10);
Проект [[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

Сообщение Michael_K » 13 июл 2011, 10:50

blindman, вы конечно абсолютно правы. В принципе. В целом.
Только вот пример ваш не менее смешной.

Может у меня, конечно, обострение склероза с маразмом...
Но лично для меня записи:

TCCR1B = (1 << WGM12) | (1 << WGM13) | (2 << CS10);
и
TCCR1B = 0x34;

практически одинаково нечитаемы - один фиг в даташит лезть :)
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Помогите в Си AVR

Сообщение blindman » 13 июл 2011, 10:56

По крайней мере (2 << CS10) мне кое-о чем говорит. и без даташита
Проект [[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

Сообщение HarryStar » 13 июл 2011, 13:04

Так в том и суть что ВАМ это кое о чем говорит. Зачем всех подводить под свою гребенку?
Давайте еще начнем обсуждать сколько пробелов надо ставить перед строками и на сколько смещать между вложенными {}.
В вашем примере есть еще одно ВАШЕ личное предпочтение. У вас комментарии на английском. Я предпочитаю русский :)

Думаю мы сильно уклонились от темы. Предлагаю создать топик "Личные предпочтения в оформлении программ на Си" и там продолжить с конкретными примерами оформления.
Аватара пользователя
HarryStar
 
Сообщения: 995
Зарегистрирован: 15 ноя 2010, 13:56
Откуда: Нижний Новгород
прог. языки: С, С++, РНР

Re: Помогите в Си AVR

Сообщение blindman » 13 июл 2011, 13:15

TCCR1B = 0x34 вообще никому ни о чем не говорит. И комментарии на английском тоже не просто так. Это из той же оперы - чтоб понятно было тому, кто будет читать.
Проект [[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

Сообщение osc » 13 июл 2011, 22:16

Как тему то раскурили :)
Аватара пользователя
osc
 
Сообщения: 333
Зарегистрирован: 07 сен 2009, 20:06
прог. языки: c, c#
ФИО: Евгений

Re: Помогите в Си AVR

Сообщение EasyTech » 22 июл 2011, 13:07

Делаю мини сумо, вопрос такой, мне нужно подключить 4 мотора к одному ДД L298N это реально?
Если из подключить последовательном соединение моторов сила тока = const . Это реально подключить такие моторы?
http://robotshop.su/e-store/catalog/198/1020/ вот моторы

Очень нужен кач-ый ответ, а то дело стоит :(
EasyTech
 
Сообщения: 239
Зарегистрирован: 15 май 2011, 19:19
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва

Re: Помогите в Си AVR

Сообщение EasyTech » 22 июл 2011, 19:50

Блин начал работать в avrstudio4 .
http://easyelectronics.ru/avr-uchebnyj- ... ast-1.html
что то не получается ...ъ
Нажимаю компилировать код, а мне пишет ошибку в makefile.
Я его сделал!! делаю всё точь точь по гайду :(
1.JPG
EasyTech
 
Сообщения: 239
Зарегистрирован: 15 май 2011, 19:19
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва

Re: Помогите в Си AVR

Сообщение HarryStar » 22 июл 2011, 20:21

Там расписана процедура автоматической генерации makefile через мастер. У вас сгенерился этот файл? Он лежит в папке вашего проекта?
Аватара пользователя
HarryStar
 
Сообщения: 995
Зарегистрирован: 15 ноя 2010, 13:56
Откуда: Нижний Новгород
прог. языки: С, С++, РНР

Re: Помогите в Си AVR

Сообщение EasyTech » 22 июл 2011, 20:35

да сгенерировал, а дальше тупик пишет у вас нету фаила расширения .о незнаю где искать :((

Добавлено спустя 8 минут 7 секунд:
где можно купить поле для лайнтрейсера, желательно в россии

Добавлено спустя 4 минуты:
в чем разница разработки программы winavr компилятора или avrstudio4
А то я в winavr компиляторе (notepad какой-то) уже работал много а в аврстудио только шью мк. :cry:
EasyTech
 
Сообщения: 239
Зарегистрирован: 15 май 2011, 19:19
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва

Пред.След.

Вернуться в Новичкам или основы основ роботостроения.

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

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