Pregunta

Veo instrucción "printf" en los códigos de muestra de lenguaje C para el microcontrolador particularmente en 8051. Desde los microcontroladores no ha fijado visualización de salida lo es el uso de la instrucción "printf"?

¿Fue útil?

Solución

Lo más probable es que no, para que pueda conectar una consola de depuración, ya sea a través de un puerto RS232, o como salida virtual de un emulador en circuito.

Otros consejos

printf se define para la salida a la salida estándar no es una "pantalla de salida", stdout puede ser cualquier dispositivo de flujo. Típicamente en un sistema sin una pantalla que dará salida a una interfaz en serie (UART), de modo que un emulador de terminal o terminal (HyperTerminal o TeraTerm por ejemplo) se pueden usar como un dispositivo de visualización.

Algunos entornos de desarrollo a implementar "semi-hosting" donde stdio, la entrada estándar, y stderr, e incluso en algunos casos un sistema de ficheros son proporcionados por el anfitrión de desarrollo a través de la interfaz de depuración (JTAG, ICE, SWD etc).

En general, la biblioteca de su compilador le proporcionará ganchos o talones de modo que se puede implementar controladores para dispositivos de corriente alternativa de E / S, así que por ejemplo podría implementar una manera que la salida printf voluntad de una pantalla LCD si el dispositivo tiene una. Esto se llama "retargetting".

Se puede interconectar el microcontrolador al puerto serie del PC y el monitor de datos que

printf

utilizando hyperterminal. También se puede usar con fines de diagnóstico

Algunas herramientas de desarrollo que permite el uso printf dada una implementación de putchar o Putch . En este tipo de herramientas, ya que usted tiene este envío caracteres a algún dispositivo función, printf mostrará los mensajes en ese dispositivo.

Sólo tiene que hacer la inicialización del dispositivo correcto, aplicar putchar, Putch o tal (revise su compilador / lib docs) y listo! Su printf se comportará de la manera que está esperando.

PS: Algunos compiladores / bibliotecas no implementan todos los especificadores de formato printf. Una vez más, revisar sus documentos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top