Easyelectronics.ru

Электроника для всех
Текущее время: 23 фев 2018, 05:50

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: HX711. Вопросы
СообщениеДобавлено: 11 янв 2018, 10:51 
Старожил

Зарегистрирован: 25 фев 2011, 18:45
Сообщения: 3433
Откуда: Новосибирск
Ковыряю HX711. Работал кто с этой микросхемой? По даташиту:
The output 24 bits of data is in 2’s complement format. When input differential signal goes out of the 24 bit range, the output data will be saturated at 800000h (MIN) or 7FFFFFh (MAX), until the input signal comes back to the input range.
В примере работы есть такая строка:
Код:
sbit ADDO = P1^5;
sbit ADSK = P0^0;
unsigned long ReadCount(void){
unsigned long Count;
unsigned char i;
ADDO=1;
ADSK=0;
Count=0;
while(ADDO);
for (i=0;i<24;i++){
ADSK=1;
Count=Count<<1;
ADSK=0;
if(ADDO) Count++;
}
ADSK=1;
Count=Count^0x800000; // Эта строка.
ADSK=0;
return(Count);
}


Хотел бы понять логику выходных данных. От и до в положительном диапазоне и в отрицательном. И зачем эта строка.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: HX711. Вопросы
СообщениеДобавлено: 14 янв 2018, 00:15 
Здравствуйте!

Зарегистрирован: 14 янв 2018, 00:07
Сообщения: 1
demiurg1978 писал(а):
Ковыряю HX711. Работал кто с этой микросхемой? По даташиту:
The output 24 bits of data is in 2’s complement format. When input differential signal goes out of the 24 bit range, the output data will be saturated at 800000h (MIN) or 7FFFFFh (MAX), until the input signal comes back to the input range.
В примере работы есть такая строка:
Код:
ADSK=1;
Count=Count^0x800000; // Эта строка.
ADSK=0; 


Хотел бы понять логику выходных данных. От и до в положительном диапазоне и в отрицательном. И зачем эта строка.


Строка как раз для преобразования 24-bit 2’s complement format в нормальное 32-bit unsigned long
Изначально данные приходят "со знаком". Но если просто тупо добавить недостающий старший байт, то будет чушь с разрывом значений.
Второй смысл этой строки - необходимая пауза между ADSK=1; и ADSK=0; , чтобы не писать delay(1);


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB