ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
3 июля
94342 Топик полностью
AU_ (15.07.2007 17:43, просмотров: 1) ответил AU_ на Всем ответившим - СПАСИБО!!! Проблема была в "софтварном SPI". Закралась маска 0x80, 0x40, 0x30, 0x10 :(
ВОПРОС: Как корректно сдвигать маску в IAR C?? Влево понятно, unsigned char tmp; а в цикле tmp+=tmp. А как сдвигать вправо 0x80 без деления??? В лоб сейчас использовали
<c>
switch (i) {
   case (0): tmp=0x80; break;
   case (1): tmp=0x40; break;
   case (2): tmp=0x20; break;
   ...
   case (7): tmp=0x01; break; } </c> 
Подскажите, как проще и элегантнее?