Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

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

Вс окт 10, 2021 09:52:11

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

создаю код где уарт датчика вешаю на второй уарт есп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
сли соединить каждый к своему то вообще ничего не показывает даже светодиод на есп перестаёт мигать на отправку

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

Ср янв 05, 2022 12:29:05

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