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

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

Ответ:

Отправлено 3m 04 июля 2008 г. 13:20
В ответ на: Ответ: Да, конечно, в принципе все тоже бес проблем (+) отправлено Paul1 04 июля 2008 г. 12:16


void s_write_byte(unsigned char value)
{
unsigned char i;
DATATR = 0;
i=0x80;
do
{
if (i & value)
DATA = 1;
else
DATA = 0;
SCK = 1;
Delay10TCYx(15);
i>>=1;
if (i==0) break;
SCK = 0;
Delay10TCYx(15);
}
while(1);
DATATR = 1;
SCK = 0;
Delay10TCYx(15);
SCK = 1;
Delay10TCYx(15);
ShtErr |= DATAIN;
SCK = 0;
}

void s_transstart(void)
{
DATA = 1;
DATATR = 0;
SCK = 0;
Delay10TCYx(10);
SCK = 1;
Delay10TCYx(10);
DATA = 0;
Delay10TCYx(10);
SCK = 0;
Delay10TCYx(30);
SCK = 1;
Delay10TCYx(10);
DATA = 1;
Delay10TCYx(10);
SCK = 0;
}

void s_write_statusreg(unsigned char value)
{
unsigned char error = 0;
s_transstart();
s_write_byte(STATUS_REG_W);
s_write_byte(value);
}

void HeatOnOff(u8 heaton)
{
heaton=(heaton==0)? SHT_CONFIG: SHT_CONFIG | 0x04;
s_write_statusreg(heaton);
}

Я включаю подогрев функцией HeatOnOff, подогрев работает.
У вас датчик виснет даже при чтении статуса?
Процедурой ресинхронизации развешивается ?


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

Ответы


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

Сообщение:

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

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

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

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