Датчик CO2 MH-Z19 MH-Z14A

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1142
Зарегистрирован: Пт авг 05, 2016 04:47:49

Сообщение Di123 »

есть два датчика
помогите вывести значения в монитор порта через уарт

создаю код где уарт датчика вешаю на второй уарт есп322 а считываю с первого уарта
но в монитор порте выводятся только нули
думал полежит и он вдруг очухается но нет почти сутки прошли

Код: Выделить всё

unsigned long _stou1 = 0UL;
String _RVFU1Data;
int _convertStringToNamberOutput_1 = 0;
String _tempVariable_String;
void setup()
{
    Serial.begin(9600, SERIAL_8N1);
    Serial2.begin(9600, SERIAL_8N1);
    _stou1 = millis();
}
void loop()
{
    if (Serial2.available()) 
    {
         _readByteFromUART((Serial2.read()),2);
    }
    //Плата:1
    _tempVariable_String = _RVFU1Data;
    _convertStringToNamberOutput_1 = strtol(_tempVariable_String.c_str(),NULL,10);
    if (!(0))
    {
         if (_isTimer(_stou1, 10000)) 
        {
            Serial.println(_convertStringToNamberOutput_1);
            _stou1 = millis();
        }
    }
     else 
    {
        _stou1 = millis();
    }
}
bool _isTimer(unsigned long startTime, unsigned long period)
{
    unsigned long currentTime;
    currentTime = millis();
    if (currentTime>= startTime) 
    {
        return (currentTime>=(startTime + period));
    }
     else 
    {
        return (currentTime >=(4294967295-startTime+period));
    }
}
void _readByteFromUART(byte data,int port)
{
    if (port==2)
    {
        _RVFU1Data = String(char(data));
    }
}
датчик подключаю рх на тх2 а тх на рх2
сли соединить каждый к своему то вообще ничего не показывает даже светодиод на есп перестаёт мигать на отправку
Реклама
Родился
Сообщения: 1
Зарегистрирован: Ср янв 05, 2022 12:16:40

Сообщение maagalex »

В FLPROG блок UART работает только на приём строк и данных по байту, либо пакета в своём собственном формате если выбрать блок "приём переменных из UART".Для считывания всего буфера за один такт нужно писать свой блок UART
Реклама
Ответить

Вернуться в «Периферия»