Например TDA7294

Форум РадиоКот • Просмотр темы - Работа с ИК-матрицей MLX90640 STM32
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср май 08, 2024 17:27:21

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


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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Работа с ИК-матрицей MLX90640 STM32
СообщениеДобавлено: Ср фев 28, 2024 09:43:45 
Родился
Аватар пользователя

Зарегистрирован: Ср фев 28, 2024 09:21:15
Сообщений: 2
Рейтинг сообщения: 0
Начал работать с матрицей MLX90640 на STM32F407VET6 при помощи библиотеки от производителя (https://github.com/melexis/mlx90640-library/tree/master). При запуске считываются данные из EEPROM. Затем, при попытки их обработки функцией MLX90640_ExtractParameters происходит hardfault_handler. Обнаружил, с какого места появляется ошибка:
Код:
static int ExtractDeviatingPixels(uint16_t *eeData, paramsMLX90640 *mlx90640)
{
    uint16_t pixCnt = 0;
    uint16_t brokenPixCnt = 0;
    uint16_t outlierPixCnt = 0;
    int warn = 0;
    int i;
   
    for(pixCnt = 0; pixCnt<5; pixCnt++)
    {
        mlx90640->brokenPixels[pixCnt] = 0xFFFF; // ТУТ
        mlx90640->outlierPixels[pixCnt] = 0xFFFF;
    }
       
    pixCnt = 0;
...
}

Заметил, что если добавить рядом в цикл mlx90640->brokenPixels[0] = 0xFFFF;, то ошибка больше не выдается, но после этого I2C имеет флаг BUSY и дальнейшая работа с камерой невозможна


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ИК-матрицей MLX90640 STM32
СообщениеДобавлено: Чт фев 29, 2024 09:20:44 
Родился
Аватар пользователя

Зарегистрирован: Ср фев 28, 2024 09:21:15
Сообщений: 2
Рейтинг сообщения: 0
Возможно проблема в I2C драйвере для библиотеки в преобразовании указателей, но я не уверен.
Код:
int MLX90640_I2CRead(uint8_t slaveAddr, uint16_t startAddress, uint16_t nMemAddressRead, uint16_t *data)
{

   uint8_t* p = (uint8_t*) data; // <--

   int ack = 0;                               
   int cnt = 0;
   
   ack = HAL_I2C_Mem_Read(&hi2c1, (slaveAddr<<1), startAddress, I2C_MEMADD_SIZE_16BIT, p, nMemAddressRead*2, 500);

   if (ack != HAL_OK)
   {
         return -1;
   }
   

   for(cnt=0; cnt < nMemAddressRead*2; cnt+=2) {
      uint8_t tempBuffer = p[cnt+1];
      p[cnt+1] = p[cnt];
      p[cnt] = tempBuffer;
   }

   return 0;   
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ИК-матрицей MLX90640 STM32
СообщениеДобавлено: Чт фев 29, 2024 14:25:46 
Друг Кота
Аватар пользователя

Карма: 13
Рейтинг сообщений: 366
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Сообщений: 4349
Откуда: Воронеж
Рейтинг сообщения: 0
У ХАЛа были какие-то проблемы именно с И2Ц. То есть именно ошибки библиотек, пользователь никак повлиять не мог. Может, это оно?

_________________
"Привет!" - соврал он.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Работа с ИК-матрицей MLX90640 STM32
СообщениеДобавлено: Вс мар 10, 2024 21:59:50 
Опытный кот
Аватар пользователя

Карма: 16
Рейтинг сообщений: 170
Зарегистрирован: Вс дек 02, 2012 16:58:33
Сообщений: 829
Откуда: Уже не город Белых гор
Рейтинг сообщения: 0
Посмотри как я баловался с этим датчиком.
Там две ветки - одна с бесконечным циклом, другая с FreeRTOS.
Я немного переработал библиотеку и засунул во флеш массив коррекции пикселей. Это сэкономило 10кБ ОЗУ.


Вернуться наверх
 
Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов.

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

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


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

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


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

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


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