pablos:
questa richiesta come è espressamente desctitta non può essere soddisfatta se non usando due micro che eseguono 2 funzioni separate contemporaneamente.Usando lo Scheduler Il micro riesce a gestire la trasmissione seriale e contemporaneamente contunuare a leggere gli input? oppure si ferma un attimino di leggere gli input?
La seconda che hai detto. Avendo un solo core con una unica pipeline, puoi eseguire solo un solo flusso di programma alla volta per cui o sei sul main oppure sulla lettura degli input.
se la seriale ha un timeout di 1 secondo il micro continua a prelevare dati dall'input?
Io dico che non risolve.
Essendo però la MCU composta da diverse periferiche semi-indipendenti, se parliamo di seriale questa è in grado di ricevere dei dati in modo indipendente. Essa ha un buffer hardware in cui mette i pin bit che riceve e compone i dati. Sull'Atmega328 il buffer contiene 1 carattere, per cui se non prelevi quel carattere prima che arrivi il successivo esso viene sovrascritto. E' ciò che infatti fa la gestione seriale dell'Arduino: grazie all'interrupt, quando un carattere è disponibile viene sollevato un interrupt e la relativa ISR prende questo carattere e lo deposita nel buffer software del core di Arduino.
Ora a mente non ricordo il buffer hardware della DUE ma penso che almeno 1 carattere lo tenga per cui se parliamo di seriale, il problema potrebbe non presentarsi.