Buonasera, Mentre scrivevo un programma di gestione per un sensore con protocollo I2C ho notato una mancanza che non ho approfondito in una mia libreria per la gestione del modulo UART di un AVR. In poche parole se devo inviare n byte e il buffer di trasmissione dispone di spazio libero sufficiente per n byte non mi pongo problemi, carico tutti i byte nel buffer e lascio che sia l'HW a gestire il tutto, però se invece mi trovassi nella situazione di non poter caricare tutti e n i byte contemporaneamente nel buffer quale sarebbe secondo voi la strategia migliore? carico tutti i byte che posso nel buffer e a loop rimango in attesa che venga prelevato un byte, carico un byte e via cosi fino all'esaurimento degli n byte, oppure sarebbe meglio riempire il buffer, aspettare che si svuoti del tutto e riempirlo di nuovo?
Il buffer è di tipo circolare con una gestione totalmente software.
Attendo vostri pareri, grazie.
|