реклама на сайте
подробности

 
 
> Чот означает строка..., CodeVisionAVR
LexRoss
сообщение Nov 21 2009, 16:05
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 31-01-09
Пользователь №: 44 202



Подскажите, что значит строка
command = (RC5_buffer [8] << 5)|(RC5_buffer [9] << 4)|(RC5_buffer [10] << 3 )|(RC5_buffer [11] << 2)|(RC5_buffer [12] << 1)|RC5_buffer [13];
(компилятор codevisionavr)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
LexRoss
сообщение Nov 21 2009, 16:59
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 31-01-09
Пользователь №: 44 202



Я правильно понял, что RC5_buffer [8] << 5 означает запись в 5 бит command 8-ой ячейки массива?
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 21 2009, 17:12
Сообщение #3


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(LexRoss @ Nov 21 2009, 19:59) *
Я правильно понял, что RC5_buffer [8] << 5 означает запись в 5 бит command 8-ой ячейки массива?

Нет.
Это означает: взять 8 элемент массива
Код
RC5_buffer
(индекс начинается с 0) и сдвинуть его содержимое на 5 бит налево, т.е умножить на 2^5. Это стандартные операторы языка С.
Код
(RC5_buffer [8] << 5)|(RC5_buffer [9] << 4)|(RC5_buffer [10] << 3 )|(RC5_buffer [11] << 2)|(RC5_buffer [12] << 1)|RC5_buffer [13]
С остальными элементами массива аналогично. Затем все результаты сдвигов подвергаются операции побитного логического ИЛИ.
P.S. По поводу использования codevision avr много было замечаний. Лучше использовать компилятор соответствующий стандарту языка.
WHALE опередил.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
mrKirill
сообщение Nov 23 2009, 04:52
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 283
Регистрация: 13-06-07
Из: Челябинск
Пользователь №: 28 391



Цитата(mdmitry @ Nov 21 2009, 22:12) *
P.S. По поводу использования codevision avr много было замечаний. Лучше использовать компилятор соответствующий стандарту языка.

Это замечание тут ни к чему. Только "понты" с Вашей стороны.
Подобную строку можно написать при работе хоть с WinAVR, хоть с IAR.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 23 2009, 12:59
Сообщение #5


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(mrKirill @ Nov 23 2009, 07:52) *
Это замечание тут ни к чему. Только "понты" с Вашей стороны.
Подобную строку можно написать при работе хоть с WinAVR, хоть с IAR.

Сравните соответствие стандарту С99, а потом, пожалуйста, употребляйте "понты" и другие выражения. На эту тему на форуме полно информации, потрудитесь хотя бы прочитать то, что есть в обсуждениях.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
mrKirill
сообщение Nov 24 2009, 03:19
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 283
Регистрация: 13-06-07
Из: Челябинск
Пользователь №: 28 391



Цитата(mdmitry @ Nov 23 2009, 17:59) *
Сравните соответствие стандарту С99, а потом, пожалуйста, употребляйте "понты" и другие выражения. На эту тему на форуме полно информации, потрудитесь хотя бы прочитать то, что есть в обсуждениях.

Вы меня не так поняли. При чем тут стандарт С99?
Хотите сказать что строку, приведенную топик-стартером нельзя написать в WinAVR или IAR?
Можно! И следовательно к CodeVisionAVR совершенно никаких претензий, тема называется "Что означает строка...", т.е. без привязки к компилятору.
Насчет инструмента автор не спрашивал, и сообщать что "CVAVR говно" тут не к месту, каждый волен сам решать чем ему пользоваться.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- LexRoss   Чот означает строка...   Nov 21 2009, 16:05
- - Herz   Переменной command присваивается значение, скомпил...   Nov 21 2009, 16:31
|- - WHALE   Цитата(LexRoss @ Nov 21 2009, 19:59) Я пр...   Nov 21 2009, 17:08
|- - WHALE   Цитата(mdmitry @ Nov 23 2009, 15:59) Срав...   Nov 23 2009, 16:05
|- - mdmitry   Цитата(mrKirill @ Nov 24 2009, 06:19) Нас...   Nov 24 2009, 12:51
- - baralgin   Немного офтопа. Чтобы было понятне нужно писать на...   Nov 21 2009, 17:19
|- - SysRq   Цитата(baralgin @ Nov 21 2009, 20:19) Что...   Nov 21 2009, 22:31
- - baralgin   SysRq Ну чтобы не уповать на оптимизации компилято...   Nov 21 2009, 22:55
|- - Сергей Борщ   Цитата(baralgin @ Nov 22 2009, 00:55) мож...   Nov 23 2009, 00:20
- - mdmitry   2 WHALE. Я не собираюсь заниматься религиозными во...   Nov 23 2009, 17:39
- - WHALE   Цитата(mdmitry @ Nov 23 2009, 20:39) 2 WH...   Nov 23 2009, 18:54


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 13:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01403 секунд с 7
ELECTRONIX ©2004-2016