TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: rafaliyo86 en 03 de Marzo de 2015, 19:50:26
-
Buenas
Pues el título lo dice, desde siempre me ha gustado todo lo relacionado con la electrónica y cuando veo los proyectos que realizais me quedo asombrado. El tema es el siguiente, me gustaría empezar a estudiar algo que me ayudara a empezar a entender como funcionan los microcontroladores asi como la programación de los mismos.
Cuando digo estudiar me refiero a cursos o grados educativos, soy de los que prefiere dar clases que hacerlo autodidácticamente. Ya que veo que aquí hay bastantes usuarios ya con un nivel muy alto y que en su día tendrían las mismas inquietudes que yo, os pregunto, que estudiasteis en su día para iniciaros?
Ya se que esto no se aprende de un día a otro, es cuestión de tiempo y paciencia pero me gustaría saber por donde empezar. Lo que creo que tengo medio claro es que en cuanto a lenguaje de programación es mejor empezar por basic y despues ir avanzando
Bueno espero podais guiarme un poco, vuelvo a repetir que soy novato y no se nada :(.... aun
-
Buenas me alegra ver gente con ganas de aprender, a ver te cuento mi parte yo soy ingeniero especializado en electrónica industrial, todavía no he terminado la carrera me kedan 3 o 4 asignaturas y actualmente trabajo de diseñador de productos en una empresa. Ahora le verdad todo lo k se lo he aprendido por mi cuenta la carrera solo te sirve para tener un papel k dice k eres ingeniero, pero ni mis compañeros ni los profesores saben practicamente nada hasta tal punto k para encender un led con un microcontrolador les costaría(la gran mayoria no todos). También he trabajado en una empresa de investigación aeroespacial y pasaba lo mismo hay mucha titulitis en este país y son pocos los k se molestan en aprender. Aunk kieras k te enseñen mi recomendación es que te hagas autodidacta y solo tu te pongas las metas.
Un saludo
-
Por cierto si te sirve de ayuda en microcontroladores de microchip yo empecé con ccs y cuando se me quedo corto me pase a mplab, y empecé por los pic18f2550 y 4550 después me cambia a pic32
-
gracias por la respuesta, el tema es que lo he intentado (lo de ser autodidacta digo) pero lo que me cuesta es entender los conceptos básicos. Cuando leo tutoriales, veo ejemplos etc la gran mayoría ya te lo explican como si tuvieras noción pero no es mi caso
Había pensado que este grado superior podría ayudar:
http://www.todofp.es/todofp/que-como-y-donde-estudiar/que-estudiar/familias/electricidad-electronica/mantenimiento-electronico.html
Que opinas?
-
En mi experiencia, cualquier carrera tecnica o a nivel universitario relacionada con la electronica, le va a enseñar sobre electronica basica analogica y digital (que a mi entender es necesario para aprovechar mejor los perifericos de los microcontroladores), por supuesto le van a enseñar microcontroladores pero por el tiempo de las materias, le enseñan lo basico, en este punto es donde no debe olvidarse del consejo de juaperser1 y estudiar bastante por su cuenta, el foro siempre esta a disposición del que quiere aprender. La mayor parte de lo que aprendi lo aprendi en este foro, y me sigue enseñando.
Saludos
-
hla rafaliyo86,
es cierto que sin las nociones básicas te sera mas difícil aprender, en ese caso cualquier ciclo superior o formación profesional relacionada con la electrónica, te debe dar los conceptos básicos, he conocido gente con un grado superior en electrónica, y las nociones básicas las tenían, fallaban un poco en programación, donde ivan un poco escasos, pero eso ya es tiempo por su parte para aprender.
Ese titulo que has pasado te puede venir bien para las nociones básicas, ademas, todo lo que sea ampliar curriculum esta bien, pero sobre todo y lo mas importante es no desanimarte, tendrás asignaturas que nada tengan que ver con la electrónica, pero que no te desvíen de tu objetivo de aprender.
Y como consejo, lo que te vayan enseñando en el grado, ve poniendolo en practica por tu cuenta, desarma aparatos y mira como están hechos, mira esquemáticos.... con todas esas cosas aprenderás mucho.
-
Gracias por las respuestas. Pues si me animaré con el curso así como el estudio por mi parte. Para programacion supongo que lo más fácil empezar por BASIC no? Que programas me recomendais?
-
yo empece por CCS antes de pasarme al mplab, lo primero es que estudies un poco de C, funciones, variables, vectores etc, etc, en el ordenador con alguno como freeC o algo asi, y cuando ya mas o menos veas como va el c empieza por alguna programacion para micros sencillata como basic o ccs.
-
que opinas de este libro pare empezar?
(http://mla-s2-p.mlstatic.com/compilador-c-ccs-y-simulador-proteus-para-pics-incluye-cd-4152-MLA2880152934_072012-F.jpg)
-
Pues no lo conozco, pero seguro k te ayuda a aprender cosas. Además tiene simulación k te va a venir muy bien para k esperimentes circuitos
-
Definitivamente es un buen libro para los que se inician en el mundo de los microcontroladores PIC. Ya que da muy buena enseñanza del lenguaje C (específicamente para el compilador CCS) y le añade un plus al enseñar el uso del proteus, el cual es una herrameinta muy util.
Definitivamente lo recomiendo, yo lei la primera version de este libro y me ha ayudado bastante.
elreypic.
-
Igual podrias buscar cualquier tutorial de C por internet para aprenderlo.
Y tambien lo mas importante sea el datasheet del micro que tengas. Lo idea es comenzar con un micro basico, es por eso que es tan famoso el PIC16F84 ya que no posee nada y aprendes lo basico y mas cuando lo programas en ASM. Ya que C te abstraye un poco del funcionamiento del PIC o como configurar los registros. Hoy en dia no vale la pena usar el 16F84 y es mejor irse a otro como 16F628 o 16f877/16F887 para comenzar por el costo del integrado y las prestaciones.
Creo que el 90% de los problemas que muchas veces la gente pide ayuda se soluciona leyendo el datasheet. El otro 8% debe ser por algun error de programacion, 1.9% hardware y finalmente: 0.1% culpa del micro xD (sino preguntarle a mig con sus PIC32MZ)
-
Yo le tengo mucho cariño a este libro, es básico pero muy completo, para iniciarse a la programación en C con PIC. También son muy interesantes los tutoriales de Juan Ramon Terven Salinas, los que yo tengo son para PIC32, muy buenos, un PDF por capítulo (en español), creo que también tiene algo para PIC18, los puedes encontrar por Google.
En cuanto al compilador, yo en principio no me centraría en eso, y mucho menos en el de CCS, si lees un poco verás que hay muchas quejas sobre ese compilador por la cantidad de bugs que tiene, mejor empieza con MPLAB o MPLABX y el compilador de C de Microchip, y si se te queda corto, mira el del Mikroelektronica, es un buen compilador y bastante económico.
(http://i1322.photobucket.com/albums/u573/planeta9999/ScreenHunter_001_zpsclzc4wrr.jpg)
-
planeta9999 el que indicas es en inglés? aunque entiendo inglés en buena medida, para empezar me gustaría que fuera en español
-
En papel creo que estaba en español, aunque no estoy seguro al 100% ahora mismo, y en formato digital solo lo he visto en inglés.
También puedes echarle un ojo, a los tutoriales en linea de Mikroelektronika, son muy completos y están en español:
http://www.mikroe.com/chapters/view/79/capitulo-1-el-mundo-de-los-microcontroladores/
-
En papel te refieres a formato físico no?
-
En papel te refieres a formato físico no?
Si.
-
Es muy antiguo? Lo digo por si tengo problemas para encontrarlo, he mirado por encima y en amazon sale pero no aqui en España
-
Si, el libro ya tiene un taco de años, es del 98, pero el C sigue siendo C, pasen los años que pasen. El libro solo se centra en el lenguaje, no toca nada de hardware (configuración del oscilador, fuses, etc...), para eso puedes mirar los tutoriales que te he indicado de Mikroelektronika.
Puedes echarle un ojo a la versión digital, la tienes en Emule, y si te convence ya lo compras.
-
He empezado a leer libro que puse en la foto (compilador c ccs y siulador proteus) y por ahora me suena a chino :S. Lo leeré entero y lo volveré a leer varias veces a ver si voy entendiendo cosas
El problema (el mio) es lo que digo siempre, que explican las cosas de forma rápida y poco clara (o por lo menos eso me parece a mi). Creo que sería mas fácil que fueran explicando paso a paso cada función, variable etc.
Bueno lo dicho, leeré el libro una y otra vez
-
Es que en C podrias buscar cuales son los tipos de variables nada mas. Los puertos y todos los demas registros deberias de tomar el datasheet del microcontrolador que estes usando.
Aprenderias muchisimo mas del datasheet sobre la arquitectura y el funcionamiento del PIC que de algun libro de que te enseñe C. Incluso podrias comenzar con ASM un poco nada mas ( nadie exige algo demasiado complejo, tal como prender un led o un display 7 segmentos ) y de alli hacer un programa en C... Pero para C deberias usar cualquier manual de C disponible en internet. ya que se aplica todo, Funciones, definicion de variables, scope, punteros, loops, etc etc.
Con ese libro te estas metiendo en 3 cosas a la misma ves, intentar saber de PIC, saber programar en C y encima crear el circuito para simularlo ( que no es muy complejo este paso ) pero que podrias ir poco a poco.
-
Ya si que me estoy liando. Yo pensaba que el datasheet era basicamente para saber a que correspondia cada pin
-
No solo eso: Por ejemplo tomando el datasheet del PIC16F887
Seccion Memory Organization
Explica como esta organizada la memoria, si es en bancos, asi como la flash suele dividirse en paginas. Tambien explica como hace el micro para obterner los datos, ya sea por acceso directo o indirecto, algunas peculiaridades por ejemplo la instruccion de llamado a una subrutina "CALL" no puede direccionar toda la memoria flash, por lo cual ahi explica que hay 2 registros y que toma de alli uno para llenar los 12 bits de la direccion. Como cambiar los bancos de datos, en que bancos esta cada registro.
Luego en la seccion I/O port
Dice que registros modificar, te muestra un diagrama de como es la salida, da un progrmita ejemplo en ASM para que veas como se configura el puerto, te dice que tengas en cuenta que se inician como analogicos ( en caso que tengan ADC el PIC ), Tambien habla sobre las interrupciones que correspenden a ese puerto. Y usualmente al final te da todos los registros involucrados a ese puerto, de esa forma si tenes que configurar algo sabes que regisotrs y bits influyen en el.
Seccion oscilador
Aca te muestra todos los casos que podes tener, interno , externo ( XT , HS, LP ), te muestra un diagrama del circuito dentro del oscilador.
En fin casi todo lo referente al PIC en cuestion esta explicado en el datasheet. Puede ser complejo de entender al comienzo y mas cuando no programaste nunca nada, como dije por eso muchos comienzan con el 16F84 ya que no tiene ADC, no tiene tanta complejidad el oscilador ( casi no tiene nada ).
Con eso vas a aprender que registros modificar para que tus cosas funcionen.
Como modificarlos ?
Ahi entra el lenguaje que uses, podes usar ASM, Basic (por favor no) y C, en C hay distintos compiladores como CCS, XC8, y seguro que hay otro. Yo aconsejaria ir por el de Microchip ( XC8 ) a pesar que CCS tiene algunas cosas buenas, pero XC8 te va a llevar por un mejor entendimiento del micro en algunos modulos. Ejemplos si quisiera modificar el registro PORTA
En ASM:
BANKSEL PORTA
MOVLW 0x10
MOVWF PORTA
En C:
PORTA = 0x10;
Mucho mas rapido a costa de olvidarte algunas cosas del funcionamiento del micro
Si no tenes idea de C y del PIC, primero leeria un poco de programacion de C, aunque sea lo basico que lo encontras en cualquier lado por internet ( busca tutorial C ) y luego busca un ejemplo que prenda y apague un led, donde seria lo mas basico. Cuando veas el programa te vas a encontrar con cosas como __config(), PORTA, TRISA, etc etc, de alli podes buscarlo por el datasheet o podes preguntar por aca si no encontras nada.
-
Ya si que me estoy liando. Yo pensaba que el datasheet era basicamente para saber a que correspondia cada pin
Léete el tutorial de Mikroe que te indiqué y se te abrirá el cielo, te lo cuenta todo de a la A la Z, para "dummies":
http://www.mikroe.com/chapters/view/79/capitulo-1-el-mundo-de-los-microcontroladores/
Los libros sobre compiladores concretos, como ese de CCS, presuponen unos conocimientos que tú no tienes, y los datasheet son Manuales de Referencia Rápida, no son tutoriales, ni vas a aprender nada leyéndolos si empiezas desde cero. Te interesa un tutorial para PIC, que parta de cero, y un libro genérico sobre C, o una guía rápida de C como la que te recomendé más el tutorial de Mikroe.
-
Pero cuando hablais del tutorial o libro para C, es en general o ya enfocado a microcontroladores?
Este es el que estoy leyendo (y entendiendo) pero no es centrado en microcontroladores:
http://www.elrincondelc.com/cursoc/cursoc.html
-
Eso depende de cuales sean tus perspectivas. Si sabes a ciencia cierta que solo vas a programar en C para micros, mejor busca un tutorial de ANSI C para microcontroladores, incluso hay alguno específico para PIC. Un tutorial de ANSI C, no está contaminado con las particularidades de ningún compilador, pero si ya has decidido que compilador usar, mejor busca un tutorial de ese compilador.
No hay un patrón específico a seguir, salvo que lo tengas muy claro, yo mis primeros pasos en C, los di con Visual Studio para PC, más tarde con los PIC y el C de Microchip, ahora ando con GCC para los STM32, Raspberry y Beaglebone Black y puede que mire Mingw con QT para PC.
En cualquier caso, una vez conoces el C standar, te haces enseguida con cualquier compilador C de cualquier plataforma, es una de las ventajas del C, su gran portabilidad.
-
En principio si, mi idea es empezar con PICS ya que lo que haré en un principio será como "hobby". En cuanto a lo que me indicas de el tutorial ANSI C, que te parece este libro:
(http://2.bp.blogspot.com/-kkX_N90zRiA/VCZVh1a95qI/AAAAAAAAWeg/5zN19OGo8-0/s1600/El%2BLenguaje%2Bde%2BProgramaci%C3%B3n%2BC,%2B2da%2BEdici%C3%B3n%2B-%2B%2BKernighan%2B%26%2BRitchie-FREELIBROS.ORG.jpg)
Por lo que he leído es muy buen libro
-
No lo conozco, pero por lo que dicen, es la Biblia del C, le echaré un ojo a la versión digital a ver que tal. Otro buen libro de C, es el de Aguilar y Zahonero. Si los complementas con un Manual de Referencia del compilador que vayas a usar, y un tutorial sobre PIC, ya tienes lo necesario para empezar.
Yo en su momento lo que hacía mucho, era abrir proyectos ya hechos, se aprende mucho estudiando un fuente. Puedes empezar con ejemplos básicos para encender leds, y leer pulsadores, de paso vas viendo como se configuran los Puertos, el Oscilador, el PLL, el Watchdog, CP, y otros bits de configuración.
(http://i1121.photobucket.com/albums/l518/xmen4001/programacionC_zahonero_zps849hr4bn.jpg)
-
Entonces recapitulando:
Con el libro que he puesto ( o el que me indicas) un compilador (que viendo la cantidad que hay no se cual elegir) y un tutorial sobre PIC (que supongo que con el tutorial te refieres a los comandos que usan, como el que me pusiste pero en vez de BASIC para C) ya tendría lo suficiente para ir empezando no?
Pues poco se necesita para empezar jejeej
-
Entonces recapitulando:
Con el libro que he puesto ( o el que me indicas) un compilador (que viendo la cantidad que hay no se cual elegir) y un tutorial sobre PIC (que supongo que con el tutorial te refieres a los comandos que usan, como el que me pusiste pero en vez de BASIC para C) ya tendría lo suficiente para ir empezando no?
Pues poco se necesita para empezar jejeej
El tutorial que te puse, no es de BASIC, es de C:
http://www.mikroe.com/chapters/view/79/capitulo-1-el-mundo-de-los-microcontroladores/
El tutorial te cuenta TODO sobre los PIC, desde conceptos teóricos básicos a configuracion del hardware, programación y no se si también algo sobre el Debug (supongo que se podrá hacer también con los PIC18, yo solo trabajo desde hace mucho con PIC32). Sobre la programación en C, ese curso está basado en el compilador de Mikroelektronika, si optas por otro compilador, hay también otros tutoriales, pero en el que te he puesto, al menos toda la parte teórica es válida.
Con esos tres documentos, tienes una formación bastante completa. Si quieres echarle un ojo también al Datasheet, pero para empezar marea más que ayuda, hasta que no tengas claro lo básico te sonará a chino. Yo todavía me leo algunos datasheet, que me parecen auténticos jeroglificos indescifrables.
-
El tutorial que te puse, no es de BASIC, es de C:
http://www.mikroe.com/chapters/view/79/capitulo-1-el-mundo-de-los-microcontroladores/
El tutorial te cuenta TODO sobre los PIC, desde conceptos teóricos básicos a configuracion del hardware, programación y no se si también algo sobre el Debug (supongo que se podrá hacer también con los PIC18, yo solo trabajo desde hace mucho con PIC32). Sobre la programación en C, ese curso está basado en el compilador de Mikroelektronika, si optas por otro compilador, hay también otros tutoriales, pero en el que te he puesto, al menos toda la parte teórica es válida.
Con esos tres documentos, tienes una formación bastante completa. Si quieres echarle un ojo también al Datasheet, pero para empezar marea más que ayuda, hasta que no tengas claro lo básico te sonará a chino. Yo todavía me leo algunos datasheet, que me parecen auténticos jeroglificos indescifrables.
Ok, es que en su día busqué uno para BASIC y me salió de la misma página, lo tenía en marcadores y creía que era el mismo XD, este en concreto:
http://www.mikroe.com/chapters/view/84/libro-de-la-programacion-de-los-microcontroladores-pic-en-basic-capitulo-1-mundo-de-los-microcontroladores/
Pues intentaré empezar con todo eso, a ver como se me da. Ya os iré contando/consultando
Gracias again
-
En principio si, mi idea es empezar con PICS ya que lo que haré en un principio será como "hobby". En cuanto a lo que me indicas de el tutorial ANSI C, que te parece este libro:
(http://2.bp.blogspot.com/-kkX_N90zRiA/VCZVh1a95qI/AAAAAAAAWeg/5zN19OGo8-0/s1600/El%2BLenguaje%2Bde%2BProgramaci%C3%B3n%2BC,%2B2da%2BEdici%C3%B3n%2B-%2B%2BKernighan%2B%26%2BRitchie-FREELIBROS.ORG.jpg)
Por lo que he leído es muy buen libro
Este es el papá de todos los libros de C, ya que fue escrito por los mismos creadores del Lenguaje C. Yo lo tengo pero en Inglés, no sabía que existiera una edición en español.
Elreypic
-
Otro libro interesante sobre PIC18F y programación en C, lo tienes en papel y en digital.
(http://ecx.images-amazon.com/images/I/51ZyY6Vw0XL.jpg)
-
Una pregunta a nivel curiosidad (a esto no se si llegaré algún día XD), normalmente un microcontrolador da órdenes (ya sea a un led, LCD u otros dispositivos) pero, ¿y si quieres coger una señal de un dispositivo? ¿Se puede?
Es decir, pon que se te rompe un mando del televisor, puedes hacer que un microcontrolador sustituya esos botones con otros que tu añadas, o lo mismo pero con un reproductor dvd? no se si me explico
-
¿y si quieres coger una señal de un dispositivo?
Si se puede totalmente. Los pines pueden funcionar tanto como salidas y como entradas. Tomando un simple valor ( 0 o 1 ) o directamente hay pines dedicados a algunos estandar ed comunicacion como SPI / UART / CAN / LIN y tambien paralelos.
Es decir, pon que se te rompe un mando del televisor, puedes hacer que un microcontrolador sustituya esos botones con otros que tu añadas, o lo mismo pero con un reproductor dvd? no se si me explico
Los controles remotos usan leds infrarojos, y lo trabajas lo mismo que un led encendiendo y apagandolo.
Obviamente todo tiene una forma de encenderlo y apagarlo, existen varios protocolos, un de los mas conocidos y ya viejitos:
http://en.wikipedia.org/wiki/RC-5
Tambien creo que esta el de NEC, RC-6, y seguro alguno mas.
Lo que si, si ya esta roto por ahi es complejo encontrar como es que se comunicaba a no ser que pruebes todos los protocolos y veas cual funciona.
Tambien no creo que puedas agregar mas botones, ya que el tele solo acepta ciertos codigos nomas. Pero podrias hacer que controle 2 aparatos con uno. Lo mas complejo es la creacion de la placa y el estuche para que no te quede algo inmanejable
-
gracias por la respuesta KILLERJC, a eso supongo llegaré alguno día XD
-
¿Sabeis dónde se pueden comprar libros antiguos en papel? Quiero comprar el del Lenguaje C pero es tan antiguo que no lo encuentro por ningún lado
En versión digital si que lo encuentro
-
No lo pdoes llevar a una libreria para que te lo impriman ?, que lo pasen a la fotocopiadora y listo :3
-
En La Casa del Libro (http://www.casadellibro.com/libros/otros-lenguajes/118006007/4/2?ordenar=10) tienen muchos libros de informática, pero el de Dennis Ritchie en concreto, hace tiempo que lo tienen AGOTADO (http://www.casadellibro.com/libro-el-lenguaje-de-programacion--c-2-ed/9789688802052/229011), y no creo que se vuelva a editar. Lo puedes encontrar en Amazon (http://www.amazon.es/gp/offer-listing/9688802050/ref=olp_tab_all), de segunda mano, pero te va a costar un pastón, creo que más que como libro se vende como producto de coleccionista, por lo que representa.
El de Joyanes y Zahonero (http://www.casadellibro.com/libro-programacion-en-c-2-ed/9788448198442/1044110), si que lo tienes en stock en La Casa del Libro. Si haces una ordenación por los más vendidos, sale por arriba, "C/C ++: CURSO DE PROGRAMACION 2015" de MIGUEL ANGEL ACERA GARCIA (http://www.casadellibro.com/libro-cc--curso-de-programacion-2015-manual-imprescindible/9788441536234/2388781), no lo conozco pero es una edición reciente y tiene muy buena pinta.
-
Pues si, leyendo un poco el de miguel angel acera tiene muy buena pinta
-
En cuanto a compilador (para los ejemplos básicos de c, no ya orientado a microcontroladores) que me recomendais? Me he bajado el codeblocks pero no hay manera de que me compile :(
-
En compilador de C gratuito para PC, tienes el Mingw, que es la versión de GCC para Windows. Te debería de funcionar desde cualquier IDE, como QT Creator, Code::Blocks, Visual Studio, Dev.C++, Geany, etc...
-
En compilador de C gratuito para PC, tienes el Mingw, que es la versión de GCC para Windows. Te debería de funcionar desde cualquier IDE, como QT Creator, Code::Blocks, Visual Studio, Dev.C++, Geany, etc...
Si, eso es el que he descargado con el Code::Blocks, pero funciona cuando le parece
-
No he trabajado nunca con Mingw, para programar en el PC uso Visual Studio con el compilador nativo. Revisa que has configurado correctamente los paths para la búsqueda de las librerías que añadas con los includes. También tendrás que comprobar toda la parametrización del compilador y del linkador, mejor si consigues algún ejemplo ya hecho para ese compilador, y estudias los parámetros que se le añaden en la llamada a ambos.
-
Al final me he pillado el libro de Miguel Angel Acera, la verdad está muy bien pero aún siendo novato genera dudas. Por ejemplo, ahora mismo estoy con getch, getche y getchar. Pero en este ejemplo me queda una duda:
#include <stdio.h>
int main(void)
{
char letra;
printf("Introduzca una letra\n");
letra = getchar(); // Coge el valor de la letra y lo almacena
letra = letra + 1; //Ahora incrementa el valor en 1
printf ("\nEl valor de la siguiente letra ASCII es: %c", letra);
fflush(stdin);
getchar();
return 0;
}
Ese último getchar no entiendo porqué se pone, dado que si lo quito el programa funciona de la misma forma (al igual que el return 0;)
-
Como bien dices el programa funciona bien sin el ultimo getchar();
no estoy seguro pero creo que lo hace simplemente para limpiar el buffer, y leer un null y asi limpiar, pero como bien dices debe funcionar igual si lo quitas.
-
¿ Has probado a lanzar el ejecutable desde Windows ?, no creo que se comporte igual si lo lanzas directamente desde una ventana DOS. Esto me suena de mis primeras prácticas con Visual Studio al crear aplicaciones de consola, si no le ponía un punto de ruptura haciendo Debug o un getchar, el programa terminaba sin poder ver lo que había sacado por pantalla.
El return 0, puede ser que dependiendo del compilador, te de error en tiempo de ejecución si no lo pones al salir del main en una aplicación de consola.
Presupongo que estás haciendo las prácticas en un PC, porque a un microcontrolador no le va a afectar, aunque tampoco tiene sentido dejar que el programa escape del main, excepto en prácticas de PC con programas de consola.
-
Exactamente lo que dijo juaperser1
Si mientras esta mandando el mensaje de vuelta o haciendo otra cosa, llega una letra mas..
Por ejemplo presionaste o se mando 2 veces la letra A, esa ultima letra se omite..
De no poner ese getchar() , que lo unico que hace es leer el buffer de recepcion si es que hay algo. Podria ocurrir ( suponiendo el caso anterior ) que se repita 2 veces el mensaje.
Pero podrias pensar que si mandas 3 esto no sirve.
Imagino que no es asi por que debe tener solo un nivel el buffer de recepcion. Y de recibirse un tercer dato este sobreescribiria el 2do, y tu getchar limpiaria ese 3er dato.
EDIT: Ya no se si esto es sobre PIC o compilador en Windows, si es sobre PIC es valido lo mio, sino ni lo mires xD
-
EDIT: Ya no se si esto es sobre PIC o compilador en Windows, si es sobre PIC es valido lo mio, sino ni lo mires xD
Si es sobre windows, yo diria que es lo que dice planeta9999, sera para hacer una espera sin que se cierre la ventana hasta que no pulse una tecla.
-
Ahora mismo es sobre windows. Con PIC no me quiero poner hasta que tenga una base jeje