STM урок 65

Урок 65

IN предишна част уроци, запознахме се с характеристиките на нашия операционен усилвател, също така се запознахме с платката за оценка и схемите, сглобени на операционния усилвател TSZ124IPT, както и с някои изчисления на тези схеми, които ни позволяват да оценим измерените показания.

Ще направим проекта от проекта Humidity_HTS221 от Урок 55 от сензора за влажност и го извикайте TSZ124.

Нека стартираме нашия проект през Cube MX.

Нека видим в документацията за платката за отстраняване на грешки кои ADC канали ще използваме

Тъй като има две схеми за използване на нашия усилвател на платката, свързани с изхода му към два различни ADC канала, ще включим съответните канали

Нека добавим още някои забравени настройки. Включете генератора на часовника

Също така активирайте SWD порта

В Конфигурация на часовника превключете мултиплексора на резонатор и задайте следните настройки (щракнете върху снимката, за да увеличите изображението)

щракнете върху снимката

Да отидем на Конфигурация.

Нека настроим таймера, както следва

ПОТРЕБИТЕЛСКИ КРАЙ

Уверете се, че прекъсванията са активирани

щракнете върху снимката

В ADC ще използваме инжекционни канали, така че активирайте следните настройки

урок

Нека да генерираме проект, да го отворим в Keil, да конфигурираме програмиста там за автоматично рестартиране.

Файлове hts221.h и hts221.c преименувайте съответно на TSZ124.h и TSZ124.c.

В тази връзка ще поправим и връзката на файла в основния модул main.c и в TSZ124.c, който също ще свържем с дървото на проекта

#include "TSZ124.h"

extern I2C_HandleTypeDef hi2c1;

Функция MovingAverageTemp фиксирайте MovingAverageI

Ще премахнем функциите Грешка, I2Cx_ReadData, I2Cx_WriteData, Влажност_IO_Read, Влажност_IO_Write, I2Cx_WriteData, Влажност_Get_Temp, Влажност_Get_Hum, Влажност_ReadID, ВлажностInit и Влажност_Ини, и някои от тези прототипи и прототипи на функции и прототипи Премахнахме функциите за инициализация, тъй като операционните усилватели не се нуждаят от инициализация, тъй като това са аналогови микросхеми без контрол на регистъра.

Също така, за естетика, нека поправим тази променлива.

летливи int8_t avg_cnt;
летлив int8_t avg_cnt_i;