Veo instrucciones "printf" en códigos de ejemplo de lenguaje c para microcontroladores, particularmente en 8051. Como los microcontroladores no tienen una pantalla de salida fija, ¿para qué sirve la instrucción "printf"?"printf" en microcontrolador, ¿para qué sirve?
Respuesta
Es muy probable que no sea así, por lo que puede conectar una consola de depuración, ya sea a través de un puerto RS232, o como salida virtual de un emulador en circuito.
puede interactuar el microcontrolador al puerto serie del PC y el monitor los datos que
printf
usando HyperTerminal. También puede usarlo con fines de diagnóstico
printf se define para que muestre a stdout no como una "pantalla de salida", stdout puede ser cualquier dispositivo de transmisión. Normalmente, en un sistema sin pantalla, se enviará a una interfaz en serie (UART), de modo que un emulador de terminal o terminal (HyperTerminal o TeraTerm, por ejemplo) se pueda usar como dispositivo de visualización.
Algunos entornos de desarrollo implementan "semi-hosting" donde stdio, stdin y stderr, e incluso en algunos casos un sistema de archivos son proporcionados por el host de desarrollo a través de la interfaz del depurador (JTAG, ICE, SWD, etc.).
Generalmente la biblioteca de su compilador le proporcionará ganchos o talones para que pueda implementar controladores para dispositivos de E/S de flujo alternativos, por ejemplo podría implementar uno para que printf salga a una pantalla LCD si su dispositivo tiene uno . Esto se llama "reorientar".
Algunas herramientas de desarrollo le permite utilizar printf dado una implementación de putchar o Putch. En dichas herramientas, dado que tiene esta función para enviar caracteres a algún dispositivo, printf mostrará los mensajes en ese dispositivo.
Solo tiene que hacer la inicialización correcta del dispositivo, implementar putchar, putch o similar (compruebe su compilador/documentos de lib) y ¡voilá! Su printf se comportará de la manera que está esperando.
PS: Algunos compiladores/bibliotecas no implementan todos los especificadores de formato printf. De nuevo, revisa tus documentos.
- 1. ¿para qué sirve ~~ en javascript?
- 2. System.Web.Abstractions: ¿para qué sirve?
- 3. ¿Para qué sirve __path__?
- 4. ¿Para qué sirve memcache.hash_strategy?
- 5. ¿Para qué sirve ApplicationDomain.domainMemory?
- 6. ¿Para qué sirve PowerShell?
- 7. ¿Para qué sirve pushState?
- 8. ¿Para qué sirve Clojure?
- 9. Cakephp, ¿para qué sirve?
- 10. ¿Para qué sirve SDKDDKVer.h?
- 11. ¿Para qué sirve UnmanagedMemoryStream?
- 12. ¿Para qué sirve Automapper?
- 13. ¿Para qué sirve generator.throw()?
- 14. ¿Para qué sirve Enum?
- 15. ¿Para qué sirve AnyVal.types?
- 16. ¿Para qué sirve cURL?
- 17. C++ para microcontrolador 8051?
- 18. Meta Programación, ¿para qué sirve?
- 19. ¿Para qué sirve ASP.NET MVC?
- 20. ¿Para qué sirve `type_info :: before`?
- 21. Lucene SpanQuery: ¿para qué sirve?
- 22. ¿Para qué sirve WS-Addressing?
- 23. Oficialmente, ¿para qué sirve typename?
- 24. ¿Para qué sirve sql-dump?
- 25. ¿Para qué sirve org.springframework.orm.hibernate3.support.BlobByteArrayType?
- 26. ¿Para qué sirve el operador "==="?
- 27. ¿Para qué sirve este código?
- 28. Para qué sirve Page.LoadComplete (en la práctica)
- 29. ¿Para qué sirve el símbolo $ en JavaScript
- 30. ¿Para qué sirve {code} en Java?
tal vez solo un trozo para el estimulador/depurador? no puede ver sin ver el código fuente de la biblioteca. –