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

 
 
> 0b0000 ? IAR, вьехать не могу
pfg
сообщение Apr 10 2007, 09:37
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 8-02-07
Пользователь №: 25 175



help.gif

не могу вьехать как записать число в двоичном коде в ИАРе ??

P6OUT=0b00000001;
P6OUT=00000001b;
P6OUT=b'00000001';

на все ругается
больше вариантов голову не пришло
хелпы перерыл

поможите люди добрые !!

IAR Assembler for MSP430 V3.42A/W32 (3.42.1.9)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Apr 10 2007, 10:50
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(pfg @ Apr 10 2007, 08:37) *
P6OUT=b'00000001';
IAR Assembler for MSP430 V3.42A/W32 (3.42.1.9)
Ассемблер вообще записей вида P6OUT=... не понимает. А если речь идет о С, то ответьте на один простой вопрос: вам действительно необходима двоичная запись? Согласитесь, запись вида P6OUT = (1<<7) | (0<<6) | (1<<5)... или P6OUT = (1<<LED) | (0<<RELAY) | (1<<KEY)... читается гораздо легче чем двоичная константа, и ошибку допустить в ней сложнее. Что же касается других SFR (не портов), там наглядность еще выше. Сравните: CACTL1 |= (CAIFG | CAIE), сразу видно - разрешить прерывания и выставить флаг и CACTL1 |= 3;
Единственное место, где двоичные константы наглядны - это программирование монохромных знакогенераторов, но ведь это не ваш случай?.

Поэтому не ломайте себе голову, а приучайтесь сразу писать красиво - сэкономите массу времени на отладке и на понимании своей же программы, когда вернетесь к ней через несколько месяцев.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
pfg
сообщение Apr 16 2007, 13:43
Сообщение #3





Группа: Участник
Сообщений: 5
Регистрация: 8-02-07
Пользователь №: 25 175



Цитата(Сергей Борщ @ Apr 10 2007, 10:50) *
Ассемблер вообще записей вида P6OUT=... не понимает. А если речь идет о С, то ответьте на один простой вопрос: вам действительно необходима двоичная запись? Согласитесь, запись вида P6OUT = (1<<7) | (0<<6) | (1<<5)... или P6OUT = (1<<LED) | (0<<RELAY) | (1<<KEY)... читается гораздо легче чем двоичная константа, и ошибку допустить в ней сложнее. Что же касается других SFR (не портов), там наглядность еще выше. Сравните: CACTL1 |= (CAIFG | CAIE), сразу видно - разрешить прерывания и выставить флаг и CACTL1 |= 3;
Единственное место, где двоичные константы наглядны - это программирование монохромных знакогенераторов, но ведь это не ваш случай?.

Поэтому не ломайте себе голову, а приучайтесь сразу писать красиво - сэкономите массу времени на отладке и на понимании своей же программы, когда вернетесь к ней через несколько месяцев.


Хм, понятно, обошел сие дело через дефиницию примерно так как и было подсказано

Удивило именно отсутвие формата записи...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 21:57
Рейтинг@Mail.ru


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