Enviar varios datos por consola, solo puedo enviar uno

buenas a todos, soy nuevo con arduino, necesito su ayuda, cualquier aporte es bienvenido.
El problema va asi: tengo el siguiente codigo

//Se transforma el buffer a un número entero
      int num = bufferString.toInt();
     
      lcd.setCursor(0,0);
      lcd.print(num);
      
      
      Serial.print("Numero1 recibido: ");
      Serial.print(num);
     
     
      if(temperatura>=num){
        digitalWrite(39,1);
      }
      else digitalWrite(39,0);

todo hasta aqui bien, leo temperatura de mi DTH, el dato se envia de forma correcta, hasta incluso con ese dato aprovecho a realizar una simple condicion para que cuando mi temperatura sea mayor al dato , se active un led o cualquier actuador, mi duda es que como le hago para enviar dos o tres datos o n datos, cuando hago esto:

int maximo= bufferString.toInt();
int minimo= bufferString.toInt();
     
      lcd.setCursor(0,0);
      lcd.print(maximo);
      lcd.setCursor(0,1);
      lcd.print(minimo);
      
      
      Serial.print("temperatura maxima recibido: ");
      Serial.print(maximo);
      Serial.println(" ");
      Serial.print("temperatura minima recibido: ");
      Serial.print(minimo);
     
     
      if(temperatura>=maximo && temperatura<=minimo){
        digitalWrite(39,1);
      }
      else digitalWrite(39,0);

en la consola me muestra temperatura maxima recibido: x dato y al mismo tiempo temperatura minima recibido: x dato. En este punto ya se daran cuenta que los dos datos que estoy enviando me los recibe como uno solo por mucho que envie 100 datos independientes. Busque por internet pero mediante if,while o algun loop no encontrre solucion. ayuda por favor

No me ha quedado muy claro aun lo que quieres hacer, quieres guardar en máximo la temperatura máxima que ha habido y en mínimo la mínima?
De ser así obviamente no te va a funcionar porque estas guardando en ambas el mismo valor.
Tienes que aplicar una serie de reglas if-then, de tal modo que si la temperatura obtenida es mayor que la máxima actualice el máximo, y si la temperatura obtenida es menor que la mínima actualice el mínimo.

Ya te digo que tampoco tengo claro que esto sea lo que quieres hacer…

Por otro lado tu último if es un sin sentido, la temperatura no puede estar por encima del máximo y por debajo del mínimo a la vez.

Yo veo dos códigos incompletos. Coloca todo el código, usa etiquetas para hacerlo </>.Lee el privado que te envié con instrucciones.

Si no vemos el código completo, tu explicas algo que no puedes resolver basado en una parte de código.
Yo veo dos asignaciones

int maximo= bufferString.toInt();
int minimo= bufferString.toInt();

que lucen fuera de contexto (falta el resto del código para entender).

código con setup y loop.

por si acaso pongo el codigo completo de mi monitor serial de c# en windows form por el que envio el dato a mi arduino, pero desde la consola de arduino seria igual

using System;

using System.Windows.Forms;

using System.IO.Ports;
using System.Text;

namespace interfaz_sistema_nft.Presentacion
{
    public partial class MonitorSerialArduino : Form
    {
        Timer clock = new Timer();

        public MonitorSerialArduino()
        {
            InitializeComponent();
            clock.Interval = 500;
            //clock.Tick += new EventHandler(clock_Tick);

        }

        

        private void MonitorSerialArduino_Load(object sender, EventArgs e)
        {
            string[] ports = SerialPort.GetPortNames();
            cbPuerto.Items.AddRange(ports);
            cbPuerto.SelectedIndex = 0;
            bCerrar.Enabled = false;



        }

