Перейти к содержанию
bbh_blocked_dnftl

Dx Portal usi в режиме spi


Рекомендуемые сообщения

Народ, помогите разобраться пожалуйста вот код

 

 

 

#include

#include

#include

unsigned char rab,i,b;

ISR(USI_OVERFLOW_vect)

{

PORTD=0xFF;

USISR|=(1<

b=1;

}

void initport()

{

DDRD=0xFF;

PORTD=0x00;

DDRB=0xFF;

PORTB=0x00;

ACSR=0x80;

}

void initusi(unsigned char temp)

{

b=0;

USIDR=temp;

USISR|=(1<

while(~(USISR&(1<

{

if ((USIDR!=0)||(b==0))

{

USICR|=(1<

}

else

{

return;

}

}

}

int main(void)

{

initport();

 

while(1)

{

sei();

rab=rand()%1000;

initusi(rab);

}

}

 

 

в atmel studio 6 видно что значение temp помещается в USIDR ,видно что происходит сдвиг, с увеличением счетчика, а забивая прогу в proteus на выходе с порта B, а именно с ножки MOSI ничего не выходит, даже синхронизирующий сигнал отсутствует, хотя регистр USITC выставлен и повторяется. заранее благодарен за ответы или направление.

 

Читать дальше

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...