Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

А это не только на Сях - на АСМ то же самое. Вкратце - для твоего же удобства, развернуто - внутри(+)

Отправлено MBedder 25 апреля 2008 г. 15:08
В ответ на: Уважаемые! Вы знаете ,как я к вам хорошо отношусь... отправлено <font color=gray>Гарин</font> 25 апреля 2008 г. 14:34

Давай сначала переведем выражение к численному виду, предварительно подсмотрев в iom48.h или в другом аналогичном хедере численные значения битовых "операндов":

(1<<7)|(1<<5)|(1<<2) = 0x80|0x20|0x04 = 0xA4

Это даст присвоение в виде TWCR = 0xA4. Тебе что-нибудь говорит это 0xA4? Нет? И мне тоже. Зато запись TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN) говорит "Установить в 1 биты TWINT, TWSTA и TWEN регистра TWCR". Мало того, имена управляющих регистров и отдельных бит в них являются сокращениями их функциональныз назначений, поэтому легко догадаться, что эти регистры и их биты из себя представляют, даже не глядя в ДШ - Two Wire [interface] Control Register = Two Wire [interface] Interrupt, Two Wire [interface] Status, Two Wire [interface] Enable. Так понятнее, чем 0xA4 - не правда ли?

Мало того, если бы ты сам корячился и рожал в уме эту несчастную 0xA4, глядя то в ДШ, то на экран, и попутно вычисляя НЕХ-значение, то запросто мог бы и допустить механическую ошибку, написав бы в итоге нечто типа 0xB8, и застрелился бы потом эту ошибку вылавливать в неработающем коде. А вот символьные присвоения с использованием ТОЛЬКО предопределенных производителем компилятора/МК дефайнов будут всегда безошибочны - производители редко допускают ошибки в хедерах, а допустив - оперативно исправляют.

Вот ради этой безошибочности и понятности вся эта громоздкая на первый взгляд бодяга и затевается. Усек теперь?


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 3 в два раза:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru