eddy_em: (Default)
eddy_em ([personal profile] eddy_em) wrote2021-02-14 11:51 pm

HTU21D & SI7005 на STM32F103

Добавил к предыдущему "сниппету" для работы с SI7005 работу с HTU21D: код на гитхабе.
Опять пришлось повозиться с I2C. Чтение одного, двух и N байт на F103 реализуются совершенно по-разному, так что, пришлось добавлять общую функцию чтения N байт. Еще и проглючил в одном месте: в даташите четко написано, что считывать последний байт нужно, дождавшись флага RxNE, а я же, полагая, что нафиг его ждать - все равно ж из буфера вычитываем данные, просто дважды подряд считывал I2C1->DR.
Теперь остаются еще датчики типа DHT11 — на дурацком 1-wire. Придется-таки делать реализацию на таймере с DMA (я уже делал на F103 это, но тогда использовалась opencm3, от которой я отказался ввиду непредсказуемости разработчиков). Но сначала, наверное, займусь все-таки барометрами на I2C: BMP180 и BMP280.

Post a comment in response:

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