¿Cuál es el papel de la función de retraso?
La función del retraso es permitir que los datos se procesen correctamente. Dependiendo de la velocidad de la CPU, el estado del puerto I0 se puede obtener lo más rápido posible, pero el programa de la CPU obtiene el valor en intervalos de tiempo específicos. Por ejemplo, una velocidad de CPU de 1 microsegundo puede procesar una declaración. Acaba de obtener el estado actual de 10 bits. Si no hay procesamiento retrasado, obtendrá inmediatamente el estado actual de 10 bits como el siguiente bit de datos durante el proceso. procesamiento de bucle.
Solo hay 1 microsegundo de CPU entre los dos. ¿No sería esto incorrecto? Debido a que el protocolo es 104.166...microsegundos, para obtener los datos correctos, debes procesar los siguientes 10 estados. El proceso espera 104.166... segundos antes de comenzar a obtener el valor correctamente. En este caso conviene utilizar un retraso.
Información ampliada:
Análisis de la función de retardo de escritura
La función clock() devuelve el tiempo transcurrido desde el inicio de la ejecución del programa hasta la ejecución del función General?
1ms / CLOCK_PER_SEC, el valor de retorno de la función clock() aumentará en 1. . ?
CLOCK_PER_SEC es una macro definida en el archivo time.h y cada compilador es diferente. . ?
Esto está definido en TC: #define CLOCKS_PER_SEC 18.2?
Esto está definido en VC/BCC: #define CLOCKS_PER_SEC 1000.0?
Ahora analiza la ejecución Durante el proceso de la función, la función pasa la cantidad de segundos, pero la función requiere que la función de reloj se retrase, por lo que la cantidad de segundos debe convertirse en sec*CLOCL_PER_SEC antes de poder compararse con el valor de retorno de la función de reloj. .