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

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

Ответ: SPiработает правильно.

Отправлено Леонтий 25 августа 2008 г. 15:08
В ответ на: Ответ: Работал с AD7738 проблемы были по началу. отправлено <font color=gray>skyspark</font> 25 августа 2008 г. 14:33

Пишу в регистры и их читаю - все верно. Что записываю (пробывал разные варианты - то и считывал). Режим который хотим использовать - непрервывный, перекедной между каналами и в даташите толкомне описан. - Может в регистры не правильно (или их последовательность)?

Сами функции SPI:
//SPI initialize clock rate: 1843198hz (сразу для 3 АЦП)
void SpiInit(void)
{
PORTF|=BIT(0); // CS1 установить в 1
PORTF|=BIT(1); // CS2 установить в 1
PORTF|=BIT(2); // CS3 установить в 1
DDRB|=0x07; //Установка SCK=1, MOSI=1, MISO=0, SS=1
PORTB&=~BIT(2); // очистка MOSI
PORTB&=~BIT(1); //очистка SCK
SPCR = 0x51; //установка SPI в режиме ведущий и задание скорости
SPSR = 0x01; //setup SPI
SPCR|=BIT(6);
}

//Функция записи байта в SPI порт
void SpiWriteByte(unsigned char byte)
{

SPCR|=BIT(6);
PORTB&=~BIT(2); // очистка MOSI
PORTB&=~BIT(1); //очистка SCK
SPDR = byte;
while (!(SPSR&0x80)); // ожидание готовности порта, прежде чем считывать
byte = SPDR;
SPCR&=~BIT(6);
}
//Функция чтения байта с SPI порта
unsigned char SpiReadByte(void)
{
unsigned char tmp=0;
PORTB&=~BIT(2); // очистка MOSI
PORTB&=~BIT(1); //очистка SCK
SPCR|=BIT(6);
SPDR = 0x00;
while (!(SPSR&0x80)); // ожидание готовности порта, прежде чем считывать
tmp=SPDR;
SPCR&=~BIT(6);
return tmp;
}


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

Ответы


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

Сообщение:

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

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

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

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