API para UART

Problema do dia: como definir uma API para uma porta serial, quando ela não existe e é emulada em software através de uma porta USB? Condições de contorno, pra variar não são triviais: não há libc, não há kernel, nem select’s, nem fopen’s.
Fazer a USB se anunciar como um device serial foi a parte trivial do problema, ok, não tão trivial, pois a spec da USB é bastante gigante.

Update: Decidida a API necessária, com essas quatro funções pode-se manipular a vontade uma porta serial-usb:

  • getc
  • putc
  • read
  • write

Leave a Reply

Your email address will not be published. Required fields are marked *