Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> пример программы работы с DS7812, кто нибудь уже работал с АЦП по SPI 
:(
    Опции темы
Ivan.
  Дата 14.1.2005, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 2.11.2004

Репутация: 1
Всего: 2



smile есть у кого нибудь функция для работы с АЦП типа DS7812 на C++ по интерфейсу SPI


--------------------
Я могу ВСЁ, вопрос - сколько времени у меня это займет!
PM MAIL ICQ   Вверх
PILOT
Дата 14.1.2005, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Код

unsigned int read_adc(unsigned int channel)
{
unsigned char charray[3]={0,0,0};
unsigned char i;
//задается управляющее слово
unsigned char adc_wseq[10]={
0, //A0
1, //PD1
1, //PD0
0, //Vin
0, //DIFF
0, //CH2
0, //CH1
0, //CH0
1, //CONVST
1 //EXTREF
};
unsigned int buf=0;
//преобразование номера канала в бинарный вид
for(i=2;channel!=0;i--)
{
charray[i]=channel % 2;
channel/=2;
}
//вставка номера канала в слово управления
adc_wseq[5]=charray[0];
adc_wseq[6]=charray[1];
adc_wseq[7]=charray[2];


//запись слова управления
rtfs=FALSE; //перевод rfs-tfs в режим запись
for(i=0;i<10;i++) //запись слова
{
SCLK=TRUE;
DIN=adc_wseq[i];
SCLK=FALSE;
}

//READ CHANNEL ROUTINE


CONVST=FALSE; // преобразованиев для выбранного канала
CONVST=TRUE;

rtfs=TRUE;//перевод rfs-tfs в режим чтения
for(i=0;i<10;i++) //считывание и преобразование полученного результата
{
SCLK=TRUE;
if (DOUT==TRUE) buf=buf+pow(2,9-i);
SCLK=FALSE;
}
return buf;
}//READ_NEW_ADC

unsigned int radc(unsigned int channel) // функция которая запаршивает один и тот же канал, чтобы возвращались корректные результаты а не результат преобразования предыдущего канала
{
read_new_adc(channel);
return read_new_adc(channel);
}


И надо подавать 13 тактов при записи управляющего слова.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
Эдгар
Дата 24.11.2008, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 24.11.2008

Репутация: нет
Всего: нет



Хочу подключить ADS7818 к Atmega 8535 по SPI. Работаю с Programmers Notepad. Помогите пожалуйста. smile 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0387 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.