Red de conocimientos sobre prescripción popular - Remedios caseros - ¿Qué tipo de datos es __IO int32_t?

¿Qué tipo de datos es __IO int32_t?

Compruebe si hay definiciones predefinidas en el archivo de encabezado

#define __IO volatile /*!< define permisos de 'lectura/escritura' */

El papel de volátil es arbitrario. Cada búsqueda encontrada

volatile afecta los resultados de la compilación del compilador. Se señala que las variables volátiles pueden cambiar en cualquier momento. Las operaciones relacionadas con variables volátiles no deben compilarse ni optimizarse para evitar. errores (VC ++ está generando lanzamiento. La compilación y optimización se realizarán cuando se publique el código ejecutable, y las operaciones relacionadas con variables con la palabra clave volátil no se compilarán ni optimizarán).

Por ejemplo:

volatile int i=10;

int j = i;

...

int k = i;

volatile le dice al compilador que i puede cambiar en cualquier momento. Cada vez que se usa, debe leerse desde la dirección de i, por lo que el código ejecutable generado por el compilador. se volverán a leer los datos de la dirección de i y se colocan en k.

El método de optimización es que debido a que el compilador descubre que el código entre las dos lecturas de datos de i

no ha operado en i, leerá automáticamente los últimos datos colocados. tinta. En lugar de leer de i nuevamente. De esta manera, si i es una variable de registro o representa datos de un puerto, es propenso a errores, por lo que volátil puede garantizar un acceso estable a direcciones especiales sin errores.