Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Почему у AT90USB1287 на MOSI нихрена не выводится, хотя SPI вклучается и вроде как работает...

Отправлено Dikoy 29 декабря 2007 г. 15:28


Такая вещь.
Имею рабочий код под mega64 (на Си, IAR), переношу на USB1287. Прграмма в целом работает, проблема только с SPI...
SPI у чипов идентичен - сравнивал по ДШ. Все регистры одинаково называются, у всех одинаковое назначение...
Пытаюсь передать данные, смотрю осциллом MOSI - вообще глухо... Причём PORTB нормально настраивается - видно как включаются подтяжки, как лапки утягиваются в ноль...

Вот исходник с настройками, но я не знаю нужен ли кому...

tmp = DDRB;
tmp |= (1<<SS) | (1<<MOSI) | (1<<SCK); // set SS, MOSI, and SCK to output mode
tmp &= 0xff - (1<<MISO); // set MISO to input mode
DDRB = tmp;

PORTB &= ~((1<<SS) | (1<<MOSI) | (1<<SCK)); // set SS, MOSI, and SCK to 0
PORTB |= (1<<MISO); // set MISO to input pull-up


SPCR = 0;
SPSR = 0;
SPCR = (1<<SPE) | (1<<MSTR) | (1<<SPR1); // enable master with slow speed (f_osc/64)

TIMSK0 &= ~(1<<OCIE0A); // reset pending SPI supervisor


Далее пишу байты в SPDR....


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
вычтите два из трёх, получится:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru