NewSistems Опубликовано 1 августа, 2019 Жалоба Поделиться Опубликовано 1 августа, 2019 Народ, помогите разобраться пожалуйста вот код #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 выставлен и повторяется. заранее благодарен за ответы или направление. Читать дальше Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.