Shedon 0 15 октября, 2006 Опубликовано 15 октября, 2006 · Жалоба Собственно сабж, был у меня кусок программы: #define SD IO0PIN_bit.P0_6 for(unsigned char i=0; i<8; i++) { SD = *p & 0x80; *p <<= 1; SCLK=1; SCLK=0; Sleep(2); } да вот заметил я, что в SD всегда ноль в независимоти от того, что находится в *p перепивал код так #define SD IO0PIN_bit.P0_6 for(unsigned char i=0; i<8; i++) { if( *p & 0x80 ) SD = 1; else SD = 0; *p <<= 1; SCLK=1; SCLK=0; Sleep(2); } и заработало! Кто-то сталкивался с подобным? ---------------------------------------- Процессор: LPC2214 Компилятор: IAR 4.30A Отладчик: jLink Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 15 октября, 2006 Опубликовано 15 октября, 2006 · Жалоба Собственно сабж, был у меня кусок программы: Кусок явно ошибочный. *p & 0x80 может принимать значения либо 0 либо 0x80, из последнего в 1 бит умещается только последний бит, т.е. 0. можно написать SD = (*p & 0x80) != 0, тогда получится. Или SD = (*p & 0x80) ? 1 : 0; или как Вы придумали. Для окончательного понимания предлагаю такой вариант: struct { uint8_t tmp:8; } var; var.tmp = 0xFF; ++var.tmp; чему будет равен var.tmp? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Shedon 0 15 октября, 2006 Опубликовано 15 октября, 2006 · Жалоба из последнего в 1 бит умещается только последний бит, т.е. 0. ступил, спасибо, просто как-то думалось что бит должен быть равен единице при любом значение не равном нулю Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 15 октября, 2006 Опубликовано 15 октября, 2006 · Жалоба зачем в русскоязычном форуме писать тему на английском ? Выпендрежа ради ? Не стОит, не оценят. В менее лояльных форумах плюсик бы точно выдали Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 16 октября, 2006 Опубликовано 16 октября, 2006 · Жалоба зачем в русскоязычном форуме писать тему на английском ? Ну, например, для того, что-бы сообщения об ответе на эту тему уходили в том числе и на мобильного провайдера не подозревающего о существовании разнообразных 'русских' кодировок и на мобильнике можно было прочитать что это такое прибежало... Здесь, вроде, не форум любителей вязания и каждый по определению обязан немного владеть английским. К чему такая достаточно резкая реакция? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 190 16 октября, 2006 Опубликовано 16 октября, 2006 · Жалоба :bb-offtopic: :bb-offtopic: :bb-offtopic: :maniac: Обсуждения языков и т.п. не по теме - в разделе "Общение". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться