реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> странно работает USI в ATTINY26
QuadMan
сообщение Jun 20 2006, 14:38
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 92
Регистрация: 25-10-05
Пользователь №: 10 069



Пишу SPI master для ATTINY26, делаю, прямо как написано в примере из даташита:

void write_spi(unsigned char data)
{
unsigned char tmp;

USIDR = data;

USISR |= 0x40; // clear interrupt flag

tmp = USICR | (1 << USITC) | (1 << USICLK) | (1 << USIOIE);

while ((USISR & 0x40) != 0x40) {
USICR = tmp;
}
}

SLK вижу, а DO - всякая фигня не соответствующая действительности. вернее, если data = 1 или 5, то ворде как нормально, а все остальное - прыгает и скачет как хочет. в чем проблема?

USICR изначально сконфигурен так:
// Universal Serial Interface initialization
// Mode: Three Wire (SPI)
// Clock source: Register & Counter=USICLK
// USI Counter Overflow Interrupt: Off
USICR=0x12;

Сообщение отредактировал QuadMan - Jun 20 2006, 14:39
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 08:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.01346 секунд с 7
ELECTRONIX ©2004-2016