Например TDA7294

Форум РадиоКот • Просмотр темы - Компас hmc5883l измеряет только один раз
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср июл 16, 2025 11:18:52

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Компас hmc5883l измеряет только один раз
СообщениеДобавлено: Чт авг 29, 2024 19:55:05 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 30, 2023 14:12:33
Сообщений: 25
Рейтинг сообщения: 0
Добрый вечер, радиокоты!) Возникла проблемка с компасом hmc5883l. К слову, он стоит на плате gy85 и остальные устройства на ней работают нормально, проблема не в i2c. Короче, у компаса есть 2 режима работы: single и continious. В первом он замеряет единожды и после его заново нужно вручную заствлять измерять, во втором же случае он постоянно записывает результаты измерений в регистры. Вся проблема заключается в том, что у меня не получается заставить его измерять след.раз в режиме single. Т.е. первые замеры я получаю вполне адекватные, соответствующие действительности, однако в дальнейшем показания датчика никак не меняются. Уж как не пробовал я его переключать - бесполезно, либо он начинает выдавать бред, либо ничего не меняется и датчик все продолжает слать первые правильные показания, которые никак не меняются при изменении положения датчика. В даташите был пример для continious мода. Может подскажет кто-то как все таки заставить датчик измерять дальше? Спасибо!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Компас hmc5883l измеряет только один раз
СообщениеДобавлено: Пт авг 30, 2024 06:46:43 
Нашел транзистор. Понюхал.

Карма: -8
Рейтинг сообщений: 17
Зарегистрирован: Сб апр 24, 2021 18:42:11
Сообщений: 155
Рейтинг сообщения: 0
Так Вы напишите, как именно Вы его "переключаете". В даташите сказано: "After the measurement is complete and output data registers are updated, the device is placed in idle mode, and the Mode Register is changed to idle mode by setting MD[n] bits." Вы этот регистр перенастраиваете после однократного измерения?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Компас hmc5883l измеряет только один раз
СообщениеДобавлено: Сб авг 31, 2024 08:49:49 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 30, 2023 14:12:33
Сообщений: 25
Рейтинг сообщения: 0
Переключаю я как раз вот эти биты. С даташита:
MD1 to MD0 Mode Select Bits. These bits select the operation mode of this device. 01 - это single режим. Я делаю вот так:
Код:
   
void IMU_Get_Compass_XYZ(float *X, float *Y, float *Z){
   uint8_t values[6];

   GY85_Read(GY85_HMC5883L_READ, HMC5883L_RA_DATA_X_H, values, 6);
      // тут обработка показаний идет, это я уберу

   GY85_Write(GY85_HMC5883L << 1, HMC5883L_RA_MODE, 0x01);
   



Добавлено after 1 minute 53 seconds:
Т.е. после каждого замера я ставлю биты в этот режим. Если чо по дефайнам:
#define GY85_HMC5883L (0x1E)
#define HMC5883L_RA_MODE (uint8_t)0x02
Может напутал чо то с адресами, но это вряд ли


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

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


Кто сейчас на форуме

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


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

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


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y