Paso 4: Menú principal
Encontré la forma más fácil de configurar un dispositivo FTDI en C es usando el menú. Que he proporcionado cinco opciones:
- De conexión rápida
- Lista de dispositivos
- Conecte el dispositivo
- Dispositivo de cierre
- Establecer la velocidad en baudios.
Varias opciones requieren ejecutar otras opciones primero. Por ejemplo, en la pantalla "Conectar dispositivo" antes de que debe ejecutar "Lista de dispositivos". Vamos a caminar a través del código,
- 5-7: variables para el scanf y la instrucción switch que el menú.
- 9-12: Boolean banderas para controlar el flujo del menú.
- 15: queremos un menú que es persistente, por lo tanto, usamos el do-mientras bucle.
- 19-22: vamos a visualizar la información de conexión, pero sólo si tenemos un dispositivo conectado.
- 27-42: imprimimos el resto del menú. Algunos artículos sólo impresión si indicadores booleanos true.
- 44-56: imprime los detalles del dispositivo, si está conectado.
- 58-64: consigue una entrada de los usuarios, convierte a un int, guardarlo, luego selecciona un caso de interruptor basado en entrada.
- 67: la función quick_connect() crea una conexión de FTDI basada en atributos predeterminados.
- 68: establece la variable local baud_rate en la quick_connect() en baudios.
- 71: quedamos ejecutamos la función get_list(), que enumera todos los dispositivos FTDI actualmente conectados a los puertos USB.
- 74: comprobamos si get_list() ha ya sido ejecutado, antes de permitir al usuario conectarse a un device.76: Connect_device() toma un puntero a la celebración del valor de la tasa de baudios el usuario ha seleccionado. Luego intenta conectarse al dispositivo. Si tiene éxito, la función devuelve true.
- 80: sólo permite un dispositivo de cierre, si uno está conectado.
- 82: Close_device() intenta apagar el dispositivo FTDI actualmente conectado. Si tiene éxito, devuelve true.
- 83-84: Si la función de close_device() fue un éxito, la connected_flag se establece en false, para mostrar allí es ningún dispositivo conectado. Entonces, la bandera close_device se restablece falso a prepararse para la siguiente llamada close_device().
- 90: la set_baud() toma un puntero a un valor para la velocidad deseada. La función intenta establecer la velocidad en baudios y devuelve true si tiene éxito.