Paso 11: RX
Finalmente nos pasamos las funciones de configuración, llegamos a las funciones que realmente nos interesa. Este es el rx(). Se llama cuando desea obtener el usuario desde el buffer de RX. Hay dos tampones, por cierto. Hay el buffer en el FTDI, que tiene 20 caracteres (creo). Pero entonces, hay el tampón en su PC, que es en gran parte limitada a la cantidad de memoria tiene tu equipo.
RX función la están finalmente pasamos las funciones de configuración! Ahora, para las funciones nos interesa realmente. Este es el rx(). Se llama cuando quieras al usuario desde el buffer de RX. Hay dos amortiguadores de RX, por cierto. Hay el buffer en el FTDI, que tiene 20 caracteres (creo). Pero entonces hay el buffer del ordenador, que es en gran parte limitado a la cantidad de memoria que el equipo tiene. Y recuerde, esto es C. Si configuras tu PC RxBuffer ser limitado a 256 caracteres y caracteres 257, no va a quejarse. Por el contrario, simplemente tienes un desbordamiento de búfer y el infierno tratando de depurarlo. Una vez que la función D2XX ha llamado FT_Read, se borra el búfer de PC. Por lo tanto, obtener los datos que desee equivale a llamar a rx() en el momento adecuado.
La mayoría de nuestras variables declaradas para este módulo se utiliza en las funciones rx() y tx().
- RxBytes tiene cuántos bytes están esperando a ser leído.
- RawRXBuffer es el buffer de RX de la computadora reales. Otra vez, hemos creado este buffer de 2048 caracteres, pero si recibes un número de caracteres 2049 no se quejará. Simplemente tienes una saturación del búfer. Escuchar música siniestra.
- BytesReceived es cuántos bytes se han recibido para ser leído.
- 3: la función de rx() tiene una impresión a opción de la pantalla. Lo que significa, si tenemos datos y llamar a la función rx() pasándole un true, entonces se imprimirá los datos recibidos en la pantalla.
- 6: obtenemos el estado de los dispositivos. Esto nos dirá cuántos bytes están esperando a ser leído (RxBytes).
- 8: es una forma sencilla de convertir los datos recibidos en una cadena, para su fácil análisis.
- 10: si realmente tenemos algunos bytes, permite hacer algo con ellos.
- 13: realmente se carga los datos recibidos en nuestro RawRxBuffer. También consigue cuántos bytes leídos desde la última FT_GetStatus llamar.
- 15: si tenemos algunos bytes y queríamos imprimir, bien, entonces vamos a imprimir.
- 19: este es un punto importante. Aquí es donde quieres poner código para copiar los datos de la RawRxBuffer, a un hogar más permanente.
- 20: si tenemos algunos datos, entonces devolver true.
- 27: Si no conseguimos los datos, devolver false
Llamar a la función rx() como tal,
rx(true);
Esto imprimiría cualquier datos está en el buffer de rx a la pantalla.