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

 
 
> TWI библиотека от Atmel
romez777
сообщение Jan 3 2008, 06:58
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 9-11-04
Пользователь №: 1 077



Приветствую,

в reference коде TWI интерфейса с atmel.com есть такие строки:

Код
/* Set the TWI Master Mode Register */
pTwi->TWI_MMR =  SlaveAddr | IntAddrSize & ~AT91C_TWI_MREAD;


Компилятор (arm-elf-gcc) предупреждает:

Код
warning: suggest parentheses around arithmetic in operand of |


Понятно, что приоритет & выше чем |, и наверное авторы кода полагались на то, что вычисления будут в таком порядке:
1) ~AT91C_TWI_MREAD
2) IntAddrSize & ~AT91C_TWI_MREAD
3) SlaveAddr | <результат предыдещей операции>

То есть правильно ли будет расставить скобки так:
Код
pTwi->TWI_MMR =  SlaveAddr | (IntAddrSize & ~AT91C_TWI_MREAD);


Из даташита не совсем понятна последовательность. Буду признателен за развеяние сомнений smile.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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