        private void bAbrir_Click(object sender, EventArgs e)
        {
            bAbrir.Enabled = false;
            bCerrar.Enabled = true;
            try
            {
                serialPort1.PortName = cbPuerto.Text;
                serialPort1.Open();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void bEnviar_Click(object sender, EventArgs e)
        {
            
            try
            {
                if (serialPort1.IsOpen)
                {
                    byte[] mBuffer = Encoding.ASCII.GetBytes("Led13_ON");
                    

                    serialPort1.WriteLine(txtMensaje.Text + Environment.NewLine );
                    txtMensaje.Clear();

                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void bCerrar_Click(object sender, EventArgs e)
        {
            bAbrir.Enabled = true;
            bCerrar.Enabled = false;
            try
            {
                
                serialPort1.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void bRecibir_Click(object sender, EventArgs e)
        {
            try
            {
                if (serialPort1.IsOpen)
                {
                    txtRecibir.Text = serialPort1.ReadExisting();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void MonitorSerialArduino_FormClosing(object sender, FormClosingEventArgs e)
        {
           if(serialPort1.IsOpen)
                    serialPort1.Close();
            
        }

        private void txtRecibir_TextChanged(object sender, EventArgs e)
        {

        }

        private void chMS_CheckedChanged(object sender, EventArgs e)
        {
            try
            {
                if (serialPort1.IsOpen)
                {
                    txtRecibir.Text = serialPort1.ReadExisting();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void txtMensaje_TextChanged(object sender, EventArgs e)
        {

        }

        

    }
}

en realidad lo que importaria del codigo de c# seria esta parte , donde envio el dato que escribo en el “txtMensaje” y lo envio mediante el boton, pero como mencione arriba , enviar el dato desde la consola de arduino daria el mismo resultado.

 private void bEnviar_Click(object sender, EventArgs e)
        {
            
            try
            {
                if (serialPort1.IsOpen)
                {
                    byte[] mBuffer = Encoding.ASCII.GetBytes("Led13_ON");
                    

                    serialPort1.WriteLine(txtMensaje.Text + Environment.NewLine );
                    txtMensaje.Clear();

                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

ahora lo que si importa, este es el codigo completo de arduino

#include <LiquidCrystal.h>
#include <DHT.h>
#define DHTPIN 27
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
int temperatura;
int humedad;



 LiquidCrystal lcd(22, 24, 26, 28, 30, 32);
void setup() {
  lcd.begin(16, 4);
  dht.begin();
  //Iniciamos comunicación con el puerto serie
  Serial.begin(9600);
  
  pinMode(39,OUTPUT);
}
 
void loop() {
  int valor = 22;
  /*
   * Evaluamos el momento en el cual recibimos un caracter
   * a través del puerto serie
   */
   delay(2000);
        temperatura = dht.readTemperature();
        humedad     = dht.readHumidity();
        Serial.println(" ");
        Serial.print("Humedad: ");
        Serial.print(humedad);
        Serial.print("   ");
        Serial.print(" %\t");
        Serial.print("Temperatura: ");
        Serial.print(temperatura);
        Serial.println(" *C ");
        
  if (Serial.available() > 0) 
  {
        //
      
        //
        //Delay para favorecer la lectura de caracteres
        delay(20);
        lcd.clear();
        //Se crea una variable que servirá como buffer
        String bufferString = "";
       
        while (Serial.available() > 0) {
          bufferString += (char)Serial.read();
          
          
        }
     
        //Se transforma el buffer a un número entero
        
        int maxima = bufferString.toInt();
        //int minima = bufferString.toInt();
       
       
        
        Serial.print("Numero1 recibido: ");
        Serial.print(maxima);
       
        Serial.println("  ");

        //Serial.print("Numero2 recibido: ");
        //Serial.print(minima);
        
        

  
        //delay(1000);
        if(temperatura>=maxima){
          digitalWrite(39,1);
        }
        else digitalWrite(39,0);

        /*if(temperatura>=maxima && temperatura>=minima ){
          digitalWrite(39,1);
        }
        else digitalWrite(39,0);*/
  }
  
}

lo que logro hasta ahora:
enviar un 1 dato (maxima) desde c# o la consola de arduino, este dato lo recibo perfectamente en arduino y puedo lograr realizar:

if(temperatura>=maxima){
          digitalWrite(39,1);
        }
        else digitalWrite(39,0);

mi pregunta es como puedo enviar mas de un dato para que pueda hacer lo siguiente:

/*if(temperatura>=maxima && temperatura>=minima ){
          digitalWrite(39,1);
        }
        else digitalWrite(39,0);*/

en resumen: necesito enviar variosos datos desde c#, por ejemplo un dato a (maximo) para que sea mi temperatura maxima y un dato b (minimo) desde c# hacia arduino en tiempo real y por lo tanto poder hacer condicones con ellas