Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
PS_021
Отправлено
oversmoken 18 февраля 2008 г. 12:37
Добрый день. Вот есть такая микруха, которая обозначена в названии темы. Есть также AVR, который должен с ней работать по SPI. Вопрос, как обычно, ламерский - правильно ли я это делаю?
пишем:
for (i=0;i<8;i++) {
SetBit(SclkO,SclkB);
DelayUS(1);
if ( ((Opcode>>i)&1)==0) ClrBit (SoutO,SoutB);
else SetBit (SoutO,SoutB);
ClrBit(SclkO,SclkB);
DelayUS(1);
}
for (i=0;i<24;i++) {
SetBit(SclkO,SclkB);
DelayUS(1);
if ( ((Value>>i)&1)==0) ClrBit(SoutO,SoutB);
else SetBit(SoutO,SoutB);
ClrBit(SclkO,SclkB);
DelayUS(1);
}
читаем:
for (i=0;i<8;i++) {
SetBit(SclkO,SclkB);
DelayUS(1);
if ( ((Opcode>>i)&1) == 0 ) ClrBit (SoutO,SoutB);
else SetBit (SoutO,SoutB);
ClrBit(SclkO,SclkB);
DelayUS(1);
}
for (i=0;i<24;i++) {
SetBit(SclkO,SclkB);
DelayUS(1);
ClrBit(SclkO,SclkB);
Rg |= RdBit(SinI,SinB);
Rg = Rg << 1;
}
Вроде бы так должно быть. Тем не менее, что-то явно не так, и вот не пойму, а что же именно. И еще вопрос. Вообще-то в интерфейсе SPI есть еще ножка SSN, и в даташите показано, что ей в процессе обмена данными тоже нужно дергать. Но по схеме она посажена на 0. Вопрос - так ли она жизненно нужна?
Составить ответ | Вернуться на конференцию
Ответы