Red de conocimiento informático - Material del sitio web - Problemas al utilizar estructuras en keil C51

Problemas al utilizar estructuras en keil C51

El cartel no entendió la estructura de 51.

Aunque la mayor parte de lo dicho anteriormente es una tontería, puede que no sea de mucha ayuda para tu proyecto

Pero al menos lo tiene. Así es. Configurarlo en xdata puede resolver tu problema.

Aunque no es una buena idea.

Hay tres tipos de 51 RAM.

Tus 128bytes están direccionados directamente internamente y 128bytes internamente de manera indirecta

También hay ram externa

Tu microcontrolador 51 tiene 512bytes

Entonces debe ser interno direccionamiento directo e indirecto 128

Más 256 bytes externos

Puedes simplemente cambiar todos los datos más grandes a la declaración xdata.

Por supuesto, si puedes controlarlo. el tamaño de la RAM Si es así... es más eficiente usar la declaración idata

Por ejemplo, unsigned char yy;

Escríbalo como unsigned char xdata yy;

(Puedes ver el tuyo El resultado de la compilación muestra data=137, xdata=0, code=4856

Deberías adivinar por qué se usa xdata

Finalmente, sugiero al autor Es mejor no usar printf en la función keil c51 (un desperdicio)

Regrese y observe la estructura de 51 con atención. Luego observe las diferencias entre keil c51 y ansi c

.

Te será útil

Si te ayuda, recuerda aceptarla como una respuesta satisfactoria, ¡gracias!