roboforum.ru

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

приятная статейка ДЛЯ начала С АВР

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

Re: приятная статейка ДЛЯ начала С АВР

Сообщение galex1981 » 10 ноя 2009, 23:16

Код: Выделить всёРазвернуть
LED_PORT= 0 << LED1;
Такой записи я еще не видел....
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: приятная статейка ДЛЯ начала С АВР

Сообщение avr123.nm.ru » 10 ноя 2009, 23:20

А вот новички теперь будут ЭТО видеть и возможно повторять это.

У нас ведь, на Робофоруме, линк на заглавной страничке красуется.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: приятная статейка ДЛЯ начала С АВР

Сообщение Michael_K » 10 ноя 2009, 23:57

galex1981 писал(а):
Код: Выделить всёРазвернуть
LED_PORT= 0 << LED1;
Такой записи я еще не видел....

Такая запись довольно часто встречается - дело привычки.

Типа, наглядно, какой бит зачем.

Например,

Код: Выделить всёРазвернуть
#define clock_prescale_get()  (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)|(1<<CLKPS2)|(1<<CLKPS3)))

из файла avr/power.h, который идет в комплекте с AVRGCC
Нолики тоже часто "сдвигают", просто для понятности кода
(хотя мне лично такая форма записи не нравится)
Компилятор все равно это дело оптимизирует в константу.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: приятная статейка ДЛЯ начала С АВР

Сообщение avr123.nm.ru » 11 ноя 2009, 00:02

И где в вашем примере сдвигаются НУЛИ ? Тагда к чему ваш пример ?

Это типа написать "в наших краях часто встречаются черные аисты" и в качестве иллюстрации приложить фотку белых аистов - т.е. довольно прикольно, но "не в кассу".

Тут люди читают даташиты и сдвиг ЕДИНИЦ для большинства читавших даташит - это НОРМА.

Я про сдвиг НУЛЯ.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: приятная статейка ДЛЯ начала С АВР

Сообщение Michael_K » 11 ноя 2009, 00:21

Сдвиг нуля используется, чтобы показать, какой именно бит мы устанавливаем в ноль,
чтобы код был читабельнее.

Например,
(первая попавшаяся ссылка из гугля)
http://www.openservo.com/viewcvs/OpenServo/ATtinyX5_Bootloader/timer.h?root=cvs&view=co
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: приятная статейка ДЛЯ начала С АВР

Сообщение avr123.nm.ru » 11 ноя 2009, 00:24

Michael_K писал(а):Сдвиг нуля используется, чтобы показать, какой именно бит мы устанавливаем в ноль


Ужас !!! Вы правда считаете, что в том примере ИМЕННО тот бит будет СБРОШЕН ( вы пишите "установлен" - но set это в "1" обычно ) в ноль ???

Может вы приколист, а не разработчик ?
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: приятная статейка ДЛЯ начала С АВР

Сообщение Michael_K » 11 ноя 2009, 00:25

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

Re: приятная статейка ДЛЯ начала С АВР

Сообщение avr123.nm.ru » 11 ноя 2009, 00:26

Повторю вопрос: Вы правда считаете, что в том примере ИМЕННО тот бит будет СБРОШЕН в ноль ???
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: приятная статейка ДЛЯ начала С АВР

Сообщение Michael_K » 11 ноя 2009, 00:32

avr123.nm.ru писал(а):Вы правда считаете, что в том примере ИМЕННО тот бит будет СБРОШЕН ( вы пишите "установлен" - но set это в "1" обычно ) в ноль ???


Не придирайтесь к словам.
Здесь нет управления ОТДЕЛЬНЫМИ битами.
И вопрос вообще не в том, что я считаю, а в том,
что такая форма записи имеет распространение.

Биты в управляющих байтах часто имеют групповое значение
(например режимы ШИМ при настройке таймеров).

Такая запись показывает в явном виде,
какой бит в какое состояние устанавливается.
Вот и все.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: приятная статейка ДЛЯ начала С АВР

Сообщение avr123.nm.ru » 11 ноя 2009, 00:36

Слава богу, что на даташиты она не распространилась пока. Надеюсь этого не случится если атмеловцы не полезут на "бредни про электронику".
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: приятная статейка ДЛЯ начала С АВР

Сообщение Michael_K » 11 ноя 2009, 00:40

AТmega128 33-я страница:
asm.GIF


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

Re: приятная статейка ДЛЯ начала С АВР

Сообщение avr123.nm.ru » 11 ноя 2009, 01:00

Вы мастерскИ манипулируете данными !!! Браво !

А табличку ПОЛНОСТЬЮ покажите пожалуйста ! то место где ЭТОТ ЖЕ на Си написано. Ась ???
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: приятная статейка ДЛЯ начала С АВР

Сообщение Michael_K » 11 ноя 2009, 01:21

Это не я манипулирую данными - это вы меняете тему,
то приписывая мне мысли об управлении отдельными битами,
то привязывая запись к языку.

Да, на Си в этой табличке запись другая, но что это меняет?
Можно и на Си найти - видел не раз, искать лениво...

Ну вот, например:
asm.GIF


Впрочем, если вы не _ВЕРИТЕ_, то мне-то какое дело?
Справляйтесь сами :)

И прекратите уже красить шрифт, вам своих страничек мало? :)))

Добавлено спустя 6 минут 2 секунды:
Страница 177, чтобы вам не искать.

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

Re: приятная статейка ДЛЯ начала С АВР

Сообщение avr123.nm.ru » 11 ноя 2009, 01:25

Michael_K писал(а):то приписывая мне мысли об управлении отдельными битами


Аааааааа... Значит это ваш ДВОЙНИК писал, а не вы:

Michael_K писал(а):Сдвиг нуля используется, чтобы показать, какой именно бит мы устанавливаем в ноль,
чтобы код был читабельнее.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: приятная статейка ДЛЯ начала С АВР

Сообщение Michael_K » 11 ноя 2009, 01:27

Знаете, вы меня снова убедили :)
Последний раз редактировалось Michael_K 11 ноя 2009, 01:27, всего редактировалось 1 раз.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Пред.След.

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

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

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

cron