Estou fazendo um projeto de interface que, quando conectado a um computador, aparece como armazenamento flash USB e pode digitar como um teclado quando alguns botões físicos na placa são pressionados.
Já vi projetos que fazem um ou outro, mas não os dois ao mesmo tempo.
Eu comecei a trabalhar usando um hub USB e dois chips que estão compartilhando o mesmo armazenamento (já que quero que os botões de tecla de atalho digitem as informações armazenadas na unidade flash também), com um agindo como HID e outro agindo como armazenamento USB, mas isso tem alguns problemas. Primeiro, parece redundante. Em segundo lugar, é difícil de programar, pois toda vez que eu conecto a bagunça nele atribuo aleatoriamente um nome a cada chip, sem uma maneira fácil de dizer para qual enviar o código HID e para onde enviar o código do drive USB. Tenho que conectá-los um de cada vez, o que não funcionará, uma vez que o projeto está na mesma placa. O último problema é que os botões funcionam de forma inconsistente, já que, suponho, os dois chips não estão fazendo um bom trabalho ao compartilhar o acesso ao arquivo de texto que está tentando ler para que o texto seja 'digitado' no computador.
Existe uma maneira melhor de fazer isso usando um arduino atuando em ambas as funções acessando o armazenamento flash? Obrigado!