eddy_em: (Default)
[personal profile] eddy_em
Потихоньку осваиваю F0, все-таки, надо будет разработать систему мониторинга температуры ГЗ БТА. Пока я не спаял платку для термометра, взял первый попавшийся в коробке девайс на I2C — датчик температуры/влажности HTU21-D. Я с ним, кстати, еще ни на STM32, ни на STM8 не работал.
Пару вечеров убил в обнимке с мануалом и даташитом. Позавчера скомпилялось, и я довольный пошел спать. Вчера была ночная экскурсия — не до этого, а сегодня решил прошить.
Делал, кстати, под STM32F030 — у меня две таких макетки и всякие дикие эксперименты стараюсь с ними проводить (хоть STM32F042 у меня с двукратным запасом, не хочется перепаивать на nucleo, когда флеш сдохнет). Прошиваю — и тишина в USART. И тут до меня доходит: у 20-ногого F030 PA9 и PA10 делят функции USART и I2C! Пришлось переделывать под STM32F042, и для начала научиться работать на нем с USART.
Потом решал проблему с зависанием на проверке while(!(I2C1->ISR & I2C_ISR_TXIS)), когда на линии нет ничего (даже подтягивающих резисторов). Оказалось, что в данном случае флаг не появляется вообще! Пришлось везде, где есть такие проверки, внедрить таймаут в 5мс. Ну, а потом я раскомментировал весь код и, как ни странно, все с первой же попытки завелось! Правда, я вместо умножения на 10 в вычислении влажности выполнил операцию деления. Но теперь все ОК, код на гитхабе.
В терминал 1 раз в секунду выдается то значение влажности, то температуры:
Temperature: 259/10 degrC
Humidity: 324/10 %

В комнате один термометр с гигрометром (тоже, наверное, на подобном чипе) и часы с термометром. Первый показывает 24°C и 37%, второй показывает 23°. Подогрев чипа по умолчанию отключен — похоже, либо саморазогрев у него такой, либо нагло врут в даташите про точность в 0.3°C!

Теперь надо будет спаять минимальную платку для TSYS01 и заняться им.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

April 2025

S M T W T F S
  1 23 45
67 89101112
13141516171819
20212223242526
27282930   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 22nd, 2025 12:20 pm
Powered by Dreamwidth Studios