# Atmel vs Microchip



## Meta (Feb 21, 2008)

Me gustaría saber cual de los dos marcas es mejor. Microchip es el dominante de los microcontroladores, Atmel por lo que he visto parece ser superior, me dio esa impresión, tiene 93 instrucciones.

16F84 es equivalente al AT90S1200 por lo que me han comentado, digamos que es su hermano.

1- ¿Qué opinan?

2- ¿Qué µC les parece más fácil de programar entre un PIC y AVR?

PD: No es por nada, pero siento curiosidad de entender el atmel como los microchip.

Saludos.


----------



## pepechip (Feb 21, 2008)

Hola
Cuando comence a introducirme en el mundo de los microcontroladores, me surgio la misma duda que ati, asi que pense que ya que me ponia a estudiar el funcionamiento de un micro, lo haria con la marca que me afreciera mas prestaciones, asi que intente recopilar información sobre el Atmel, pero tube que desistir y pasarme a Microchip ya que la información que hay sobre Atmel es bien escasa.
Como solemos decir en mi ciudad "le doy una patada a una piedra y debajo seguro que salen varios tutoriales y ejemplos con microcontroladores de micropic"

Mi consejo es que aprendas bien el funcionamiento con Microchip, y cuando los manejes correctamente y si tienes la necesidad te pases a Atmel

Saludos


----------



## fernandob (Feb 21, 2008)

hola, lo que dice el colega es correcto.

yo cometi el error de comenzar con national (cop8) que para mi NATIONAL exisitio siempre ..............y dejaron de traer los cop8.

metete en algo que sepas que siempre tendras y que conseguiras información facil.

mañana en tu pais hay un problema con importaciones y perdiste.
o la empresa se funde .....

yo dudaba entre lso PIC y los de motorola.
y me meti con pic.

ADEMAS , para que la incertidumbre te deje dormir:
no te calentes, las grandes marcas, las que estan mas, siempre compiten entre ellas.
si hoy motorola saca uno que tiene ademas de perro guardian un gato......
en unos meses las demas haran lo mismo.
si PIC saca un modelo que lo dejas en la placa y busca sus agujeros y se suelda solo ...en unos meses los otros sacaran uno similar.

son mas rapicos en la competencia que nosotros en nuesras necesidades.

SI PODRIAS HABLAR DE UNA SELECCION ESPECIAL si sos ingeniero y te vas a dedicar a alta gama, y no tenes drama de importacion y ademas los lenguajes lso aprendes por ser ing. en poco tiempo, etc.
los pic son rompebolas con lo de posicionarse en la pagina ....el bit ese que si te lo olvidas....  

que pelotudez !


----------



## Meta (Feb 21, 2008)

Hola a los dos.

¿Qué tal José?

Soy Técnico especialista de electrónica de comunicaciones de FP-II y C.F.G.S. de Sistemas de Regulación y Control autmáticos. ME meteré otro dos años en programación de aplicaciones windows y después en la UNED de la ingeniería de electrónica.

Muchos creen que para saber cosas hay que ser ingeniero, pues no, ingeniero más bien teoría y técnico práctica. Si tienen los dos mejor que mejor.

Bueno, Mi preferido son los PIC, los de Atmel lo pregunto por curiosidad y por probar algo que no he probado. Sólo por eso. Deberían meter más información los Atmel si quieren vender.

Con autómatas o PLC industriales, en clase damos todas las marcas que hay en el mercado. Por eso no tengo miedo a meterme con otras marcas y ver como son.

Pueden seguir opinando.

Sólo quería saber que dificulta tiene entre los dos. or ahora Atmel lo veo complicado.


----------



## microtronic (Feb 24, 2008)

krotalon dijo:
			
		

> HOla, creo que todos sus comentarios son enteramente acertados, microchip tiene la ventaja de que encontramos tutoriales de todo tipo en todas partes, documentacion a montones y en todos los idiomas, ademas de que te pueden incluso mandar muestras gratis. Es una enorme ventaja. Sin embargo, la arquitectura de los pics deja mucho que desear, por ejemplo, una de las cosas mas engorrosas de los pics son los bancos, temos que estar cambiando de banco en banco para hacer una configuracion, y en ocaciones tenemos que hacer mas de un salto. se necesitan 4 ciclos de reloj para un ciclo de instruccion, por el problema de los bancos en ocaciones tenemos que tener encuenta la paginacion, etc, etc, etc.
> Yo comence mi aprendizaje a los micros con la linea de atmel, y una vez que vi la arquitectura de los pics se me hace muy chafa. Tienen muchas ventajas sobre los pics.
> Sin embargo si quieres comenzar tu intruccion en microcontroladores y quieres seguir con la marca de microchip te recomiendo que empieces con los pic18 que tienen una arquitectura un poco mejor.
> Ha por cierto, estoy empezando un curso interactivo de microcontroladores de la linea de atmel y necesito gente que me ayude. Saludos y hasta pronto



a esta bien y que ya te dieron el material es online el curso..es de laserie avr me imagino


----------



## Meta (Feb 24, 2008)

Buen comentario, quería saber sobre arquitectura sobre PIC y AVR. La verdad que *si Microchip no ha cambiado la arquitectura sobre bancos de memoria, es porque no ha tenido la necesidad de hacerlo* y la mayoría de las personas las aceptas. La verdad no me preocupa los bancos de memoria por ahora, será que uso el pic 16f84a y no es gran cosa.

Con el tiempo, Microchip sacarán pic nuevos y los más nuevos son el PIC32 que no se como es su arquitectura, en cuanto a 8Bits son los de 18F2550 por poner un ejemplo. Si cambian algo del 8bits en el futuro ya entraría a otra arquitectura cosa que no se sabe si seguirán con los bancos de memoria.

Lo malo que no he visto ni un solo libro de Atmel en español como los pic que hay para elegir tanto en asm como en C.

A ver si hacemos entre todos un minicurso de AVR en español. Dicen que para empezar al estilo del 16f84a es el AT90S1200 ya que es similar.

Saludos.


----------



## Meta (Feb 24, 2008)

¿Cómo te podemos ayudar con el curso de Atmel?

Me gustaría, pero soy nuevo con microcontroladores?

Si vas hacer esquemas ejemplo de diseño de un proyecto como un dibujo técnico de un ascensor controlado con un pic o avr, lo puedo hacer con AutoCAD, y si te hace falta algo de Photoshop, también me defiendo. Quizás con esto sirva de algo.

Puedes decir qué tipos de ayuda.


----------



## Leon Elec (Feb 25, 2008)

Meta dijo:
			
		

> Buen comentario, quería saber sobre arquitectura sobre PIC y AVR. La verdad que *si Microchip no ha cambiado la arquitectura sobre bancos de memoria, es porque no ha tenido la necesidad de hacerlo* y la mayoría de las personas las aceptas. La verdad no me preocupa los bancos de memoria por ahora, será que uso el pic 16f84a y no es gran cosa.
> 
> Con el tiempo, Microchip sacarán pic nuevos y los más nuevos son el PIC32 que no se como es su arquitectura, en cuanto a 8Bits son los de 18F2550 por poner un ejemplo. Si cambian algo del 8bits en el futuro ya entraría a otra arquitectura cosa que no se sabe si seguirán con los bancos de memoria.
> 
> ...



¿Has visto los dsPIC?

La razón principal por la que Microchip sigue con la misma arquitectura, es porque ellos apuesta a que los programas ed una familia, se pueden mucar a otras sin muchos problemas. Apenas con algunos cambios, el programa te sirve.

Como Microchip vió que su arquitectura no estaba al nivel de sus competidores, puso en el mercado los dsPIC. Estas familias de Microchip, son muy buenos.


----------



## Meta (Feb 25, 2008)

Yo hablo los PIC de 8 bits y los dsPIC son de 16 bits, tampoco nombro a los PIC32 que dicen ser buenísimos.

Cuando uno hace una arquitectura, con el tiempo sea la marca que sea envejece y harán otra nueva. Además hicieron los de 18F.

Aún así en todas partes Microchip es el lider mundial sobre microcontroladores. Creo que  es por la estrategia de soltar muchos manuales, tutoriales, ejemplos, MPLAB gratis, etc cosas que otros no le llegan a su altura.

Bueno, los dsPIC la verdad que casi nadie los veo usar, más bien utilizan los 18F antes que los dsPIC.

LA verdad no encuentro manuales o ayudas de los dpPIC como encuentro de los 18F. AL gente no veo que usen mucho los dsPIC que digamos, ojalá empiece fuerte, más bien veo  unos cuantos con el nuevo PIC32 cosa que tampoco encuentro manuales sobre ellos.

Los AVR no he encontrado ningún manual como los 16F84A. En cuanto a Motorola si los he visto y de varios tipos. En lsa universidades se usan mucho motorola, cada vez más veo a universidades que se centran en los PIC y abandonan a Motorola.  Por algo será.

A ver si veo algunas vez un AVR para aprenderlo y comunicarlo con PIC y AVR, *16F84A* y *AT90S1200*.


----------



## Bthunder77 (Feb 25, 2008)

Por lo que veo la moyoria trabaja con los PIC, yo trabajo con ambos y empecé con los AVR, son un poco mas dificiles de programar en ASM por la cantidad de instrucciones que tienen, pero la diferencia es que esta cantidad de instrucciones esta pensada para la programación en C y es mas sencillo ya que necesitas menos instrucciones para realizar algo que con el PIC, estoy de acuerdo que comercialmente hay mas PICs y es por eso que me meti a programarlos, pero personalmente me agradan mas los AVR ya que con un mismo cristal son hasta 4 veces mas rapidos que un PIC por la  arquitectura que tienen. Y si necesitan información y aplicaciones en la pagina de Atmel encuentran todo y hay muchas paginas donde pueden encontrar ejemplos y todo eso para comenzar a programar.


----------



## krotalon (Feb 25, 2008)

En efecto, ese es el punto, la arquitectura de los avrs es mucho mejor,  por lo que para diseño me garantiza un menor tiempo y muchas mas ventajas. Ahora que si se requiere solo prender y apagar foquitos, pues se puede empezar con  los picaxes que son mas faciles de programar pero con menos prestaciones. y es verdad, microchip ha lanzado una serie dispositivos de todas las gamas, para todas las aplicaciones,  pero de igual manera atmel y para muestra, atmel ya teniene en el mercado los avr32 desde hace mucho, y microchip acaba de lanzar su gama a 32. Supongo que la ventaja que tiene microchip es su enorme difusion de sus componentes. Ahora solo quedaria una pregunta, que es preferente? Un micro con mucho mejores capacidades o un documentacion y distribucion mejor del otro?


----------



## Meta (Feb 25, 2008)

por toda partes están diciendo que los PIC32 de Microchip son mejores que los AVR32. Mo opinión es ni idea, tal vez sea cierto ya que el diseño salió más tarde y han mejorado y corregido de errores de otras empresas. PAra ser nuevo, está muy aceptado ese PIC32.

Ahora me interesa los de 8Bit, y me acaba de decir por otros sitios que, que los de Gama alta de 18F está muy bien. Mucha gente prefiere los PIC, que nada, no hay manera que prueben con los dos. Yo al menos probaré los dos a ver que tal. PIC 18F tiene 77 instrucciones y lo veo más fácil ya que puedes elegir las instrucciones que te de la gana. Los 18F están orientados a C y son muy completos

Eso si, siempre mi base será los PIC y ahí le mandaré caña, también como alternativa me estudiaré los AVR como curiosidad y otros fabricantes. Con el tiempo, haré una Web sobre electrónica y microcontroladores, con muchas fotos y videos.



PD: *Hay muchos libros sobre PIC en español, ¿Por qué no hacen uno de AVR? ¿Hay libros españoles sobre Motorola o otras marcas?*


----------



## microtronic (Feb 25, 2008)

krotalon dijo:
			
		

> En efecto, ese es el punto, la arquitectura de los avrs es mucho mejor,  por lo que para diseño me garantiza un menor tiempo y muchas mas ventajas. Ahora que si se requiere solo prender y apagar foquitos, pues se puede empezar con  los picaxes que son mas faciles de programar pero con menos prestaciones. y es verdad, microchip ha lanzado una serie dispositivos de todas las gamas, para todas las aplicaciones,  pero de igual manera atmel y para muestra, atmel ya teniene en el mercado los avr32 desde hace mucho, y microchip acaba de lanzar su gama a 32. Supongo que la ventaja que tiene microchip es su enorme difusion de sus componentes. Ahora solo quedaria una pregunta, que es preferente? Un micro con mucho mejores capacidades o un documentacion y distribucion mejor del otro?



jaja eso es como la pregunta de porq utlizas windows?porq es tan popular porq todos las compañias de software crean sus aplicaciones para este so..y no para linux, q es mas potente etc.


----------



## Leon Elec (Feb 25, 2008)

Una de las razones por la cual Microchips avanzó mucho en el mercado, fue por los Samples. Las demás companías se vieron obligados a hacer lo mismo, pero en ese tiempo en que estaba microchip (lanzándo Samples) se ubicó en un buen lugar.

Hay muchas más razones por lo que se está prefiriendo a los PIC, y es por su gran facilidad de programar.


----------



## Meta (Feb 25, 2008)

La verdad es que oigo mucho que PIC es fácil programar, para mi no, lo veo complicado, me refiero en asm. Gracias al libro www.pic16f84a.com cada vez lo veo más fácil. Ya que te habla de 35 instrucciones, pues para trabajar con otros PIC 16F es fácil adaptarse.

A ver si sacan libros como cosos esos en AVR. 

Si concen en alguno sobre Motorola o otra marca, lo nombran aquí.

Hablando de Motorola, pues oigo a la gente por ahí hablar más de PIC y Motorola que los AVR, en Universidades se usan estos dos, cada evz más los PIC sobre todo el 16F84A en asm.

No sólo los ejemplos que Microchip le dio el éxito, sino que su MPLAB lo hizo gratuito para los demás y empresas.

Por cierto, *¿Cómo se llama el sowtware de AVR oficial?*

Microchip es el MPLAB 8.x desde su Web http://www.microchip.com/stellent/i...E&nodeId=1406&dDocName=en019469&part=SW007002

Para comparar. (Espero que los AVR también enseñen asm como Microchip)


----------



## krotalon (Feb 25, 2008)

el sofwere oficial de los avr's es el avr studio, y lo puedes bajar gratis de la pagina de atmel  y aqui esta el link  http://www.atmel.com/dyn/products/t...family_name=AVR%AE+8%2DBit+RISC+&tool_id=2725
y se programa en ensamblador. los avrs estan creados especialmente para ser programados en lenguaje c sin embargo el compilador en c no viene incluido dentro del estudio, aun no lo tengo pero creo que lo conseguire pronto..


----------



## Meta (Feb 25, 2008)

_Ya te escribí en tu correo que si participo._ 

Te puedo ayudar con* AutoCAD* para diseño de planos o objetos ejemplos en 2D y 3D, *Photoshop* para tratamiento de imágenes o diseño gráfico muy bien para hacer tutoriales, *Electrónica general* para circuitos.

EDIT:
Si hay un libro de freescale es español, por fin algo así, falta los AVR en español, _parece que los autores de libros no quieren perder el tiempo con ellos._ Si puedes, nos dice el libro o la web principal del libro.

EDIT2:
Me bajé el *AVR Studio 4.13 SP2 (build 571)  (45 MB, updated 12/07)* que el archivo se llama *AVRStudio4.13SP2.exe* con 45.1 MB y me dice un error:

*AVR studio 4.13 must be installed*

Parece ser que nos diste un enlace sobre actualizaciones, no el programa principal.

EDIT3:
He encontrado el libro, no se si es el mismo que vistes lo pongo aquí y lo conformas.

http://alfaomega.internetworks.com.mx/libros_virtuales/motorola/moodle/


----------



## microtronic (Feb 25, 2008)

krotalon dijo:
			
		

> el sofwere oficial de los avr's es el avr studio, y lo puedes bajar gratis de la pagina de atmel  y aqui esta el link  http://www.atmel.com/dyn/products/t...family_name=AVR%AE+8%2DBit+RISC+&tool_id=2725
> y se programa en ensamblador. los avrs estan creados especialmente para ser programados en lenguaje c sin embargo el compilador en c no viene incluido dentro del estudio, aun no lo tengo pero creo que lo conseguire pronto..



la version nueva 4.13 con sp2 ya trae integracion para programar en c con el winavr que es gnu.. te descargas el winavr 
http://winavr.sourceforge.net/
y listo el se integra solo con el avrstudio y programa y simulas desde el avrstudio en c...


----------



## microtronic (Feb 25, 2008)

Meta dijo:
			
		

> _Ya te escribí en tu correo que si participo._
> 
> Te puedo ayudar con* AutoCAD* para diseño de planos o objetos ejemplos en 2D y 3D, *Photoshop* para tratamiento de imágenes o diseño gráfico muy bien para hacer tutoriales, *Electrónica general* para circuitos.
> 
> ...



lo q pasa es que primero te bajas la version completa 4.13 y instalas despues la actualizacion 4.13


----------



## microtronic (Feb 25, 2008)

aunque meta lo mejor es concentrarnos en 2 familias los pic y los avr los motorolas dejemolos para otro dia si no nos vamos a volver locos


----------



## Meta (Feb 25, 2008)

microtronic dijo:
			
		

> aunque meta lo mejor es concentrarnos en 2 familias los pic y los avr los motorolas dejemolos para otro dia si no nos vamos a volver locos



La verdad es que si, los Motorola te lo pintan como gran cosa, como muy potente y este libro lo hace tentativo, en cambio prefiero los *PIC* y *AVR*.

Menos mal que le dieron por hacer un grabador PIC y AVR, con el tiempo harán también para Motorola y otros pic y eeprom.

http://www.winpic800.com//index.php?option=com_content&task=blogcategory&id=23&Itemid=89

_PD: No conosco a nadie en la calle que haya oído hablar de los AVR, solo PIC y Motorola, lo que enseñan en las universidades, algunos cursos del paro y C.F.G.S. en España. Conocí los AVR cuando vi un Webserver, es decir, un servidor con un microcontrolador que tenía Web dentro creado por ti mismo y que todo el mundo podía acceder a él. Este Webserver también controla dispositivos a distancia como otros Pic desde Webserver. También me enteré que en los Routers dicen que utilizan AVR y Motorola, los más usados y PIC están empezando ahora. Por eso me llama la atención los AVR, los veo potente hasta en capacidad del flash._


----------



## microtronic (Feb 25, 2008)

Meta dijo:
			
		

> microtronic dijo:
> 
> 
> 
> ...



los motorola tengo entendido que se utlizan mucho en telecomuniaciones e instruimetancion


----------



## krotalon (Feb 25, 2008)

pues si me gustaria realizar unas animaciones en autocad o programas de diseño en 3d  pero eso apenas me estoy metiendo, estoy probando con 3d max studio y estrata, pero apenas estoy en pañales, talvez use animaciones en flas o algunas cosas asi para hacer mas entendible el tutorial, de hecho esa es la idea, tendremos que ponernos deacuerdo en como estructurar el tema. supongo que habria que inicar con unas plantillas de unos circuitos en 3d. me gustaria empezar de una vez no con un at902313 o un tiny2313, sino con un mega8, es un micro con muchas prestaciones, tiene un tamaño reducido, ademas de que lo puedo conseguir con facilidad y a un precio bastante competitivo.
en cuanto al avr studio hay que bajar el compilador (build) es gratis, solo te pide que te registres.


----------



## Meta (Feb 25, 2008)

Pues parece ser que si, aunque veo que los PIC hacen lo mismo y cada vez más.

http://alfaomega.internetworks.com.mx/libros_virtuales/motorola/prologo/prologo.html


----------



## krotalon (Feb 25, 2008)

asi es, he abierto algunos aparatos y me he encontrado con que cuentan con la tecnologia de atmel, es una marca mundialmete usada para diseño embebido. En lo particular no he visto diseños industriales con pics, no dudo que daba haberlos.


----------



## Meta (Feb 25, 2008)

He visto el Webserver con pic en una tienda de electrónica que lo venden sin caja, sólo la placa y el PIC programado. también otra placa con gsm incorporado para soltar mensajes de alarmas y avisos hacia tu movil.

Los AVR en Webserver y Motorola son los más usados. Los PIC están empezando ahora, Microchip no quiere quedarse atrás. Se quedaron atrás cuando hicieron los PIC32 tarde. He leído en otros foros que la arquitectura de 64bit la tienen hecha, pero no la venden. Quizás están esperando que se distribuya bien los PIC32 o cuando la competencia del suelte primero los 64bit, Microchip ataca.

Bueno, no tenía previsto hacer nada en 3D, el 3D es para dejar algún documento bonito. La 2D si hace falta, quizás algún diagrama de flujo hecho con Visio 2007.

¿Cuánto tardan en hace un tutorial rápido sobre Altium Designer? Por ejemplo, Iniciar un proyecto, guardar el proyecto, primera placa de una cara, etc...

Sería buena idea que es lo capaz se peude hacer con Altium designer, es decir, ¿tiene simulación como Proteus? Cosas así, apra dejar claro como es el programa. Muy bonito pero difécil de manejar.

PD: _Creo que somos los primeros en hacer un manual completo con el tiempo sobre Altium Designer. Mejor pasarlo a PDF para que no nos copien otros y digan que fueron ellos los autores._


----------



## microtronic (Feb 25, 2008)

Meta dijo:
			
		

> He visto el Webserver con pic en una tienda de electrónica que lo venden sin caja, sólo la placa y el PIC programado. también otra placa con gsm incorporado para soltar mensajes de alarmas y avisos hacia tu movil.
> 
> Los AVR en Webserver y Motorola son los más usados. Los PIC están empezando ahora, Microchip no quiere quedarse atrás. Se quedaron atrás cuando hicieron los PIC32 tarde. He leído en otros foros que la arquitectura de 64bit la tienen hecha, pero no la venden. Quizás están esperando que se distribuya bien los PIC32 o cuando la competencia del suelte primero los 64bit, Microchip ataca.
> 
> ...



de esos videos basicos ya lo hay meta en todopic


----------



## Meta (Feb 25, 2008)

O, que pena. Bueno, aún así lo haremos con Word, o PowerPoint 2007 y lo pasamos a PDF Y/o XPS. Deja que nos entregue su guía rápida y a partir del Viernes entrego trabajaré en la mejora de la guía, ya que el jueves tengo examen de automatización.


----------



## krotalon (Feb 25, 2008)

si asi es, es el libro que les comentaba, de freescale, pues la primera parte es de como programar el hc12 en ensamblador y posteriormene hablan de el h08 en lenguaje c para lo que se usa el code warrior o el procesor expert,  ya revise la arquitectura de este tipo de micros y me deja mucho que desear, para empezar es arquitectura von neumman, ups. bueno pero parece que freescale esta apostando a migrar todos los diseños de 8 bits a 32 bits por lo que saco su linea flexis que son micros de 8 bits con su contraparte pin a pin de 32 con lo que dicen puedes migrar de un micro a otro, sus arquitecturas son completamente diferentes, lo que hace que la compatibilidad es el compilador, el procesor expert, que es en lenguaje c. Lo que yo creo que estan apostado los de freescale es a vender los beans, que son pedazos de codigo para inicializar tal o cual periferico o realizar tal o cual aplicacion...  y esto es porque su suit de desarrollo es medio engorroza


----------



## Meta (Feb 25, 2008)

No se, von neumman no me convence mucho. De todas maneras tengo pensado hacer una Web de electrónica y microcontroladores en el futuro con muchas imágenes, vídeos, proyectos y aprendizaje de proyectos, etc...

Mejor nos centramos en los pic y avr. Por ahora en desarrollar un buen manual con el tiempo sobre Altium Designer. A ver si llega un tutorial rápido sobre ese programa.


----------



## krotalon (Feb 25, 2008)

el altium designer si puede realizar simulaciones con una plataforma modificada de pspice, aun no lo he tratado porque no me puede hacer simulacion con microcontroladores y se me hace medio aburrido, sin embargo si tengo que picarle un rato para ver las posibilidades. Por ejemplo un conocido trabajaba con el altium para realizar un chequeo de integridad de la señal y con eso veia la manera de que no se interfieran las señales de alta frecuencia entre si, ya que trabaja diseñando fuentes conmutadas. Entre otras cosas poderosas que puede hacer el Altium es una suite para diseño de dispositivos como cpld's o fpga's con lo que genera el archivo para cargarlo al dispositivo.


----------



## krotalon (Feb 25, 2008)

ok yo espero tener un tutorial rapido del altium en un par de dias, lo empezare ahora mismo, osea que entre el miercoles o jueves ya espero tenerlo, tratare de abarcar los puntos mas importantes,  lo revisan y si tienen dudas me lo hacen saber para irlo modificando hasta que se pula


----------



## microtronic (Feb 25, 2008)

krotalon dijo:
			
		

> ok yo espero tener un tutorial rapido del altium en un par de dias, lo empezare ahora mismo, osea que entre el miercoles o jueves ya espero tenerlo, tratare de abarcar los puntos mas importantes,  lo revisan y si tienen dudas me lo hacen saber para irlo modificando hasta que se pula


digo yo personalmente q no creerias que seria mejor que lo hicieras en videotutorial haci creo q ahorras tiempo en escribir y pegar las imagenes y tal..


----------



## Meta (Feb 25, 2008)

krotalon dijo:
			
		

> ok yo espero tener un tutorial rapido del altium en un par de dias, lo empezare ahora mismo, osea que entre el miercoles o jueves ya espero tenerlo, tratare de abarcar los puntos mas importantes,  lo revisan y si tienen dudas me lo hacen saber para irlo modificando hasta que se pula



Claro que si, lo analizamos, practicamos con él, si hace falta lo amplificadoramos y corregimos. después lo puliremos con fotos del programa a cada detalle que es lo que voy hacer.

Por cierto, ¿qué es cpld's o fpga's exactamente?


----------



## Meta (Feb 25, 2008)

microtronic dijo:
			
		

> krotalon dijo:
> 
> 
> 
> ...



Es cierto a medias, tendría él que hablar o poner textos en pantalla para saber que es lo que está haciendo. Luego lo haremos con texto para quienes quieran imprimirlo cosa que tengo intención de hacer.


----------



## krotalon (Feb 25, 2008)

se me facilita mas hacerlo en editores de texto, sin embargo no es mala idea, yo creo que una vez que ya quede el tutorial adecuadamente podremos pasarlo a un videotutorial o algo semejante con animaciones explicaciones visuales y con sonidos y voz. Tambien podria ser


----------



## Meta (Feb 25, 2008)

Si, cierto. Ahora más bien nos toca planificación, organización, prototipo de manual, luego echamos un vistazo, al final lo pulimos. Tengo intensión de pasarlo a PowerPoint o Word, después a PDF a ver como queda.



PD: _Espero que el autor del  manual no se aburra o se canse por el camino... Hacer manuales es duro._


----------



## krotalon (Feb 25, 2008)

de quien es la web de reparar play station? 
tambien queria realizar una pagina web de grupo cynetik pero los costos de los servidores me lo impidieron, no se que opiciones pueda tener, me comentaron sobre pay pal y las opciones de tener un servidor fuera de mi pais. otra opcion que me dijeron es una pc comun y corriente corriendo en debian para dedicarla por completo como servidor las 24 horas y sin restricciones, bueno no se que opcion tomar


----------



## Meta (Feb 25, 2008)

Mía, proyecto abandonado por los estudios hace un par de años, quizás siga adelante con ella en un futuro. Soy Técnico especialista de electrónica, quizás conecte un pic o avr para ella o PS3. *Puedes ver videos que no son de youtube*, ¿A qué tiene buena calidad?

También lo trasladé a un blog de juegos.

http://blogs.gamefilia.com/rehome

¿Qué eso de cynetik? http://cynetik.com/

Me metí en lycos en versión gratuita a cambio de anuncios molestos. Pero tengo Web. Con el tiempo lo pondré uno de pago si hago una Web sobre microcontroladores.

PD: _Mientras tanto, esperamos tu guía con ansias de aprender._


----------



## Meta (Feb 26, 2008)

Bthunder77 dijo:
			
		

> Por lo que veo la moyoria trabaja con los PIC, yo trabajo con ambos y empecé con los AVR, son un poco mas dificiles de programar en ASM por la cantidad de instrucciones que tienen, pero la diferencia es que esta cantidad de instrucciones esta pensada para la programación en C y es mas sencillo ya que necesitas menos instrucciones para realizar algo que con el PIC, estoy de acuerdo que comercialmente hay mas PICs y es por eso que me meti a programarlos, pero personalmente me agradan mas los AVR ya que con un mismo cristal son hasta 4 veces mas rapidos que un PIC por la  arquitectura que tienen. Y si necesitan información y aplicaciones en la pagina de Atmel encuentran todo y hay muchas paginas donde pueden encontrar ejemplos y todo eso para comenzar a programar.



¿Y dónde están esos ejemplos que no sea la Web oficial? ¿Son sólo ejemplos de C? ¿Los hay de ASM que es lo que me interesa?

EDIT:
Acaba de instalar el Altium Designer. Uso la versión 6.7.9346. No he usado este programa porque no lo entiendo. a ver si con el tutorial lo entiendo y me ayuda hacer la primera placa.
Saludos

EDIT2:
He encontrado algo que hizo alguien, la verdad que le quedó bien.
http://rhernandezg.blogspot.es/


----------



## microtronic (Feb 26, 2008)

el altium designer va por la version 6.8 "3D"


----------



## Meta (Feb 26, 2008)

¿Y la que tengo yo no tiene 3D?

¿Usas la versión 6.8?


----------



## microtronic (Feb 26, 2008)

yo tengo la version 6.8 la otrsa tambien lo trae pero difrerente la 6.8 puedes ver internamente los pads etc mira aqi

http://altium.com.edgesuite.net/videoplayer/player2.html?lib=ad66_nf&flid=3


----------



## Meta (Feb 26, 2008)

Ok, al menos también me viene en 3D, ese vídeo tiene 3D hasta en el 6.6, con el tiempo ya me bajaré la versión 6.9 o 7.0 cuando salga.

La verdad que el Altium Designer cada vez me gusta más, pero lo veo muy complicado de manejar.

Lo que no entiendo del Altium Designer que creo que te viene un compilador del C. ¿Qué pinta un lenguaje de programación con diseño de PCD o esquemas?

A ver si nuestro amigo se anima mostrar su primer tutorial de prueba, luego le ayudamosa mejorarlo.


----------



## krotalon (Feb 26, 2008)

Desde que existe Protel el programa ha tenido una vista de impresion en PCB, esto es la forma en que vemos a nuestra tarjeta ya terminada con todos los componentes. Sin embargo desde protel  o ahora altium designer no podemos generar un componente que no existe en las librerias incluidas. No sabia como anexar una libreria de 3D. Ahora tendre que estudiar solid works jijijijiji.


----------



## krotalon (Feb 26, 2008)

altium tambien cuenta con varias opciones de programacion para circuitos embebidos como vhdl, very log  ensamblador y lenguaje C. Particularmente no he experimentado con ellos


----------



## Meta (Feb 26, 2008)

Bueno, ahora mismo lo importante es aprender hacer esquemas con Altium designer y luego pasarlo a PCB.


----------



## krotalon (Feb 26, 2008)

en la pagina de www.avrfreaks.com se pueden encontrar toda la documentacion de atmel, y vienen tambien tanto en lenguaje c como ensamblador. De hecho es como la pagina reconocida de atmel , no oficial. Existen inumerables proyectos, notas de aplicacion, diseños, etc, etc. Solo que todo viene en ingles.


----------



## microtronic (Feb 26, 2008)

krotalon dijo:
			
		

> en la pagina de www.avrfreaks.com se pueden encontrar toda la documentacion de atmel, y vienen tambien tanto en lenguaje c como ensamblador. De hecho es como la pagina reconocida de atmel , no oficial. Existen inumerables proyectos, notas de aplicacion, diseños, etc, etc. Solo que todo viene en ingles.


el futuro es aprender a programar micros con lenguajes de alto nivel el ensamblador llegara un dia q no se use  ..personalmente estoy estudiando mucho el c porq veo q es mas facil hacer tu algoritmo q en asm que se hace mas tedioso solo hay q ue leer y leer JAJAJA..
y saber la estructura de un programa en c


----------



## Meta (Feb 26, 2008)

El asm es la base y siempre se usará. Sobre todo con 12F508, ya que ocupa muy poca memoria y que en C es imposible porque chupa mucha memoria y ram.

Sobre todo en universidades se usa mucho el 16f84a y en asm. ASM nunca dejará de usarse al 100%. Eso si, es bueno aprender los dos, me cuesta el asm pero lo saco adelante. Eso si, en el fondo es mejor en C, se ahorra mucho trabajo y tiempo.

Espero que donde yo vivo vendan AVR, pic y Motorola tienen de sobras.

El grabador GTP-USB Plus ha sacado muy pocos AVR.

*AT90S1200 , AT90S2313 , AT90S4414 , AT90S8515, AT90S1200 , AT90S2313 , AT90S2323 , AT90S2333 , AT90S2343 , AT90S4414
AT90S4433 , AT90S8515 , ATmega8 , ATmega16 , ATmega32 , ATmega48 ,
ATmega64 , ATmega88 , ATmega128 , ATmega162 , ATmega168 , ATmega8515 , ATmega8535 , ATtiny11 , ATtiny12 , ATtiny13 , ATtiny26 , ATtiny28L , ATtiny2313*

Desde el 03-06-2006 no ha incluido ninguno más, está claro que los PIC por delante, eso si, al menos me dijo que tienen intención de sacar hasta los motorola y ve una lista interminable de uC.

http://www.winpic800.com//index.php?option=com_frontpage&Itemid=1&limit=4&limitstart=4


----------



## microtronic (Feb 26, 2008)

Meta dijo:
			
		

> El asm es la base y siempre se usará. Sobre todo con 12F508, ya que ocupa muy poca memoria y que en C es imposible porque chupa mucha memoria y ram.
> 
> Sobre todo en universidades se usa mucho el 16f84a y en asm. ASM nunca dejará de usarse al 100%. Eso si, es bueno aprender los dos, me cuesta el asm pero lo saco adelante. Eso si, en el fondo es mejor en C, se ahorra mucho trabajo y tiempo.
> 
> ...


claro con respecto al 12f508 se debe programar en asm..me referia a la gama de pic16f87X y los PIC18F4X5X,dspic etc...

mira este que consgui buscado por internet es el equivalente al ICD2 clone en lo microship

* Aquaticus JTAG ICE* programador debugger  para micros avr

http://aquaticus.información/JTAG


----------



## Meta (Feb 26, 2008)

Muy buena el programador.

Estuve buscando el AVR Studio 4 y sólo me encuentro las actualizaciones. Me da la impresión que este programa es de pago. Si esto así, mala suerte. Microchip es gratuito y gracias a eso, hay más aceptación con PIC.


----------



## microtronic (Feb 26, 2008)

Meta dijo:
			
		

> Muy buena el programador.
> 
> Estuve buscando el AVR Studio 4 y sólo me encuentro las actualizaciones. Me da la impresión que este programa es de pago. Si esto así, mala suerte. Microchip es gratuito y gracias a eso, hay más aceptación con PIC.



no meta no es pago primero bajate la version que dice 4.13 y despues descargas el sp2...soloq ue tiens que resgitrate para bajarlo pero es gratis


----------



## microtronic (Feb 26, 2008)

bajate tambien el winavr.!


----------



## Meta (Feb 27, 2008)

Me funciona, pero no entiendo nada. Bueno, lo veo más moderno que el MPLAB 8.x

¿Lo de la guía del *Altium Designer *aún sigue en pié?


----------



## krotalon (Feb 27, 2008)

Lo de la guia del altium designer si sigue en pie, solo que no la he podido terminar, espero en breve tenerles respuestas. Saludos


----------



## Meta (Feb 27, 2008)

krotalon dijo:
			
		

> Lo de la guia del altium designer si sigue en pie, solo que no la he podido terminar, espero en breve tenerles respuestas. Saludos



Ok, muchas gracias.


----------



## Meta (Feb 28, 2008)

Encontré una web de que Protel existe. No sabía que había un libro así en español. Parece que vale la pena. Lo malo que es del 2004 y se merece una buena actualización.




_Diseño e ingeniería electrónica asistida con Protel DXP.
TORRES, M. y TORRES, M.A.
El diseño y la realización de prototipos electrónicos que utilizan las modernas herramientas software de Ingeniería Electrónica Asistida han experimentado un considerable auge en los últimos años, gracias a la extraordinaria potencia y operatividad de los actuales ordenadores personales empleados como plataformas de trabajo. Dentro de la amplificadora oferta disponible para el sistema operativo Windows, la firma ALTIUM dispone de un potente entorno de trabajo etiquetado como Protel DXP. El objetivo de este libro es precisamente familiarizar al lector con dos de sus módulos más interesantes: los editores de esquema y placas de circuito impreso (PCB). Además de la extraordinaria potencia y versatilidad de ambos, el lector podrá constatar, paso a paso, su gran sencillez de manejo a través de sus diferentes opciones y comandos de trabajo. La obra mantiene el mismo formato y estructura que las dos ediciones anteriores, aunque su contenido, lógicamente, ha sido ampliado y mejorado para adecuarlo a la nueva versión DXP. A través de la dirección Web del fabricante Protel.com se permite una actualización de las librerías integradas disponibles en cualquier momento, así como la utilización de abundantes recursos sumamente útiles._

_

ÍNDICE

PRÓLOGO IX
CAPÍTULO 1: INTRODUCCIÓN AL DISEÑO Y LA INGENIERÍA ELECTRÓNICA ASISTIDA 1
1.1. PRESENTACIÓN 1
1.2. DEFINICIÓN DE CONCEPTOS Y DISCIPLINAS ASOCIADAS 2
1.3. DESARROLLO INDUSTRIAL INFORMATIZADO: CAD/CAM/CAE 4
1.4. INFORMATIZACIÓN TOTAL DEL PROCESO PRODUCTIVO: CIM 6
1.5. MICROORDENADORES 7
1.6. ESTRUCTURA INTERNA DEL PC 8
1.7. PERIFÉRICOS DE ENTRADA 21
1.7.1. El Teclado 21
1.7.2. El Ratón 21
1.7.3. Tableta digitalizadora 22
1.7.4. El Escáner 24
1.8. PERIFÉRICOS DE SALIDA 26
1.8.1. Monitores 26
1.8.2. Impresoras 28
1.8.3. Plotters 31
1.9. PERIFÉRICOS DE ALMACENAMIENTO MASIVO 33
1.9.1. Discos magnéticos 33
1.9.2. Discos de almacenamiento óptico 36
CAPÍTULO 2: DISEÑO INTEGRADO CON PROTEL DXP 39
2.1. TECNOLOGÍA CAE CLIENTE/SERVIDOR DE PROTEL 39
2.2. INSTALACIÓN Y CARACTERÍSTICAS DE PROTEL DXP 41
2.3. EL EXPLORADOR DE DISEÑO 46
2.3.1. Trabajo con proyectos y documentos 49
2.4. PERSONALIZACIÓN DEL EXPLORADOR DE DISEÑO 51
2.4.1. Información del Sistema (System Info) 51
2.4.2. Preferencias del Sistema (System Preferences) 53
2.4.3. Licencia (Licensing) 54
2.4.4. Personalización del entorno (Customize) 54
2.5. PANELES DENTRO DE PROTEL DXP 57
2.5.1. Exploración por el proyecto mediante el panel Navigator 59
2.5.2. Edición de datos con Protel DXP 60
2.5.3. Filtrado, selección y edición de múltiples objetos 62
2.6. LIBRERÍAS INTEGRADAS EN PROTEL DXP 66
2.6.1. Creación de una librería integrada 69
CAPÍTULO 3: CREACIÓN DE UN PROYECTO NUEVO A PARTIR DEL EDITOR DE ESQUEMAS 71
3.1. ENTORNO DE TRABAJO 71
3.2. CONSIDERACIONES PREVIAS Y PROCEDIMIENTO PRÁCTICO DE TRABAJO 73
3.2.1. Tipos de estructuras en los esquemas electrónicos 73
3.2.2. Procedimiento práctico de trabajo para realizar un esquema 76
3.3. BARRAS DE HERRAMIENTAS 77
3.3.1. Barra de herramientas principal (Schematic Standard) 77
3.3.2. Barra de herramientas de dibujo (Drawing Tools) 79
3.3.3. Barra de herramientas de cableado (Wiring Tools) 80
3.3.4. Barra de terminales de alimentación (Power Objects) 81
3.3.5. Barra de componentes digitales (Digital Objects) 81
3.3.6. Barra de fuentes de simulación (Simulation Sources) 83
3.3.7. Barra compilación PLD (CUPL PLD) 83
3.3.8. Barra del gestor de proyectos (Project) 84
3.3.9. Barra del Simulador de circuitos 85
3.4. CONFIGURACIÓN/PERSONALIZACIÓN DEL ENTORNO DEL PROGRAMA 85
3.5. COMPONENTES Y LIBRERÍAS 93
3.6. EL EDITOR DE LIBRERÍAS DE ESQUEMA 97
3.6.1. procedimiento práctico de trabajo para crear un símbolo de esquema 99
3.7. COLOCACIÓN Y EDICIÓN DE LOS COMPONENTES DEL ESQUEMA 102
3.7.1. Colocación matricial de componentes 104
3.8. ELEMENTOS DE CONEXIONADO 105
3.8.1. Hilos de conexión (Wires) 106
3.8.2. Uniones eléctricas (Junctions) 107
3.8.3. Buses de conexión (Bus) 109
3.8.4. Entradas de bus (Bus Entry) 110
3.8.5. Etiquetas (Net label) 111
3.8.6. Terminales de E/S (Ports) y alimentaciones (Power ports) 113
3. 9. DISEÑO DE ESTRUCTURAS JERÁRQUICAS 114
3.9.1. Procedimiento práctico de trabajo para realizar un diseño jerárquico 118
3.10. NUMERACIÓN AUTOMÁTICA DE LOS COMPONENTES 120
3.11. COMPILACIÓN Y VERIFICACIÓN DEL PROYECTO 121
3.12. IMPRESIÓN DEL ESQUEMA 123
3.13. TRANSFERENCIA DEL DISEÑO A LA PCB 126
3.13.1. Generación de ficheros de interconexionado (Netlist) 128
3.14. OBTENCIÓN DE DOCUMENTOS ADICIONALES 129
3.14.1. Ficheros de reportaje del Editor de librerías 129
3.14.2. Ficheros de reportaje del Editor de esquemas 131
CAPÍTULO 4: DISEÑO DEL CIRCUITO IMPRESO PCB 135
4.1. ANTECEDENTES 135
4.2. INTRODUCCIÓN Y PRINCIPIOS GENERALES DEL DISEÑO PCB 138
4.3. CONSIDERACIONES GENERALES SOBRE EL POSICIONAMIENTO DE LOS COMPONENTES EN LA PCB 139
4.4. CONSIDERACIONES GENERALES SOBRE EL TRAZADO DE LAS PISTAS (TRACKS), PADS Y VÍAS 142
4.5. TRAZADO DE LAS PISTAS DE ALIMENTACIÓN 147
4.6. DISEÑO PARA ASEGURAR LA COMPATIBILIDAD ELECTROMAGNÉTICA Y EVITAR DIAFONÍAS 149
4.7. CONSIDERACIONES ESPECÍFICAS PARA LOS DIFERENTES TIPOS DE PCB 150
4.8. FABRICACIÓN DE LA PCB: DATOS PRÁCTICOS NECESARIOS 157
4.9. ENTORNO DE TRABAJO Y BARRAS DE HERRAMIENTAS DEL EDITOR PCB 159
4.10. PROCEDIMIENTO PRÁCTICO DE TRABAJO CON EL EDITOR PCB 166
4.11. CONFIGURACIÓN-PERSONALIZACIÓN DEL EDITOR PCB 168
4.11.1. Configuración general 168
4.11.2. Configuración particular de la PCB 175
4.12. EDITOR DE LIBRERÍAS PCB 176
4.13. DEFINICIÓN DE LAS CARACTERÍSTICAS BáSICAS DE LA PCB 183
4.14. TRANSFERENCIA DEL DISEÑO DESDE EL ESQUEMA 188
4.15 ESTABLECIMIENTO DE LAS REGLAS DE DISEÑO PCB 192
4.16. SELECCIÓN DE ENTIDADES EN LA PCB 202
4.17. COLOCACIÓN MANUAL Y AUTOMÁTICA DE LOS COMPONENTES SOBRE LA PCB 206
4.18. TRAZADO MANUAL Y AUTOMÁTICO DE LAS PISTAS 212
4.18.1. Realización de los planos de alimentación mediante polígonos 216
4.19. INCLUSIÓN DE PUNTOS DE TEST Y DISEÑO DE “LÁGRIMA” EN LA PCB 219
4.20. VERIFICACIÓN DEL DISEÑO PCB 223
4.21. ANÁLISIS DE INTEGRIDAD DE LAS SEÑALES EN LA PCB 225
4.22. OBTENCIÓN DE FICHEROS Y PLANOS DE SALIDA 240
4.23. OBTENCIÓN DE LA VISIÓN TRIDIMENSIONAL DE LA PCB 251
ANEXO 1: LIBRERÍAS INTEGRADAS DISPONIBLES EN PROTEL DXP 253
ANEXO 2: TECLAS DE FUNCIÓN EN PROTEL DXP 277
ÍNDICE ALFABÉTICO 283
_

Fuente:
http://www.ra-ma.es/indices/6183.htm

PD: ME compraré el libro cuando salga una nueva actualización, siempre lo hacen, el 2004 ya es muy viejo.


----------



## JV (Feb 28, 2008)

Yo lo tengo a ese libro. Esta bastante bien explicado. Respecto a que es 2004, no quiere decir que sea tan viejo. Yo tengo el DXP2004 en mi casa, en el trabajo uso DXP2002 y cuando mando a fabricar alguna placa tengo que convertirlo a Protel99 porque es lo que tienen los fabricantes, debido a que tener el soft legal es muy caro.

Saludos..


----------



## Meta (Feb 28, 2008)

¿Cuánto cuesta un software Altium Designer para estudiantes? Mejor ni conteste. Para hacer 4 placas para eso está el Eagle.

- Este último libro es del 2004.
- Hay tres versiones, 1998, 2000, y 2004.
- Ra-ma hace cada edición cada 4 años.
- Habrá la 4ª edición a lo largo del 2008, así que no vale la pena comprarse la versión 2004 si llega la 2008 dentro de un año casi.
- He hablando por e-mail con ellos, dicen que no habrá más libro pero ahora pero...

...me ha dado entender mediante indirecta que si lo están haciendo. No me lo afirma porque entonces la gente esperará la 4ª. ¿Mientras más venda la vieja, mejor que mejor.

- No sabía que Altium Designer es el mismo que Protel.

Lo importante, por fin encuentro en español libros de hacer esquemas eléctricos y PCB. Es el único libro de placas que conozco, llevo años buscando y por fin veo que existe. No lo compro ahora por ser viejo y se que viene el nuevo. Espero que pongan las 3D como mínimo el *Altium Designer 6.8*, cada vez lo hacen mejor.

Lo mejor de todo, es el programa que me gusta de todos desde hace unos meses.

Con este libro de PCB y el 16f84a, hace buen complemento.

Un cordial saludos.


----------



## macraig (Mar 18, 2008)

La razon por la que los AVR son populares en dispositivos enbebidos, es precisamente el hecho que estan pensados para trabajar en lenguaje de alto nivel (lease C). Por eso, programar en assembler un AVR es desperdiciar mucho de lo que se puede hacer... Ya quisiera yo ver si tendriamos hoy internet, y este foro, si todavia estubieramos programando los computadores en assemmbler....


----------



## Meta (Mar 18, 2008)

Salió el Altium designer 6.9

¿Qué hay nuevo?


----------



## rhernandezg (Mar 21, 2008)

Hola que tal a todos soy un recien llegadito por este lugarcito que esta genial    y veo que esta muy bueno este post, personalmente me gustan los PIC aunque veo que los AVR son muy buenos  en todo, pero eso si todo depende del programador (usuario) y de la aplicación ala cual se destine desde mi punto de vista..... Todo Micro es bueno sabiendolo utilizar y emplear correctamente  .

Con respecto a este programita  


> Salió el Altium designer 6.9
> 
> ¿Qué hay nuevo?



Hi Menta te puedo decir que como ya es costumbre el Altium trae cosillas interezantes y lo que mas me agrada de la version 6.9 son sus vistas 3D y la edicion de cada una de ellas   se los recomiendo ya que personalmente es el software que utilizo y vaya que quedan muy bien los diseños ( aqui una prueba de ello:http://rhernandezg.blogspot.es/ )

A continuacion dejo los enlaces adjuntos para que les des un vistazo.

http://www.altium.com/Evaluate/DEMOcenter/WhatsnewinAltiumDesigner69/

http://www.altium.com/files/altiumd...s/AR0146 Whats New in Altium Designer 6.9.PDF

Saludos


----------



## Meta (Mar 21, 2008)

Gracias por poner lo enlaces. Voy a leer muy bien el http://rhernandezg.blogspot.es/ 

Parece muy interesante.

PD: *Espero que aquel que dijo de hacer la miniguía de Altium Designer se anime.*

PD2: 
¿Alguien le interesa hacer una guía básica de Altium Designer entre nosotros?


----------



## rhernandezg (Mar 21, 2008)

> PD2:
> ¿Alguien le interesa hacer una guía básica de Altium Designer entre nosotros?



Me parece muy buena propuesta, yo me apunto a colaborar con ustedes   , aunque hay unos videotutoriales elaborados por mi paisa Navaismo   , los cuales los pueden encontrar en al web del maestro Nocturno http://www.micropic.es/ se los recomiendo muchisimo.

¿quienes mas se apunta para crear la guía basica del altium?


----------



## Meta (Mar 21, 2008)

Los vídeos de micropic los tengo y gracias a ellos ya podemos hacer tutoriales a PDF con gráficos. Aunque esos vídeos aún le faltan más explicaciones.

A ver si alguien más se apunta.


----------



## Leon Elec (Mar 22, 2008)

La mejor manera de hacer un tutorial, es que se le ocurrió hacer un tutorial entre todos, ponga la primera piedra, para que los demás sepan como seguir.


----------



## torresdelamora (Mar 22, 2008)

HE programado las dos marcas y si me dan a escojer me quedo con atmel,  ejecuta a un ciclo de reloj, tiene mas registros de trabajo, sus recursos estan mejor, sus instrucciones permiten hacer las operaciones en menos pasos, esta optimizado para programar en C.

no es que no haya información soble avr, pero la hay en ingles y no mucha en español.

http://www.avrtv.com/

http://www.avrfreaks.net/

Saludos

David Fernando Torres De La Mora


----------



## microtronic (Mar 22, 2008)

torresdelamora dijo:
			
		

> HE programado las dos marcas y si me dan a escojer me quedo con atmel,  ejecuta a un ciclo de reloj, tiene mas registros de trabajo, sus recursos estan mejor, sus instrucciones permiten hacer las operaciones en menos pasos, esta optimizado para programar en C.
> 
> no es que no haya información soble avr, pero la hay en ingles y no mucha en español.
> 
> ...



cual entorno utlizas el WINAVR o el CODEVISION..


----------



## torresdelamora (Mar 22, 2008)

use algo de tiempo el Wavrasm junto con el avrisp

actualmente para c uso el icc avr 6 con el avrstudio 4 o solo el avrstudio para ensamblador.


----------



## Meta (Mar 27, 2008)

torresdelamora dijo:
			
		

> HE programado las dos marcas y si me dan a escojer me quedo con atmel,  ejecuta a un ciclo de reloj, tiene mas registros de trabajo, sus recursos estan mejor, sus instrucciones permiten hacer las operaciones en menos pasos, esta optimizado para programar en C.
> 
> no es que no haya información soble avr, pero la hay en ingles y no mucha en español.
> 
> ...



*Tengo ganas sobre AVR de Atmel.* Lo de mejor AVR que los PIC depende que AVR y PIC, porque hay PIC de alta gama. De todas maneras para lo que yo quiero los pic que es activar y desactivar entradas y salidas valen cualquiera hasta los Motorola.

En ASM la verdad me gusta más los PIC, los AVR lo veo muy complicado.

Una cosa que no entiendo.

Diferencua entre un *AT90S1200* por poner un ejemplo a un *ATmega88* o un *ATtiny26*. No entiendo nada de esto, doy por hecho que sea algo parecido a lo de 16F, 12F o 18F si no me equivoco.


----------



## macraig (Mar 27, 2008)

Meta, la respuesta la encuentras en la pagina de Atmel.

Salu2


----------



## Kimah (Mar 27, 2008)

porke borraron mi mensajito? 
 de vdd necesito ayuda con el programador para el atmega32..... 

gracias 

.:Kimah:.


----------



## torresdelamora (Mar 29, 2008)

Segun esto, la serie AT90 ya esta en desuso y de alguna manera la vinieron a substituir ATMEGA y ATTINY.

A mi se me hace mas facil y entendible la programacion en Lenguaje ensamblador del AVR que la del PIC, tal vez es cuestion de apreciacion.

en cuanto a la gama de microcontroladores es dependiendo tu aplicacion pero aun asi se me hace mejor el core AVR por lo que comentaba, soporta mas instrucciones, son de mas confiabilidad que el PIC, Da mas MIPS, en gama alta como le llaman ustedes  hay quienes tienen 4 spi, ethernet, Usarts USB y demas. tambien se corre el UcLinux en AVR. 

Pero como decia anteriormente, no hay mucha información en español. pero en la red hay muchos proyectos muy buenos con AVR en ingles u otros idiomas.


----------



## eidtech (Mar 29, 2008)

la familia AT90 no esta del todo descontinuada -solo sus primeros integrantes- 

Lo de hoy son los Algunos de la familia 90, TINY, MEGA y recien lanzados XMEGA.


----------



## Meta (Mar 29, 2008)

torresdelamora dijo:
			
		

> Segun esto, la serie AT90 ya esta en desuso y de alguna manera la vinieron a substituir ATMEGA y ATTINY.
> 
> A mi se me hace mas facil y entendible la programacion en Lenguaje ensamblador del AVR que la del PIC, tal vez es cuestion de apreciacion.
> 
> ...



En internet por todas partes no leo mucho que estén por encima los AVR frente a los PIC. Uno es mejor que otro depende del microcontrolador y el dominante como Microchip no está dispuesto a rebajarse por ATMEL. Me gustaría comunicar un PIC con un AVR por curiosidad.

De todas maneras, veo que un PIC y AVR la verdad en el fondo de sus salidas y entradas, hacen lo mismo, incluido Motorola y hablando de Motorola, siempre me dicen los ingenieros que les da mil vuelta a los PIC. No se si es cierto, pero me da igual.


----------



## pepechip (Mar 29, 2008)

El que tiene un vehiculo BMW dice que es el mejor que hay, pero el que tiene Mercedes dice que el suyo es mejor.
Por supusto para la mayoria de la gente cuando compra algo se supone que lo compra por bueno.
Si yo estoy trabajando con microcontroladores chip de la gama baja, los cuales no tengo aun dominados al 100% y resulta que con ellos ago todo lo que deseo, resultara que para mi es el mejor que existe, aunque de la casa Atmel no tenga ni idea ded como funcionan.

Ya de por si resulta complicado aprender el funcionamiento de un modelo de microcontrolador como para andar jugando con 2 fabricantes distintos.

Lo que si esta muy claro que para iniciarse en microcontroladores lo ideal es hacerlo con Micropic, ya que en internet predomina la información de este.

saludos


----------



## Meta (Mar 29, 2008)

pepechip dijo:
			
		

> El que tiene un vehiculo *BMW* dice que es el mejor que hay, pero el que tiene Mercedes dice que el suyo es mejor.
> Por supusto para la mayoria de la gente cuando compra algo se supone que lo compra por bueno.
> 
> Ya de por si resulta complicado aprender el funcionamiento de un modelo de microcontrolador como para andar jugando con 2 fabricantes distintos.
> ...


----------



## cmoro (Mar 30, 2008)

Hola a todos:

En principio saludaros y pediros perdon si este no es el sitio para ver si me podeis resover una duda que me esta volviendo loco, tengo un atmega8 el cual no se deja programar y al leer los fuses y los lock bites estan todos bloqueados (marcados) como lo podia solucionar?

Alguien me puede ayudar?

Gracias por adelantado


----------



## microtronic (Mar 30, 2008)

tiens que programarlo en modo pararelo en este modo tiene el control de los fuses..si programaste mal los fuses seguramente esta bloqueado..
la programacion serial no es recomendable

pd eso tengo entendido...si alguine sabe mas del tema q lo publiq..


----------



## eidtech (Mar 31, 2008)

microtronic dijo:
			
		

> la programacion serial no es recomendable



microtronic, quien no recomienda la programacion serial? tu?


----------



## microtronic (Mar 31, 2008)

eidtech dijo:
			
		

> microtronic dijo:
> 
> 
> 
> ...



no me han comentado que la programacion pararela es mejor...y mas rapida y tienes control total de los fuses algo asi estube leyendo en algun lado....


----------



## macraig (Mar 31, 2008)

Lo que me parece, y espero me corrijan si estoy equivocado, es que si configuras el fuse equivocado, solo puedes acceder al atmega8 usando un programador paralelo.

Si mal no recuerdo el es el bit#7 del byte alto, que habilita el pin PC6 como pin de puerto o de reset. Si programaste ese fuse por error en el ATMEGA8, entonces necesitas usar un programador paralelo.

Sin embargo te recomiendo trates de recordar que bits de fuse programaste, y los consultes en la hoja de datos del ATMEGA8. Toda la información que necesitas esta ahi.

Salu2.


----------



## Meta (Mar 31, 2008)

Programar AVR de Atmel es más peligroso por lo que veo aquí.


----------



## macraig (Mar 31, 2008)

Meta dijo:
			
		

> Programar AVR de Atmel es más peligroso por lo que veo aquí.


Es mas peligroso que que? Si es que un pic, entonces no has leido siquiera las hojas de datos de un pic. Los pic, al menos los que conoci tenian el mecanismo de proteccion de codigo. Una vez que programas este mecanismo, no puede deshacerce y debes remplazar el chip. Con los avr esto no sucede.

Por favor meta, RTFM.

Salu2.


----------



## eidtech (Mar 31, 2008)

macraig dijo:
			
		

> Por favor meta, RTFM.



Por si te pesa buscarlo... "Lee el ching..... manual"


----------



## microtronic (Mar 31, 2008)

jaja meta es un caso..!


----------



## Meta (Mar 31, 2008)

jajajajaajajaj, se ofendió. Relájese hombre, la vida sigue. Me refiero que por lo que cuentan ustedes, parece que da muchos problemas esos AVR.


----------



## torresdelamora (Mar 31, 2008)

que programador tienes cmoro¿? probablemete no te este leyendo el micro por una conexión inadecuada como colocar el micro alreves o en otro zocalo, tambien revisar si tienes  jumpers que configurar

Saludos


----------



## cmoro (Mar 31, 2008)

hola

mi programador es el upa usb programmer que si que es capaz de progrmar este tipo de avr lo que pasa es que yo meti la pata con los lock bits y esta bloqueado, sabeis alguna manera de desbloquearlo ?
he intentado borrar el chip ya unas 30 veces pero nada tengo todos los fuses y lock bites bloqueados no se que hacer
Se os ocurre algo?

saludos


----------



## macraig (Mar 31, 2008)

sabes q lockbits grabaste?


----------



## torresdelamora (Mar 31, 2008)

OK, ese programador no lo conosco, pero para asegurarte que son los bitlock seria bueno colocar otro Micro para ver si ese puede proggramarse.



por otro lado les dejo lo que hacen con el avr32
http://www.youtube.com/results?search_query=avr32&search_type=


Saludos


----------



## microtronic (Abr 1, 2008)

cmoro dijo:
			
		

> hola
> 
> mi programador es el upa usb programmer que si que es capaz de progrmar este tipo de avr lo que pasa es que yo meti la pata con los lock bits y esta bloqueado, sabeis alguna manera de desbloquearlo ?
> he intentado borrar el chip ya unas 30 veces pero nada tengo todos los fuses y lock bites bloqueados no se que hacer
> ...


que fuses grabaste no te acuerdas...

intenta colocarle un 555 a una alta frecuencia y intentas programarlo aver


----------



## Pompa (Abr 1, 2008)

No se si conocen el VMLAB pero es un programa que te permite programar atmel, y es mucho mejor que el AVR studio. Lo interesante está en que para la simulación puedes añadir elementos externos al microcontrolador, resistencias, condensadores, etc.. y tb puedes crear tus propios elementos externos en C. También puedes simular una pantalla LCD, y otras cosas más. Además solo pesa 5mb.

http://www.amctools.com/


----------



## torresdelamora (Abr 5, 2008)

Estaba viendo el XMega de Avr esta muy bien, Habra que esperar a que este mas accesible

http://www.atmel.com/dyn/resources/prod_documents/doc8067.pdf

Este en particular Jala hasta 32MIPS con 32 MHz y tiene un monton de recursos.

Saludos


----------



## wacalo (May 12, 2008)

La arquitectura en Micros más antigua, más probada y más fabricada es la 8051/8052  de 8 bits(la Fabrican Intel. Philips/NXP, Atmel, Siemens, Signetics, etc) existen centenerares de versiones con diferentes características (las que quieras), existen herramientas de desarrollo (Compiladores, Ensambladores, Enlazadores, Simuladores) comerciales y Freeware para todos los gustos.
Lo que pasa es que Microchip hizo una campaña brutal y prácticamente solo se dedica a los micros. Yo no puedo entender cuando alguien compara un PIC con un 8051 y dice que el PIC es mejor, yo honestamente creo que la familia 8051 es largamente superior a la familia de los PICs.
En cuanto a que no hay bibliografía sobre los Micros Atmel, no sé de donde sacan eso, yo estoy atiborrado de documentación sobre la familia 8051 de Atmel y de otros fabricantes.
Fué mi humilde opinión nada más.
Saludos.
wacalo


----------



## Meta (May 12, 2008)

wacalo dijo:
			
		

> La arquitectura en Micros más antigua, más probada y más fabricada es la 8051/8052  de 8 bits(la Fabrican Intel. Philips/NXP, Atmel, Siemens, Signetics, etc) existen centenerares de versiones con diferentes características (las que quieras), existen herramientas de desarrollo (Compiladores, Ensambladores, Enlazadores, Simuladores) comerciales y Freeware para todos los gustos.
> Lo que pasa es que Microchip hizo una campaña brutal y prácticamente solo se dedica a los micros. Yo no puedo entender cuando alguien compara un PIC con un 8051 y dice que el PIC es mejor, yo honestamente creo que la familia 8051 es largamente superior a la familia de los PICs.
> En cuanto a que no hay bibliografía sobre los Micros Atmel, no sé de donde sacan eso, yo estoy atiborrado de documentación sobre la familia 8051 de Atmel y de otros fabricantes.
> Fué mi humilde opinión nada más.
> ...



*
Lo de que los PIC es mejor al 8051 lo más probable que lo saquen o se refieran a que es más fácil de entender, más fácil de hacer cosas con él, más documentación que puedas encontrar, etc...

Hoy en día, por lo que veo ya no es cuestión de el mejor, sino de que funcione.
*


----------



## cristian_elect (May 15, 2008)

Bien por sus comentarios. Yo programo pic, pero me incline por los ATMEL por que son mas baratos y tienen todo lo que se nesecita sobre todo el atmega8 que cuesta menos de la mitad que un pic16f876 y trabajan a frecuencia de clock lo mejor es te tiene casi todo que un pic18 que cuestan 3 veces. Su asm atmel es de 135 instrucciones eso mejora para la programacion en C tieme multiplicador  en 2 ciclos y con signo, tambien numeros fraccionarios, 3 pwm y mas.. que el pic16f876. Informacion hay.  
Para proyetos gran volumen sale conveniente atmega.
No me digan que los DSpic son mejores, por que esos micros son mas caros y estan orientado para el manejo de senal digital.


----------



## cristian_elect (May 15, 2008)

El programador STK200 funciona bien, si bien se equivocan en los fuses hay solucion
Eso sucede cuando ponen como ocsilador externo RC, solamente hay que poner el RC segun el manual la resistecia tiene que ser variable para que prueben varios valores de frecuencia.


----------



## Meta (May 15, 2008)

Hoy en día, PIC es lo más recomendable para aprender. A pesar que la gama 16Ftiene solo 35 instrucciones, no evita que se hechen atrás frente a los más de 100 que tiene los AVR de atmel. Al menos los 18F tienen más de 80 instrucciones.

La cantidad de instrucciones no aprece afectar a www.microchip.com


----------



## Javier Rambaldo (May 16, 2008)

Yo soy fanático de PIC desde el año 1999 que lo adopté para mis clases de microprocesadores. 
Durante los primeros años extrañé mucho a Motorola (6809) y al Z80 con sus indirecciones, interrupciones y memoria lineal. Pero el precio de los PIC y la cantidad de información me llevó a esa decisión.

Ahora, gracias a uds, me intrigó Atmel y estoy viendo los Atmega....que buenos que parecen! Me alucinaron!
La verdad que es una muy buena opción. Estoy pensando muy seriamente cambiar mis programas de la materia...

La duda que tengo ahora es el programador para los Atmega....porque para los PIC me hice una casero.
(Voy a seguir investigando...)
Salu2.


----------



## Meta (May 16, 2008)

Siento curiosidad por los AVR de Atmel. Pero como es más coñazo de aprender y hay menos información que los PIC, por ahora me quedaré con los PIC para aprenderlos bien hasta la muerte.

A ver si saca algo revolucionario para variar. Noto que hay más PIC 18F diferente que los 16F, y eso que el primero es más nuevo.


----------



## cristian_elect (May 16, 2008)

Bueno para el busca información lo consigue primero me parecio dificil los atmel poco a poco entendi y me parece muy buenos lo malo que la información esta en ingles ,pero para los electronicos dedicados buscamos  lo mas conveniente en costos.


----------



## Meta (May 17, 2008)

Bajo costos es lo bueno que tiene, pero microchip son un poco careros y se lo pueden permitir ya que venden muchos sin preocupasiones.


----------



## Beamspot (May 26, 2008)

Hola:

Soy nuevo en el foro, pero llevo algunos años programando AVR's, y tengo alguna (poca) experiencia con los PIC.

Me gustaría puntualizar dos cosas: si el numero de instrucciones indica la facilidad de uso, entonces los ARM están chupaos, vamos.

Segundo, 135 instrucciones ASM son muchas, pero para que programar en ensamblador si hay un excelente compilador C gratuito. Además, hacer programas de 128K en ensamblador es un coñazo, tengan las instrucciones que tengan.

Aún así, uno se ahorra el ir moviendo registros p'arriba, registros p'abajo, cambiar de banco de registros, etc, que por algo los AVR tienen 32 acumuladores y la memoria lineal.

Por cierto, en el mundo industrial, nunca he visto un PIC, pero si un montón de AVR's.


----------



## Javier Rambaldo (May 27, 2008)

Lo que siempre se ve muy claro en este foro es la NO objetividad. 
Siempre estamos defendiendo lo que hacemos o conocemos.

La experiencia nos tiene que servir para poder separar la paja del trigo y, por ende,  para ayudar a otros dentro de esta comununidad.


----------



## tiopepe123 (May 27, 2008)

Todo lo contrario, no leiste entre lineas, nadie defiende a ultranza un micro sino comentan el porque.

Hay cientos de articulos comparando  micros yno es sencillo elegir uno depende de muchas causas.

Por ejemplo tu utilizarias un micro que cada chip te costara 200€ para encender una bombilla?
Esi si esa bombilla tiene muchos petaflops.

Tambien te puede pasar que aunque no sea la mejor opcion se adapta lo suficiente como para que funcione y no tengas de cambiar de micro, esto ahorra tiempo de desarrollo.



o sea la objetividad esta en elegir el micro que mejor se adapte independientemente de la marca.


----------



## Meta (May 27, 2008)

Beamspot dijo:
			
		

> Hola:
> 
> Por cierto, en el mundo industrial, nunca he visto un PIC, pero si un montón de AVR's.



En cambio yo, en el mundo industrial nunca he visto en mi vida los AVR a nadie, y PIC lo veo por toda partes. Hablo al meno en España.

¿Un poco contradictorio a lo que dices no?


----------



## Beamspot (May 28, 2008)

Quizás tengas razón en que en España se usa más el microchip, pero en todos los competidores de mi empresa actual, así como los de mi empresa anterior, todos ellos extranjeros (alemanes, franceses, italianos, israelis, mejicanos, brasileños, americanos, ingleses, suizos, griegos, rusos, etc), nunca han usado PIC's para nada. 8051 y Motorolas, los que quieras, aunque ahora se están empezando a obsoletar. ARM's están apareciendo también bajo las piedras más insospechadas (no en vano están por menos de 2€).

Es más, el competidor más fuerte acaba de pasar de los antiguos Frescales a Atmegas.

Y otras pequeñas puntualizaciones: aquello de que mas vale malo conocido que bueno por conocer es perfectamente válido, ya que acorta el tiempo de desarrollo, y por tanto, el precio.

Además, para según que aplicaciones prefiero a los Cypress PSoC, o a los ARM, que los AVR. Como bien han dicho por aquí, depende de lo que uno tenga que hacer. Para encender una bombilla no pienso usar un ARM (a no ser que sea domótica, que es la causa por la que nadie la pone), y para hacer un procesado de calidad de la línea eléctrica con FFT's, y demás cálculos, no pienso usar un AVR, ya que un ARM me da más mips.

Y para acabar, lo que hoy me vale para hacer algo, mañana ya puede estar obsoleto.


----------



## tiopepe123 (May 28, 2008)

El tema de los PSOC si que es para hablar largo y tendido, es otro mundo.

Mientras que los pic,atmel y ARM son micros, diferentes pero micros al fin de cuentas, sin "analogica"

Los psoc son un hibrido curioso, tengo unas unidades que deberia probrar, pero se me hace complicado o eso parece, cientos de registros y cosas de ese estilo, pero es que parece muy interesante eso de poderle meter toda la analogica dentro en un solo chip.

QUE opinais sobre el tema?

Pobriamos habrir un hilo sobre esto...

Psoc VS el resto de micros(PIC,ATMEL,ARM...)


----------



## Beamspot (May 28, 2008)

SON complicados. Te lo garantizo. Teniendo experiencia con los AVR's 'grandes' (ATmega64 y 128), me fue más fácil aprender ARM's que los PSoC. 

Suerte que tengo a un experto en los PSoC en la mesa de enfrente.

Estoy de acuerdo en que hay que echarles de comer aparte, y quizás sí que sería muy correcto abrir un hilo diferente al respecto. Quizás con un poco de in/formación al respecto de estos curiosos micros.


----------



## Meta (May 28, 2008)

Al final, lo que hace un PIC lo hace un AVR. Activas y desactiva entradas y salidas que eso es lo que importa. Da igual usar uno o otro uC, lo importantes es manejarlo.


----------



## Beamspot (May 28, 2008)

Como todas las aplicaciones, depende. Los MIPS, así como la compacidad del código, la facilidad para cambiar un micro por otro (prueba a cambiar un 16F por un 18F), y quizás precios, son los factores que pueden decantar por uno o por otro.

Pero estoy de acuerdo en que no hay mucha diferencia entre unos y otros, a no ser que vayas a los extremos.

Como yo uso AVR's 'grandes' (128-1281-1284) con mucho programa, varias tareas funcionando  a la vez, gran demanda de RAM (por eso el 1284, con 16KB), y los 8MIPS que me están dando empiezan a venir justitos, mi siguiente paso, o bien es un 2561-2560, o bien directamente ARM.

El problema es que los 120K de programa del ATmega1281/1284 son más de 190K de programa en un ARM, o sea que hay que ir con cuidado con muchas cosas a la hora de dimensionar el tema.

Una vez hize una 'traducción' de un cypress PSoC (que tiene un 'core' muy parecido al 16F) a un AVR, y de 32K pasé a 20. Con el mismo compilador (ImageCraft), simplemente portando el código (y cambiando los pocos periféricos que usaba del Cypress), aunque hay que comentar que en realidad la compleja rutina de configuración del cypress ocupaba algo así como 4K. 

Por tanto, tenemos que un código que se usaba en un micro con 28K, al portar al otro me quedaba en 20K (cómo me gusta el C).

Y encima, pasé de 6 MIPS (si la memoria no me falla, 24MHz/4) a 16 MIPS (@16MHz).

Portar un código de mega 64 a 128 me llevó un cuarto de hora.

Claro que si hablamos de tiradas cortas, y de tiempo de desarrollo, la electrónica pasa a un segundo plano, de manera que los conocimientos (el manejarlo), librerías, tiempos de desarrollo, etc, pueden encarecer más el producto que usar micros más pequeños. Por eso, valorar cual es el 'mejor micro', para mí sólo tiene una respuesta: 'depende'.


----------



## torresdelamora (May 28, 2008)

YouTube


----------



## tiopepe123 (May 28, 2008)

Ese es un mal ejemplo ya que la pantalla limita muchisimo la velocidad, si fuera una TV podria creermelo.

Ya sabeis que pasa con las lcd alfanumericas como no les metais retardos.


----------



## MaMu (May 28, 2008)

Meta dijo:
			
		

> Al final, lo que hace un PIC lo hace un AVR. Activas y desactiva entradas y salidas que eso es lo que importa. Da igual usar uno o otro uC, lo importantes es manejarlo.



Exacto. Los criterios de selección de un uC se basan fundamentalmente en los requicitos y las necesidades del sistema a desarrollar. No hay un uC mejor ni peor que otro. Si quiero desarrollar una aplicación donde simplemente destelle un led cada 1 segundo, no voy a usar un Propeller de Paralax, y si quiero desarrollar un kernel, no voy a usar un 12C508. Es el sentido común de la necesidad, tanto técnica como económica.
Además, los fabricantes de uC cuidad de su negocio, cuanto más cosas le agregan a un uC, más varientes del mismo sacan a la venta. Es muy comodo el puerto serie de un AT89C51, pero quien no emuló lo mismo con un 16F84?. Muchas veces la función de un uC la crea uno, con una buena programación, otras, es más simple tenerlo en el uC. El tema es que el mundo gira demaciado rápido, y las tendencias a desarrollar cosas más rapidamente, obliga a los desarrolladores a seleccionar uC donde tengan la mitad al menos del problema en cuestión resuelto. Es exactamente lo mismo que pasa con el entorno de los lenguajes de desarrollo, muchas veces en C se hacen las cosas más rapido que en assembler, y claro está, las nuevas tendencias por los lenguajes de alto nivel desde el nivel educativo, donde les inculcan, "assembler? octal? para que?, "ya lo C".
El que conoce un uC y lo domina, lo usa hasta que deja de existir o se reemplaza, o bien, las limitaciones son tan grandes para el nuevo desarrollo, que se ve obligado a saltar a otro de mayor nivel.

Saludos


----------



## Beamspot (May 28, 2008)

Lo del YouTube, ¿cual es el AVR y cual el PIC? Me imagino que el AVR es el de la derecha. Al fin y al cabo, he visto hacer un Pong con un AVR 'a pelo' y unos pocos pasivos (nada de drivers ni historias).

Bueno, menos guerrilla, y contestando a la excelente intervención de MaMu: tienes toda la razón. Más vale malo conocido que bueno por conocer. O más vale pájaro en mano que ciento volando. 

Pero eso de la variedad no ayuda. De hecho, en mi empresa (y creo que en muchas otras) se gasta tanto el PSoC, porque con un solo micro puedes hacer muchas cosas. Es decir, con el mismo integrado, puedes tener cuato puertos serie, o ninguno, o ADC's de 14 bits, o DAC's en su lugar, o lo que se te ocurra. Y encima, sin restricciones a la hora de usar los pines. Por eso comento en otro post que a los PSoC hay que echarles de comer aparte. La pena es que el 'core' es escaso... todavía.


----------



## Meta (May 28, 2008)

Beamspot dijo:
			
		

> Lo del YouTube, ¿cual es el AVR y cual el PIC?
> 
> Pero eso de la variedad no ayuda.



La variedad ayuda mucho. Lo del vídeo es más rápido o no depende del microcontrolador. Hay PIC más rápido que los AVR y al revés. El que hizo el vídeo es más partidiario del aVR que PIC.

Hagan lo que hagan, PIC siempre será el más usado.


----------



## Beamspot (May 29, 2008)

Meta, ¿tienes datos para sustentar tu afirmación?.

Los datos que tengo yo, es que los más usados son... los ARM (unos 300 millones al año repartidos en diferentes modelos).

La política de la mayoría de empresas en las que he trabajado, es la de unificar, no la de diversificar. Así que la variedad no ayuda. Por eso los PSoC tienen el éxito que tienen.

Conozco algunas empresas que han dejado Freescale (aparte de por su buen trato), por la extensa variedad que ofrecen. Si las tiradas son granes (millones), entonces se va al precio, pero para tiradas más cortas (decenas y centenas de miles) la diferencia de un céntimo entre un modelo y el otro no vale la pena, ya que los gastos de tener dos en stock son mayores que los beneficios.

Además, se está llevando el estilo de hacer sistemas 'grandes' que luego se rebajan. Así uno va sobrado, tiene recursos de sobra, no pierde tanto tiempo optimizando, tiene las liberías ya escritas, y simplemente reduce precio por reducir los costes de desarrollo. De ahí que de cada vez se lleven más los ARM. El hecho de que lleven SO (igual que algunos de los AVR's que tengo) simplifica mucho el escribir aplicaciones y el reusarlas.


----------



## tiopepe123 (May 29, 2008)

Lo que actualmete pasa es que se quiere potenciar los 15/32 bits, sino fijaros el monton de chip nuevos que salen en el mercado.

¿Os habeis fijado los pic32? me da la sensacion que no les funciona, que estan intentando promocionarlo pero la gente no PICa.

Todo lo contrario con los ARM y los Atmel, yo les heche un vistazo y no veo nada extraordinario, en cambio los dspic30 parecen interesantes como dsp baratos.

Los psoc ya lo comente no lo veo claro, parece que son para gurus por lo enrevesados que son, poca ram, poca flash.


Creo que el mundo tiende a 32 bits en ARM


----------



## Meta (May 29, 2008)

Beamspot dijo:
			
		

> Meta, ¿tienes datos para sustentar tu afirmación?.



Mi profesor sobre microcontroladores , PLC y microprocesadores. 

Cuanto más variedad, hay más posibilidad de elegir las necesidades de uno. Con el tiempo por lo que he visto, dejan de fabricar los menos vendidos y sobreviven los más usados.

Hay aspectos de tus respuestas diferentes a las mías, por eso no concuerdamos.


----------



## Beamspot (May 29, 2008)

Quizás de esta me echen, pero con mucho cuidadito con lo que te dicen los profesores.

He estado varios años en la facultad como becario, con mucho contacto con profesores, y muchos años trabajando en la industria, con mucho contacto con los vendedores.

Microchip es muy famosa por su política de márketing super agresiva. Quizás es la mejor que haya visto hasta la fecha, y creo que las ventas que tienen se deben sobretodo a esta política. A ver si los otros toman nota, especialmente los Frescales, que están en el lado opuesto.

Lo cierto, es que los profesores que dicen eso, los únicos números que tienen para sustentarse, son los de la comisión que les pasan, y las placas de evaluación que les regalan, y de las prácticas que se ahorran de preparar porque se la preparan los de Microchip. Y los proyectos final de carrera que también les preparan los de Microchip, que luego, casualmente, aparecen como notas de aplicación, donde el nombre del alumno pringao-currito ni aparece.

Los intereses nublan la vista.

Ojo, lo que he dicho, también vale por otros fabricantes, que no solo de microchip viven los profesores ni los comerciales de los distribuidores.


----------



## Meta (May 29, 2008)

Entendido.







http://alfaomega.internetworks.com.mx/libros_virtuales/motorola/moodle/






http://www.pic16f84a.com

Quiero aprender también AVR de Atmel, con libros se aprende muy pronto y mucho, lástima que no haya ninguno en español. Atmel, espabila o te pisan.


----------



## Beamspot (May 29, 2008)

Exactamente lo que tu has dicho al final, lo he dicho varias veces a los de Atmel. 102% de acuerdo con esto. O espabilan, o a la calle. Que no sólo de inglés vive el mundo.

Eso si, por desgracia, prefieren traducirlo antes al chino, que me consta que sí que hay traducciones... ¿Por que será?


----------



## Meta (May 29, 2008)

Beamspot dijo:
			
		

> Exactamente lo que tu has dicho al final, lo he dicho varias veces a los de Atmel. 102% de acuerdo con esto. O espabilan, o a la calle. Que no sólo de inglés vive el mundo.
> 
> *En el telediario en estos días salió que el 60% en EE.UU. se habla más en español que en Inglés. También salió que la lengua real academia española es la segunda más hablada de todo el mundo y lo van a poner más fuerte por todas partes hasta poner la ñ en las direcciones de las web. Esto es una gran ventaja para los españoles y habla hispana en general. Los EE.UU. está muy cabreado por lo que pasa a su país, pero a mi me va bien. jaja
> *
> ...


----------



## tiopepe123 (May 29, 2008)

¿Como no hay libro de Atmel en Español?...es que soy un poco inculto pero me parece que sobre el nucleo 8051 algunos libros habrar ¿no?


Yo ya he visto varias muertes como la serie ST6 y TMSXX de Ti (no me acuerdo).

Los de freescale estan haciendo una gran campaña , si no mirar en EDN y compañia, pero en gustos no hay nada escrito y prefiero el nucleo 8051 al de motorola 6502.

Los pics no son ninguna maravilla, recuerdo por los años 90 cuando salieron con la serie pic16c54 que no los querian ni verlos, poca memoria, lentos, pocas instrucciones pero aguantaron el tiron muy bien.

Por cierto, cual es el mejor entorno de desarollo el de microchip con el matlab o el de atmel

Yo creo MPLAB de microchip es muy potente pero claro uno no tiene vision proviniendo de la pantalla negra de comandos.


----------



## Beamspot (May 29, 2008)

Yo sólo te puedo informaciónrmar de que los Atmel se pueden programar en C (GNU GCC, o sea, gratis)
bajo cualquier plataforma, y si tienes Windows XP, entonces encima queda integrado en el AVRStudio, también gratis (en la página de Atmel).

Yo estoy muy contento, ya que el AVRStudio me soporta los JTAGICE que me permiten depurar en el propio sistema, acceder a los datos de RAM, ir haciendo una buena depuración con breakponints, paso a paso, programar, etc. por los 40€ que me costó un JTAGICE clónico de Olimex.

Incluso trabajando con un gran IDE en el trabajo como es IAR, para depurar el uso del hardware, prefiero el AVRStudio, ya que te pone de forma muy gráfica el estado de los registros internos así como su interpretación, además de permitirte modificarlos con un solo click. Cuando de trata de depurar programas más complejos (una vez depurado el uso del hardware), entonces las utilidades del IAR ya son más interesantes (trazas completas, seguimiento de los últimos comandos ejecutados, etc).


----------



## Meta (May 29, 2008)

tiopepe123, los PIC son una maravilla al derecho y al revés. Todo lo que sea microcontrolador me encanta y los PIC son mis preferidos por ahora.

Los IDE, parece que Microchip no hace mucho caso en un buen cambio al menos como el estilo office 2007, hasta AutoCAD 2009 (Beta) es así.

Bueno, al menos PIC está que se sale y lo ves en todas partes, hay más gente que lo usan y entretiene muy bien aprenderlos.

¿Alguien de aquí ha hecho algún proyecto y que utilice?

Yo cuando encuentre trabajo que aquí en España está un poco en para mucha gente, compraré cosas para PIC, sensores, LCD grande, etc y lo presento a una revista, y quizás en un futuro una página Web sobre microcontroladores..


----------



## torresdelamora (May 30, 2008)

a Diferencia de Meta, los Pic me parecen relativamente malos (o al menos los que he usado) ,son mas lentos, no estan optimizados para c, el codigo despues de algunas semanas de correr se atoran, consumen mas energia (importantisima) y lo unico bueno que tienen es que hay literatura de ellos por donde sea, Pero bueno, Cada quien que escoja sus familias que va a utilizar con las que se sienta agusto y les resuelva sus problemas, y todo termina en cuestion de opiniones personales (como la mia)

Saludos


----------



## Leon Elec (May 30, 2008)

torresdelamora dijo:
			
		

> a Diferencia de Meta, los Pic me parecen relativamente malos (o al menos los que he usado) ,son mas lentos, no estan optimizados para c, el codigo despues de algunas semanas de correr se atoran, consumen mas energia (importantisima) y lo unico bueno que tienen es que hay literatura de ellos por donde sea, Pero bueno, Cada quien que escoja sus familias que va a utilizar con las que se sienta agusto y les resuelva sus problemas, y todo termina en cuestion de opiniones personales (como la mia)
> 
> Saludos



Deberías probar la familia 18 y los dspic. Estos si están ambientados para el lenguaje C

Yo no he tenido problemas con mis programas después de una semana, ni meses. De echo, hasta los he dejado por mas de 1 mes sin energía y se comportan como si jamas les hubiera cortado la energía.

Si concuerdo que hay microcontroladores mas buenos que los pic (comparando las mismas características).


----------



## eidtech (May 30, 2008)

torresdelamora dijo:
			
		

> a Diferencia de Meta, los Pic me parecen relativamente malos (o al menos los que he usado) ,son mas lentos, no estan optimizados para c, el codigo despues de algunas semanas de correr se atoran, consumen mas energia (importantisima) y lo unico bueno que tienen es que hay literatura de ellos por donde sea, Pero bueno, Cada quien que escoja sus familias que va a utilizar con las que se sienta agusto y les resuelva sus problemas, y todo termina en cuestion de opiniones personales (como la mia)
> 
> Saludos



El hecho de que se atoran después de cierto tiempo no quiere decir que sea por que el PIC sea malo, puede ser el firmware, el hardware, el PCB, incluso puede ser el compilador si es que usas C.

Eso si son mas lentos, recordando que dividen en 4 su reloj, lo cual lleva a consumo de potencia mayor, que es muy critico para aplicaciones a baterías. 

Del microcontrolador que muy poco se ha hablado aqui es del MSP430... el cual esta bastante interesante, tiene bastantes elementos para figurar entre los primeros.


----------



## fernandob (May 30, 2008)

hola, yo mi primer aprendizaje y me dio mucho trabajo fue con los COP8 de national.
si......national, desde siempre estan con CIS......los CD4xxx que compraba eran national......
y me cagaron .....ya no fabrican, no tienen variedad, dejaron de importarles.

asi que lo primero es lo primero:
una empresa /familia /marca que este ayer, hoy y mañana , facil de conseguir y que este en la carrera de la competencia.
eso es lo primero.

luego conseguir información, poder aprender de verdad.......sino.....que ? para mirarlos ?

en funcion de eso , luego terminan siendo iguales, por que si , como puse al principio son de una marca importante habra variedad, desde 8 pines con solo I/O digitales hasta chiquicientos pines de 32 bits, que te programan ellos a vos.
eso en la gama baja o media.

asi que para mi si uno quiere meterse en una linea:
lo que puse, en su pais los va a conseguir sempre ? esos.
luego : quien te va a enseñar ? tenes un amigo o un profe o un buen curso de micros KUKITO , dale a esos .....una vez qe te acostumbras listo.

Un consejo : dejense de joder con esas comparaciones , disfruten la linea que comocen y hagan cosas...es como ir a comer a un bar:
o disfrutas de lo que tenes en el plato o te la pasas mirando el plato del vecino.



ah....casi me olvido, para el hoobysta el kit de desarrollo pesa:
una marca que podes programar todos facil y gratis es una cosa.
otra marca que cada chip tenes que comprar una placa de desarrollo distinta y cara.....  

lo dicho es para la gama baja o media .
en la gama alta de aplicaciones , eso es para ingenieros que tienen la capacidad mental de pasar de una linea  a otra sin mucho drama, por que el dueño compro un lote de tal marca.
los pic lo que me rompia los higos era el tema de paginacion pero se pueden programar en C por lo que leo, asi que ......


----------



## Meta (May 31, 2008)

torresdelamora dijo:
			
		

> a Diferencia de Meta, los Pic me parecen relativamente malos (o al menos los que he usado) ,son mas lentos, no estan optimizados para c, el codigo despues de algunas semanas de correr se atoran, consumen mas energia (importantisima) y lo unico bueno que tienen es que hay literatura de ellos por donde sea, Pero bueno, Cada quien que escoja sus familias que va a utilizar con las que se sienta agusto y les resuelva sus problemas, y todo termina en cuestion de opiniones personales (como la mia)
> 
> Saludos



PIC lentos, pero eficaces, para lo que lo quiero está bastante bien como activar una series de entrada y salidas está muy bien. Aún así, no veo que la gente se preocupe demasiado la velocidad de los PIC, por ahora no me preocupa. En cuanto a orientado a C, los hay de la gama 18F y dsPIC.

Con el tiempo, veo que hay muchos PIC para elegir, mientras unos mueren, otros nacen y mejor.

Si quiero potencia, para eso microprocesador, que le da mil vueltas a los PIC _(no todos)._

Al menos donde vivo, en las universidades han quitado los motorola y pusieron los PIC como obligatorio y opcional los Atmel para sacar mas notas. ¿Por qué cambian los PIC por Motorola?

Muchos ingenieros dicen que los Motorola son mejores como microcontroladores.


----------



## asherar (May 31, 2008)

fernandob dijo:
			
		

> ...
> los pic lo que me rompia ... era el tema de paginacion pero se pueden programar en C por lo que leo, asi que ......


Bueno, como poderse se puede. Al menos, con banksel y pagesel, hasta ahora ese tema lo he podido resolver. Me ha costado un higo y medio, pero ...    
Aparte, después de 10 años programando, tengo una tonelada de código hecho en assembler. Y ahora me voy a pasar a C ? 
Aguante el assembler ! 

O como dijo el filósofo informaciónrmático:  " Sólo ce ce, no ce más más "  
.


----------



## Meta (May 31, 2008)

Alejandro Sherar dijo:
			
		

> fernandob dijo:
> 
> 
> 
> ...



Ya que has programado unos 10 años. ¿Tienes proyectos hechos y presentado en internet?


----------



## asherar (May 31, 2008)

Tengo muchas cosas empezadas y algunas terminadas, y otras dormidas en un cajón. 
Hace poco postee un proyecto completo en el foro y solo lo bajaron 3 personas hasta ahora.
Es dura la vida.

Podés verlo  ACÁ .


----------



## Meta (May 31, 2008)

Alejandro Sherar dijo:
			
		

> Tengo muchas cosas empezadas y algunas terminadas, y otras dormidas en un cajón.
> Hace poco postee un proyecto completo en el foro y solo lo bajaron 3 personas hasta ahora.
> Es dura la vida.
> 
> Podés verlo  ACÁ .



Muchas gracias. Normal que bajen poco, para tener un buen resultado y se lo bajen, súbelo en el primer post y avisa en el último de que has colocado los archivos n el primer post.

Funciona, pruebalo.


----------



## asherar (May 31, 2008)

El posteo fue para un "concurso" de proyectos. Yo colgué los guantes de la docencia hace 
unos 8 años. La vocación la sigo teniendo pero guardo las energías para cuando llegue 
"el" que quiera aprender. Salir a buscar alumnos nunca más. 
En todo caso tendría que saber algo como para poder enseñar. 
Ahora apunto más a hacer money !

Como resultado de la cita anterior lo han bajado otros 10.  
Espero que no se mareen.

Saludos !


----------



## Meta (May 31, 2008)

Tengo un miniproyecto que presentaré en una revista española de electrónica en cuanto tenga dinero en comprar componentes y demás elementos para hacer placas.

En cuanto que dices que han bajado 10, hombre, si haces publicidad, se bajarán muchos más ya que saben que existe.

https://www.forosdeelectronica.com/posts/111913/


----------



## fernandob (May 31, 2008)

Alejandro Sherar dijo:
			
		

> Ahora apunto más a hacer money !
> 
> Saludos !



como es la vida, no ?  ...te reentiendo, uno se cansa, yo hace años que me dejo llevar por eso, por que si no uno ve pasar la vida haciendo circuitos al dope.

por otro lado, no se como seran lso demas, pero a mi me gustaba ver el assembler de otros para ver como trabajan,. aprender.....nunca grabaria el programa de otro en un chip mio, ni armaria un circuito que no comprendo antes.
es trabajar a lo ciego y *NUnca funciona*. 
pero que es muy interesante ver como trabajan otros ......eso si 

saludos


----------



## MaMu (May 31, 2008)

Meta dijo:
			
		

> Beamspot dijo:
> 
> 
> 
> ...



Bueno en realidad lo de más usado o menos usado, discrepo en el asunto. Principalmente porque existe un fundamento para determinar que uC son los más usados.

Los más usados son los basados en la arquitectura del 8051 y no los pics. Porque? Simplemente porque los desarrolladores importantes saben que estos uControladores los fabrican casi todos los fabricantes de uC, en cambio, los PICs solo los fabrica Microchip.
Si Microchip funde, funden todos los proyectos de quienes confiaron en Microchip, en cambio, si Atmel funde, yo me voy a Motorola o a cualquiera de los más de 300 fabricantes de uControladores basado en el 8051. Y que hago con Microchip? que hago con mis PICs? Hay algun fabricante que haga lo mismo? No, es pura fantacía, los clónicos de Microchip no tienen ni auge ni público interesado, ya quedó demostrado con PicAxe vs. BasicStamp. Y lo más importante de todo, los PICs son caros, en proporción a las prestaciones de muchos uControladores, fijense, un 16F628 vale u$s 3.50.- mientras que un Tiny se consigue por u$s 2.15.-, diferencia abismal para los productores en serie.

Por lo tanto, el uso de uno u otro uControlador queda determinado por la relación Costo-Prestación, hablando en términos de grandes productores. Para nuestros proyectos en los que usamos 1 o 2 uC, esto nos resvala y gastamos más para hacer menos, por lo que muchos productos fracasan en las puertas del mercado.

Saludos


----------



## Meta (May 31, 2008)

PIC es el rey de microcontroladores y en ventas les guste o no, está demostrado desde hace años, serán caros, pero por lo que se ve, el precio no les frena las ventas, PÏC, son los más usados, los más vendidos, los más etc...

Te lo comentan en Inetrnet en todos los idiomas, revistas, fascículos, y el libro que me compré pic16f84a.com


----------



## eidtech (May 31, 2008)

Meta dijo:
			
		

> PIC es el rey de microcontroladores y en ventas les guste o no, está demostrado desde hace años, serán caros, pero por lo que se ve, el precio no les frena las ventas, PÏC, son los más usados, los más vendidos, los más *HORRIBLES* etc...



Tu comentario lo único que demuestra es tu escaso conocimiento del tema.


----------



## Meta (May 31, 2008)

Tal vez, pero la realidad está ahí. PIC y más PIC.

AVR lo veo como secundón del tema o uC alternativo. Antes oía nombrar los Motorola y Uprocesadores Z80, 8085, 8086, 8080 y se les veía mucho en la universidades. Ahora son PIC sustituto de los motorolas, no han elegido AVR. Por algo será, eso si, al menos está opcional.

No puedes luchar con los PIC, si fueran horribles no sería famoso ni nadie los compran. Hasta en mi ciclo superior enseña el 16F84A y de Atmel ni lo nombran pero si Motorola.

Por algo será.

Opino que si los AVR son buenos como dicen, estaría más alto.

PD: *UNA cosa, no pongas palabras en mi boca que no he dicho. Me encantan los PIC, y ningún uC son horribles.*


----------



## asherar (May 31, 2008)

Muchachos! No se peleen !

Esta discusión sobre tendencias del mercado es al gas !  
Nadie puede saber qué pasará con los micros simplemente porque todavía no ha pasado. 
Desgraciadamente la electrónica y su amiga íntima la informática están insertas en un 
mercado de consumo que las van degradando. 
Cuando apareció el video pasó algo similar. La tecnología betamax era técnicamente muy  superior, pero quedó relegada por un golpe de mercado a favor de las cintas de VHS. 
Y la gente compró VHS durante casi 3 decadas hasta que apareció la filmadora digital. 
Ahora el betamax se emplea en los estudios profesionales para las grabaciones de calidad. 
Es así. Pero qué va a pasar ? Depende de la pulseada de las grandes corporaciones. 
Hace 10 años Hunday era una multinacional prometedora, fabricaba desde memorias ram hasta barcos. Hoy no existe.
Quizas mañana Microchip haga fundir a Motorola vendiendo Pics a 3 U$S. 
Nadie lo sabe. Todo es un albur !
Nosotros apenas somos los "invaluables customers" !
Saludos !


----------



## eidtech (May 31, 2008)

Meta dijo:
			
		

> Tal vez, pero la realidad está ahí. PIC y más PIC.



La realidad no es lo que tus ojos apenas pueden ver... hay un mundo alrededor de ti que no eres capaz de visualizar y tu universidad no es la única que existe en el mundo, asi que no generalices.

*P.D. YO NO PUSE PALABRAS EN TU BOCA, SOLO COMPLETE! ENTENDIDO?*


----------



## Meta (Jun 1, 2008)

*Alejandro Sherar*, lo del VHS, estas historias la di en electrónica y es verdad. ¿Me estás diciendo que los PIC le pasa lo mismo o similar?

Pues si los PIC son horribles como dicen por ahí, a mi me chiflan y los voy entiendo poco a poco. Los prefiero más que los MicroProcesadores 8088 que enseñaban antes. se que lso Mprocesadores son mejores que los Mcontroladores, pero me da igual.

*eidtech*, te contradices, encima que pones cosas que no he dicho, pones cosas que no pienso ni quiero decir. Sabes que amo los PIC y pones como si yo dijera que son horribles cuando en realidad me encantan. Si no hay PIC, hay otras cosas para aprender y hacen lo mismo. Activas y desactivas entradas y salidas. Cuando saquen libros de AVR lo compraré, el de Motorola tendré que ver como es, a ver si vale la pena perder el tiempo con ellos.


----------



## asherar (Jun 1, 2008)

Meta dijo:
			
		

> *Alejandro Sherar*, lo del VHS, estas historias *la di en *electrónica y es verdad. ¿Me estás diciendo que los PIC le pasa lo mismo o similar?



Yo no sé de los otros uC y por eso no opino. Yo uso los pic porque invertí mucho en ellos como para cambiar de "caballo" ahora. Me compré el PicStartPlus y luego la actualización. 
Me pasa como con el assembler. Estoy jugado. Uno tarda un cierto tiempo en aprender a manejar una tecnología y luego queda medio atado. 
Lo que digo es que estamos a merced de lo que decidan estos tipos. Lo de la calidad es otro tema. 

Por eso les decía que no se pelearan. El tema que me preocupa en realidad es la "autonomía". 
Vos programaste el META SHELL en ese entorno Visual C# .net, yo programo en Visual Basic. 
Cada uno apuesta a una tendencia. Si mañana a Billy Compuertas se le ocurre no dar más soporte a Visual B. yo estoy frito. Y a quién me quejo ? Lo grave es que eso puede pasar *no porque Visual B sea malo, sino porque al tipo no le resulta más negocio*. Si al .net ese le pasa lo mismo el que va a tener que migrar a otro lenguaje sos vos. 
Por eso digo que es una lotería. 
La macana es que uno le puso miles de horas hombre a sus programas. 
Y no hay forma de independizarse. Si no cada uno se tendría que programar su propio SysOp, su propio editor de texto, etc., y así no habría avance tecnológico. 
Te la hago corta: ¿ alguien me puede decir por qué el paquete de Office después del 2000, 
ya no trae más el Frontpage ? Para mí era bárbaro. Y luego no encontré otro parecido. 
Eso es a lo que me refiero. 
Lo que pasa con los micros es otra cara de la misma moneda. 

Saludos!

PD: De tu mensaje no entendí eso que te marqué en *negrita*.
.

Editado: Vean esto y traten de no reirse: 
El tao de la programacion


----------



## Meta (Jun 1, 2008)

*Alejandro Sherar*, lo de la negrita es que me lo enseñaron en clase esas historias antes de aprender a reparar los VHS.

Tienes razón lo que cuentas, pero en un futuro me gustaría aprender más tipos de uC aunque sea por el aire, es que me pica la curiosidad. También unir uC de distintas marcas en un mismo proyecto.

Eso si, mejor perder el tiempo en mejorar algo que ya sabes, pero hay un pero en lo que cuentas.

O renuevas o mueres.

Si los PIC muere, hay que renovarse a otro uC, preferiría los AVR, pero como hay libros de FreeSacaler, me meteré en ese que a ese si le doy caña.


----------



## asherar (Jun 1, 2008)

Meta dijo:
			
		

> ...
> O renuevas o mueres.
> Si los PIC muere, hay que renovarse a otro uC, preferiría los AVR, pero como hay libros de FreeSacaler, me meteré en ese que a ese si le doy caña.



Exacto ! Reciclarse es vivir ! 

Ahora fijate el "tao de la programación" que posteé en el mensaje anterior !


----------



## Meta (Jun 1, 2008)

Voy a hechar un vistaso.

http://www.psicobyte.com/ppersonal/risas/tao.html


----------



## tiopepe123 (Jun 1, 2008)

En mi opinion es un error enseñar los PIC en educacion , es mejor el 8051, como comente yo programe en Z80,8088,ST6,TMS240,Pic,8051 como veis puedo criticar a gusto.

El 8051 es casi una CPU readaptada, creo que es mucho mas educativa que los pic que son diseñados para una facil programacion y manejar led y poco mas, cuando debes trabajar con memoria la cosa se complica.

Para mi el mejor microprocesador de la historia es el Z80, con solo 8 bits trabajaba como uno de 16 bits, manejaba la memoria de una forma sorprendente, lastima que zilog se durmio en los laureles. Supongo que fue el trabajo de algunos ingenieron brillantes que se jubilaron.

Microchip fue un joint venture o una aventura empresarial en los años 90 que le fue justito en quebrar, pero gracias a la flash a logrado imponerse.

Creo que actualmente la mejor apuesta es pasar a los 16 bits como los arm o dspic ATmegas y similares y programacion en C.

En cuanto a programacion en PC yo lo he dejado un poco en banda, todo corre demasiado para mi celebro lineal y estructurado (C puro)


----------



## Fogonazo (Jun 1, 2008)

El mejor Micro es el que mejor se adecua a tu necesidad en "ESE" momento dado.
Y sera distinto en cada oportunidad


tiopepe123: ¿ Como que no trabajaste con el 8085 ?

8085 + 8255 = Superman, El Hombre Araña e Ironman juntos


----------



## MaMu (Jun 1, 2008)

Fogonazo dijo:
			
		

> 8085 + 8255 = Superman, El Hombre Araña e Ironman juntos



Fanáticos de los pines... 
Falta el 8253 creo que era el timer no?


----------



## fernandob (Jun 1, 2008)

Alejandro Sherar dijo:
			
		

> Yo no sé de los otros uC y por eso no opino. Yo uso los pic porque invertí mucho en ellos como para cambiar de "caballo" ahora.
> Saludos!
> 
> ][/size]



exacto, es asi lo que pones y es el tiempo de aprendizaje y experiencia la mayor inversion......

saludos


----------



## tiopepe123 (Jun 1, 2008)

Ya no llegue a tiempo, ademas el z80 le daba mas de una vuelta programado en ASM.
Mi querido 8255 lo utilice para hacer un programador de eprom con un 8031 y via serie y msdos...que tiempos.

Realmente en esos tiempos los intel no eran ninguna maravilla, para hacer cualquier operacion era normal utilizar hasta 21 ciclos de reloj imaginaos com 8Mhz el trabajo que hacian.

Cada micro tiene su lugar, por ejemplo yo estube trabajando con un tms de texas obsoleto que estaba lleno de protecciones contra fallas, protecion para el timer, para UART...


Creo que debemos desviarnos hacia los 16bits, quien a trabajadoo en dspic o ARm?


----------



## Meta (Jun 1, 2008)

Antes se usaba mucho el 8085 en mi clase, se pasaron a los PIC. Porque está relacionado con los autómatas programables PLC. EL PIC como ya saben, muy usado y veo que será así. En universidases al menos donde vivo y más sitios de España, se han sustituido el motorola por PIC.

Así que ese 8085 ya es historia. Lo que estoy de acuerdo es usar más los PIC 16 bit, pero veo que nadie lo hace ni yo mismo, ya que tengo el libro del 16f84a y quiero manejarlo bien. Por algo será.


----------



## Beamspot (Jun 2, 2008)

Discrepo en algunas cosas:

A mi en la facultad no me enseñaron más mícros que la teoría del 8085. A la hora de la verdad, empecé con el 8051, aprendiendo yo solo a pelo.

Aún así, creo que los Microchip son geniales para enseñar de que narices va esto de un microcontrolador. Un poco (muy muy poco) de ensamblador, y en dos semanas tienes a los alumnos encendiendo y apagando leds. Si a eso le sumas que Microchip regala (o casi) las placas a las universidades, facilita mucho código para que tengan la faena hecha, y además el mejor periférico de todos: la comisión al profesor, entonces está claro.

Personalmente, creo que es lo mejor para enseñar a los alumnos que empiezan los PIC. La sencillez del micro obliga a que cojan unas maneras y costumbres buenas, sin tener que romperse mucho la cabeza.

Luego, creo que es conveniente que se de un paso más, y se enseñe algo de micros un poco más complejos, donde tengan más libertad de programación, más opciones, y a programar en lenguajes de un nivel más alto, de manera que con menos esfuerzo hagan más cosas.

Más que nada, lo digo porque como profesional que ha escrito varios programas para sistemas comerciales, en el rango de 40 a 120 KB de código, en C (también se ensamblador, C++, C#, VisualBasic, Pascal), no hay alternativa en ensamblador, si nó, la empresa quiebra para hacer el mismo programa en el triple de tiempo (y con más problemas de depuración/mantenimiento).

Pero en mi opinión, empezar con los ARM, que son de 32 bits, no de 16 como alguien comenta, no es buena idea. Demasiados periféricos, demasiados bits a mover, inicialización demasiado compleja, modos de CPU complejos, etc. Y eso aún a pesar de las pocas y sencillas instrucciones que tiene. Usarlas no es precisamente sencillo, al fin y al cabo, en una misma instrucción puedes hacer hasta tres cosas a la vez... Personalmente no los encontré fáciles cuando empecé a tocarlos, incluso teniendo experiencia en micros grandes (ATmega128, por ejemplo).

Lo de sustituir los Frescales (Mototrola) por los PIC es de cajón. Contra los últimos pongo algunas pegas técnicas de 'obsolescencia' del core, que no de calidad ni de nada más. Contra los primeros, aunque sus micros son (según me comentan) mejores, su política es nefasta. Demasiados problemas me han generado (incluyendo algunos por exceso de variedad) no sólo a mí, si no también a otras empresas. Ya conozco unas cuantas que han cambiado de Freescale a otros (no importa cuales) incluso más caros, sólo por la política de Freescales. Si a eso le sumamos que los micros que usábamos los han obsoletado sin darnos nada para sustituirlos, no hace falta decir que nos vimos forzados a cambiar de micro. Ya puestos, elegimos uno que nos sirviese para todo, en lugar de uno específico para cada aplicación. Si encima el nuevo proveedor nos regala todas las herramientas de desarrollo (frente al atraco que nos hacían los Frescales), la elección era evidente.

Hace pocos días, vinieron a intentar vendernos otro micro. Cuando nos dimos cuenta, resulta que había unos costes 'escondidos' enormes (herramientas de desarrollo por 4000€, chips de acompañamiento, etc). Y cuando nos preguntaron porqué dejamos de usar sus micros, un poco más y nos dicen que la culpa era nuestra, por no comprar suficiente cantidad. Que muy agradecidos les debíamos estar por no haber obsoletado antes ese micro, y por habernos avisado...

Podría contar más despropósitos de Freescales (como su stack de ZigBee), pero no vale la pena el esfuerzo.


----------



## Meta (Jun 2, 2008)

Bueno, se empieza con algo, después eliges.


----------



## asherar (Jun 3, 2008)

Hola: 
Estoy empezando a leer sobre FPGA. De Elektor me bajé  esto . Es medio panfletario pero para mí que todavía no entiendo mucho, me llena el ojo.   
Según  dice la publicidad es lo que se viene en digital. Incluso vaticinan que les "pasa el trapo" a los micros. 
Según me han dicho, las FPGA de Altera tienen tiempos de conmutación de apenas 1-2 ns. 

Estoy diseñando una placa para sincronizar un conversor AD (AD9288, de hasta 100 MSPS) con memorias de 12 ns de acceso. Ya me armé toda la placa con el 74LS02 para probarlo en 32 MHz, y pasarlo a la PAL cuando pueda (= sepa AND tenga $).  
Ahora viene armarme del sistema de desarrollo. Tengo entendido que es medio carito, no?    

Saludos!


----------



## tiopepe123 (Jun 3, 2008)

Un poco lento un 74ls02 para 32Mhz?

Es lo que mas me asusta son los temas "escondidos", le dedicas muchas horas a conocer el micro y luego cuando llega a la hora de la verdad te encuentras con limitaciones y gastos imprevistos..caca nene.


Creo que los de freescale se les han calentado las orejas, si no entrar en su pagina y veréis que campaña llevan por delante, bastante fuertes van, seran que estan perdiendo mercado?.


Las FPGA son magnificas, puedes hacer hasta una CPU a tu gusto, completamente personalizada, pero..ya estamos... las herramientas y el prototipado es carisimo.

Cuando sea igual que los pic luego ya hablaremos.



ARM: Que una sola instruccion pueda hacer varias cosas no es malo, cualquier microprocesador lo hace.

Solo los pic no lo hacen por ahora, pero esto viene de la filosofia misma del fabricante, un micro sencillo de programar, lastima de los bancos, en parte se podria explicar por que los primeros pic son casi una practica de colegio
"construccion de una CPU risc con FPGA."



PS: Si que es bueno comentar estos detalles de las empresas, cuando alguien no se comporta bien debe asumir las consecuencias. Si hacen propaganda maliciosa debe asumir que no gastemos sus productos.
Yo ya llevo algun tiempo vigilando el ZigBee, ahora andaré con mas cuidado con esta gente y mirare los recovecos


----------



## Beamspot (Jun 3, 2008)

Pues las FPGA no son tan caras: mira en www.digilentinc.com y mira los precios.

Eso sí, FPGA != fácil.

Lo de los ARM y sus instrucciones de uso múltiple significa que sus instrucciones (en modo ARM, 32 bits) tienen un campo de condicionales, con lo que todas son la instrucción MAS el condicional añadido. Además, algunas tienen un campo de rotación de registro, de manera que se puede multiplicar o dividir por múltiplos de 2 en la misma instrucción. Eso significa que la instrucción 'decrementa y salta/evita si cero' y la instrucción 'decrementa' es la misma con un cambio en un bit del campo de condicionales. Y encima puedes multiplicar/dividir a la vez el susodicho registro. Eso tampoco es sencillo.

De los PIC, lo peor que encontré eran los bancos. Y para acabar de fastidiar, el tema del stack y la limitación a la hora de llamar a una rutina desde otra rutina.

El hecho de que tengan un único acumulador (llamado W por working, al estilo mototrola) no es exclusivo de los PIC, así que digamos que todos los micros que funcionan con esta técnica tampoco me acaban de gustar (8051 y freescale para empezar), y es uno de los motivos por lo que me gustan los AVR y los ARM. La de instrucciones (y sus correspondientes ciclos) tipo MOVW que uno se ahorra al no tener que trabajar tanto con la RAM.

Por lo que respecta a ZigBee, aparte de mis desaventuras con Frescales, está el punto de los royalties, que acaban de rematar la faena, ya de por sí difícil, de integrar un protocolo muy pesado para tareas muy ligeras. Por eso, me decanto más por el 6lowPAN, gratuito, compatible con TCP/IP (al fin y al cabo, es una adaptación del mismo), más ligero y fácil de programar, y encima corre sobre el mismo hard que el ZigBee, pero sin royalties.

Respecto de los fabricantes, TI y Atmel son los que más me gustan. Una pena que TI no tenga el sistema integrado con un MSP en lugar de con el vetusto 8051.

Una última recomedación sobre los protocolos ZigBee y derivados: sobredimensiona la RAM todo lo que puedas. Por eso me gusta el nuevo ATmega1284P: 128KB de flash, 16KB de RAM en un DIP (y DFN/QFN) de 40 pines.


----------



## Meta (Jun 3, 2008)

Parece muy bueno los FPGA.


----------



## asherar (Jun 3, 2008)

tiopepe123 dijo:
			
		

> Un poco lento un 74ls02 para 32Mhz?...



El libro "Manual del TTL" de Don Lancaster dice que las 74*LS*xx llegan a 45 MHz. 
Igual voy a empezar con 4 MHz y subiré a 10, 20, 32 MHz, a ver cuándo empieza a hacer tonterías. 
Para subir más en frec. pensé en las FPGA, porque un amigo mío tiene el programador y un montón de chips, y me los ha ofrecido. Je Je! 
Si nó para alta frecuencia hay que caer en MAXIM (ésa es una empresa). 
Me fascinaron desde que ví el proyecto público "pico-scope" (o "pic"-scope, para los que amamos los pics). Los opamp son de Maxim (tienen una resp. en frecuencia espectacular), el micro es un pic y la sincronización la hacen con una FPGA. Como es el módulo que maneja la lógica le llaman "SPOCK".

Saludos!

Ya que estoy adjunto la tablita. Sorprendente lo de 125 MHz! Hasta parece un error de imprenta.


----------



## torresdelamora (Jun 4, 2008)

hay un Avr con fpga

http://www.atmel.com/products/FPSLIC/overview.asp


----------



## Beamspot (Jun 4, 2008)

Tengo entendido que los FPSLIC no tienen mucha tirada. Probablemente, debido a que los que necesitan FPGA se quedan cortos con un AVR, y prefieren algo como un ARM o similar. Aunque el elevado precio que me han comentado que tiene el kit de desarrollo tampoco ayuda.

Otra opción interesante son los PSoC, aunque los 'buenos' aún están en el horno.

Y mira que yo soy un fiel usuario de AVR's...

Por cierto, en la tabla de velocidades hecho de menos los HC y HCT, así como los nuevos AHC y derivados. Que yo sepa son bastante rápidos, y tienen un consumo inferior a los S.


----------



## asherar (Jun 4, 2008)

Beamspot dijo:
			
		

> ... el elevado precio que me han comentado que tiene el kit de desarrollo tampoco ayuda.
> Otra opción interesante son los PSoC, aunque los 'buenos' aún están en el horno.
> ...


Me declaro absolutamente neófito al respecto y a riesgo de ser demasiado ingenuo pregunto: ¿ Qué es lo que hace tan caros a los kit de desarrollo ? 
¿ No se los puede reproducir "made in casa" ? 



			
				Beamspot dijo:
			
		

> Por cierto, en la tabla de velocidades hecho de menos los HC y HCT, así como los nuevos AHC y derivados. Que yo sepa son bastante rápidos, y tienen un consumo inferior a los S.


Si, notarás que el libro es algo vetusto: 1985!. 
Me daré una vuelta por google a ver si puedo completarla.
Igual si vos tenés alguna "data" me interesa.

Gracias!


----------



## Beamspot (Jun 5, 2008)

El precio de los kits de desarrollo es muy variopinto y tiene varias historias detrás.

Primero, el precio es político, es decir, lo fijan según la política de la empresa.
Segundo, la tirada de los kits de desarrollo suele ser baja, de manera que el desarrollo del kit lo encarece mucho.
Tercero, no todos los integrados son fáciles de desarrollar. Es decir, hacer una placa de desarrollo de un PIC o de un AVR es sencillo (mira la página www.webdearde.com y busca en el foro de proyectos sobre 'se buscan diseñadores'). Hacerlo sobre una FPGA ya no lo es tanto, pues igual hace falta acceder a determinados registros que en una FPGA normal no están disponibles, y por tanto la de desarrollo es 'especial'. Esto último pasa con los PSoC de Cypress (los actualmente disponibles).

Mirando en google: http://www.nxp.com/acrobat_download/datasheets/74AHC_AHCT00_4.pdf


----------



## torresdelamora (Jun 5, 2008)

Ok.  entonces tambien esta el  at91cap que es un arm con fpga


http://www.atmel.com/products/at91cap/default.asp

No los he usado, pero creo buena la opcion,  usan un micro de 32 bits y  ya manejan cierto grado de compuertas.


----------



## FRZ (Jun 5, 2008)

Hola a todos, después de leer todo el post (que por cierto me reí muchisimo) me dieron ganas de meter mi cucharota.

Pienso que es ridículo argumentar que un microcontrolador de X marca es mejor que el otro de Y marca diciendo que si para lo único que lo usas es para activar o desactivar salidas, prender o apagar leds. Para eso cualquier microcontrolador es excesivo.

Cada quien opina acerca de lo que sabe y de lo que ha vivido, el compañero Meta menciona que el PIC es el rey de los microcontroladores, (por eso fué que me reí), pero no todo en la vida es activar o desactivar entradas y salidas, por que para aplicaciones mas complejas donde requieras procesamientos mas complejos ya no da igual usar uno u otro uC, respeto todos los argumentos que menciona, pero lo que veo es el miedo al cambio , es normal y suele pasar que tratemos de defender y quedarnos con lo mas cómodo y conocido para nosotros. Estoy casi seguro que si conociera un Atmel a fondo y lo pudiera manipular a su antojo diría cosas muy diferentes. 
Poniendo un ejemplo es como decir mi PC con Pent III con win xp es mejor que una con Core2duo siendo que lo único que utilizo es el Paint o Word Pad.

En mi experiencia los pics son usados (acá en mi país) como medio de enseñanza de escuelas técnicas ( que suponen un nivel educativo regular) o por cualquier electrónico hobbista es por eso que son mas populares. En la universidad que estoy que cabe mencionar tiene el mejor centro de diseño electrónico del país simplemente enseñan con Atmel y arquitecturas 8051. Siempre he utilizado los dos, Pic y Atmel pero por experiencia propia para aplicaciones mas avanzadas Atmel es la opción.

Aunque si a mi me preguntaran ¿qué prefieres Atmel o Microchip? diría FPGA (Xilinx o Altera) ya que dentro de una FPGA puedes implementar con HDL un soft core de un microcontrolador  (de hasta 32b)  a tu medida, con tus propias especificaciones, dispositivos perifericos, (pueden buscar información acerca del NIOS II de altera) y posteriormente programar tu softcore en C.  Como dato, Intel diseña sus procesadores sobre FPGA así que imaginen lo que pueden hacer con una de esas y los kits de desarrollo básicos no son tan costosos, yo les recomiendo que se relacionaran mas en el tema de las FPGA's por que por ahí escuche que reemplazarán a los dispositivos On-board para ser todo On-chip.

Aunque me desvié un poco del tema cada uC , como muchos ya mencionaron, es perfecto cuando tu aplicación funciona correctamente.

Como resumen de muchos comentarios dentro del laboratorio y en muchas otras partes llegamos a los siguiente.

Quieres hacer un proyecto divertido prender y apagar foquitos y pasar el rato con un hobby, usa un pic, en internet hay muchos proyectos e información sobre pic.(Ojo no digo que es lo único que se pueda hacer con un Pic)
Quieres implementar o desarrollar algún dispositivo periférico para otro dispositivo (PC por ejemplo), utiliza Atmel , información hay, pero en inglés.
Quieres desarrollar un sistema embebido complejo con interfaces para otros dispositivos, sistema operativo propio, utiliza FPGA.

Saludos a todos =)


----------



## Meta (Jun 6, 2008)

Lo de que los PIC es el rey se refiere en ventas y te lo dice en internet y en el libro www.pic16f84a.com, ¿Dónde está la risa? Más risa cojo que tanto AVR y a nadie lo veo que conozca en persona y no quieren ni verlo, prefieren Motorola o los 8085, curioso pero es así. AVR tiene cosas como que si tocas el oscilador, se vuelve muy inestable cosa que con PIC no pasa. Lo he leído por internet.

Lo de activar y desactivar entradas/salidas, no es solo para encender LED, _(prender Led que en España da el significado de prenderle fuego al Led)_ sino entradas y salidas para hacer cosas.

FPGA por ahora es muy nuevo, cuando hagan libros en español sobre este tema me meteré en él, mientras pierdo el tiempo con PIC.

A ver si veo un AVR a alguien conocido, solo por curiosidad y ver como es. Ah, perder el tiempo en aprender bien bien un AVR para ello prefiero perfeccionar más los PIC a fondo sea en asm o en c, de 8bits y quizás me meta con los PIC32 por curiosidad en un futuro (aún lejano). Los AVR lo haría un poco por curiosidad y ver como es, sólo un poco lo aprenderé, pero no a matarme.










PD: _Quizás les interese leer esta información por curiosidad._

Microchip Anuncia una Completa Oferta de Microcontroladores USB de 8, 16 y 32 bit

Fecha de publicación: 5 junio 2008
Microchip Anuncia una Completa Oferta de Microcontroladores USB de 8, 16 y 32 bit

Microchip anuncia la gama más completa de microcontroladores USB de 8, 16 y 32 bit con el soporte de un único entorno de desarrollo: el MPLAB® IDE gratuito. Basándose en sus Microcontroladores USB de 8 bit PIC18, Microchip ofrece ahora la familia PIC24F USB de 16 bit, que es compatible en patillas, periféricos y software con los Microcontroladores USB PIC32 de 32 bit, de altas prestaciones y 80 MHz. Microchip también ha ampliado su oferta de 8 bit con la familia PIC18F1XK50 de menor coste y una huella más pequeña. Todos estos dispositivos cuentan con el soporte de pilas USB y controladores de clase ofrecidos de forma gratuita.



Los diseñadores de sistemas embebidos siguen adoptando USB como interface preferido en aplicaciones de consumo e industriales. La sustitución de interfaces existentes – en especial RS232 – con USB permite que los ingenieros añadan nueva funcionalidad manteniendo unos bajos costes de diseño y fabricación. Es posible que los sistemas embebidos más sencillos necesiten únicamente la funcionalidad de periféricos, mientras que otros pudieran necesitar un sistema principal (host) USB o capacidad combinada. La amplificadora oferta de Microcontroladores USB de Microchip permite que los diseñadores seleccionen el dispositivo más apropiado para su aplicación USB.



El PIC18F13K50 y el PIC18F14K50 son los Microcontroladores USB de menos coste de Microchip. Proporcionan muchas funciones que no son habituales en los Microcontroladores de 8 bit de gama baja, e incorporan interfaces I2CTM, SPI y USART, así como USB 2.0, permitiendo así la transferencia de datos entre USB y otras redes serie embebidas.



La familia PIC24F USB es la familia de microcontroladores USB de 16 bit con un menor consumo (2,6 µA de corriente en reposo) y mayor memoria (hasta 256 KB Flash y 16 KB RAM) en el mundo. La familia PIC24F USB es el único microcontrolador de 16 bit con host embebido USB 2.0, doble función y funcionalidad OTG, por lo que resulta económico y sencillo para incorporar funciones USB avanzadas a los diseños embebidos.



Los microcontroladores PIC32 con funcionalidad USB 2.0 OTG proporcionan mayores niveles de prestaciones y de memoria – funcionan hasta 80 MHz, llegan hasta 512 KB de Flash y 32 KB de RAM – al tiempo que mantienen la compatibilidad de patillas, periféricos y software con las familias de microcontroladores de 16 bit.



Todas las nuevas familias de microcontroladores PIC USB de 8, 16 y 32 bit cuentan con el soporte de las herramientas de desarrollo de primera categoría de Microchip. Entre éstas se encuentran el MPLAB IDE, el sistema de emulación MPLAB REAL ICE™, el depurador en circuito MPLAB ICD 2 y el programador MPLAB PM3. Los Compiladores C MPLAB están disponibles para las tres familias.



Microchip ofrece asimismo un Centro de Diseño USB on-line en www.microchip.com/USB, en el cual los ingenieros pueden encontrar todo lo que necesitan para iniciarse en USB, incluyendo formación, documentación y diagramas de circuitos, soporte de programación, herramientas de desarrollo e información sobre silicio. Los diseñadores pueden descargar también el código fuente para la Pila Host USB, la Pila de Dispositivo y los Controladores de Clase (HID, MSD, CDC, Custom), todos ellos ofrecidos de forma gratuita por Microchip. La Pila USB OTG gratuita se encuentra actualmente en fase de test beta y su disponibilidad completa está prevista en breve.



Los Microcontroladores PIC18F1XK50 están disponibles en encapsulados de 20 patillas SSOP, SOIC, PDIP y QFN de 5 x 5 mm. El muestreo general y la producción en volumen están previstos para Junio 2008. La familia PIC24FJ256GB1 formada por 12 modelos se ofrece en encapsulados TQFP de 64, 80 o 100 patillas, y ya están disponibles para muestreo general y producción en volumen. El dispositivo PIC32 USB OTG más nuevo, el PIC32MX420F032H-40I/PT, trabaja a 40 MHz e incorpora 32 Kbytes de memoria Flash, se suministra en un encapsulado TQFP de 64 patillas y establece un nuevo punto de entrada de bajo coste para la familia PIC32 con USB. Para disponibilidad de muestras de dispositivos PIC32 con USB, visite www.microchip.com/PIC32.

más información.

    * http://www.microchip.com/USB.

Fuente:
http://www.elektor.es/noticias/microchip-anuncia-una-completa-oferta-de.519408.lynkx


----------



## Beamspot (Jun 6, 2008)

Anda, mira, alguien que usa PIC's y AVR's...

Yo personalmente uso mucho los AVR tanto en el trabajo como en casa, por dos motivos, me dan mucha potencia de cálculo en C, y son muy fáciles de trabajar. Pero también tengo ARM's  y estos me dan mucha más potencia de cálculo que los AVR, pero empezar una simple aplicación me lleva como el triple de tiempo.

Sin embargo, en el trabajo, para muchas cosas los AVR nos vienen grandes, así que usamos los Cypress PSoC, que tienen un core prácticamente idéntico al PIC 16F, así que conozco sus limitaciones. Y por eso, en las aplicaciones donde no necesito potencia de cálculo, resulta que los PSoC son imbatibles por dos razones: precio (cuestan lo mismo que me podrían constar los PIC similares, pero me ahorran mucha cicuitería), y flexibilidad, ya que con un solo modelo puedo hacer mil y una cosas diferentes. Tal y como decimos en mi oficina, los PSoC son los mejores, PARA ESE TIPO DE APLICACIÓN. Para otras, simplemente no pueden (y por eso usamos AVR y ARM).

Es curioso que alguien que promueve la variedad, luego se ponga en contra de usar otros micros, y se encabezone en usar sólo uno.

Y respecto del Rey, las ventas hablan: más de la mitad de los micros que se fabrican al año en el mundo son ARM, así que el Rey de ventas no es el PIC.

Como mucho, el PIC es el rey del jamón de algunos profesores de facultad, probablemente el mejor sitio donde poner los PIC, ya que su sencillez los hace fáciles de aprender. Aunque por el resto, algunos comentan que los PIC no son ni RISC, ni CISC, si no PISC. A ver si alguien adivina la P de donde sale.

Conociendo bastantes profesionales de la electrónica en España, resulta que los PIC son casi 'prohibidos', y la mayoría toca los 8051 (considerados obsoletos), los Freescale (que estan de capa más que caída, por su mala política, que no por calidad), los AVR (que se están poniendo de moda por su relación potencia/precio), los H8, ARM, y últimamente las FPGA. Claro que estos son profesionales, y la mayoría no tiene problemas con el inglés. El único sítio de la industria donde he visto un PIC (y sólo uno) fue para una aplicación única, donde el tiempo de desarrollo costaba infinitamente más que la electrónica, y quién lo hizo acababa de salir de la facultad.


----------



## Meta (Jun 6, 2008)

Lo del rey me refiero el más usado para aprender y donde más información hay. Además, veo mucha gente con usan PIC haciendo sus aplicaciones de todo tipo y hablas como si nadie los usa cuando es lo más que usan. ARM casi nunca lo oigo salvo ustedes, FPGA parece que la gente le mola más y más que hasta estoy leyendo cosas de esta en* elektor*.

Si bajan más de precio, me da la sensación que triunfará mucho.


----------



## Beamspot (Jun 6, 2008)

FPGA tienen un inconveniente: es el polo opuesto a los PIC, por su extremada dificultad. En realidad, es lógica digital pura, no programación. Son puertas, combinatoria, Mealy y Moore, registros, registros de desplazamiento, etc.

Lo bueno son los nuevos sistemas que integran un ARM junto con la FPGA. Atmel los hace, y dentro de poco saldrán los de Cypress. Probablemente haya otros. Eso sí que tiene futuro, pues simlifica mucho el diseño al ahorrar tener que hacer el micro con las puertas de la misma FPGA, y además bajará el precio.

Respecto de los ARM: tienes móvil, tienes router de internet, algunos tienen PDA, tienes bluetooth, tienes WiFi, tienes TDT, probablemente una tele LCD/TFT. Todos ellos corren sobre un ARM, aunque el procesado de imágenes en los dos últimos no lo hacen precisamente dichos micros.

Al principio algunos routers usaban la tecnología MIPS, pero ha caído en desuso por varios motivos. Como MIPS se iba a la quiebra, nadie lo usaba, estaba obsolete y no funcionaba (comercialmente), ¿adivinas quien usa ahora la tecnología MIPS en sus micros de 32 bits? Si, si, la misma que sacó sus primeros micros con una cpu obsoleta, obtenida bajo las mismas premisas que la de los MIPS.


----------



## Meta (Jun 6, 2008)

Con el tiempo y años los FPGA lo harán fáciles lo más que puedan.


----------



## FRZ (Jun 6, 2008)

Bueno eso del inconveniente en verdad no le veo mucho, ya que aprender alguno de los HDL (Verilog, VHDL entre otros) es muy sencillo, yo pude programar mi primer FPGA en menos de una hora usando Verilog. 



> En realidad, es lógica digital pura, no programación. Son puertas, combinatoria, Mealy y Moore, registros, registros de desplazamiento, etc.




 
Mira esto http://es.wikipedia.org/wiki/Lenguaje_de_descripción_de_hardware

Las herramientas que te otorgan Altera, Xilinix etc, son muy completas y te ahorran gran parte del trabajo, ayudándote a sólo concentrarte a diseñar lo que necesitas.

Tal vez no fui muy claro, pero no necesitas escribir todo el micro desde 0 siempre que necesites uno, eso te llevaría mucho tiempo, por eso Altera te otorga el softcore Nios II (para Xilinix es PicoBlaze) que lo puedes modificar decidiendo cuantas entradas, salidas, memoria Ram, Sdram, buses de datos, ADCs, etc etc tendrá, y sólo debes cargarlo a tu FPGA, y aún tendrás espacio disponible para implementar otros dispositivos en la misma FPGA.

Saludos


----------



## Meta (Jun 6, 2008)

Al final enamorará a mucha gente.

http://es.wikipedia.org/wiki/Lenguaje_de_descripción_de_hardware


----------



## asherar (Jun 7, 2008)

Meta dijo:
			
		

> Al final enamorará a mucha gente.
> http://es.wikipedia.org/wiki/Lenguaje_de_descripción_de_hardware


No entiendo qué es lo que pasa con el link que has puesto. 
Queda una parte del texto afuera y no enlaza bien !
A ver: 

Sin acento en "descripción" (dentro del link): 
 Lenguaje_de_descripción_de_hardware  
Anda el link pero no enlaza porque wiki no tiene nada con ese nombre.

Con acento en "descripción" (en el link y el texto): 
 Lenguaje_de_descripción_de_hardware 
Ahhhh! 
Era el editor que rechaza los acentos en los links! Bueno saberlo !
Pero ahora no enlaza porque no funciona el BBcode.
Será que está pensado por EEUU-landers que abrevian todo.
Ma si! Me doy.
.


----------



## Meta (Jun 7, 2008)

No se que pasa, pero es raro, quizás arreglen este error en las próximas actualizaciones de los foros de www.phpbb.com


----------



## fernandob (Jun 7, 2008)

yo.......no se en que andan uds.
si, me imagino que quienes estan en la facu. disfrutan jugando con proyectazos.

pero yo, hasta el pic mas chiquitin me viene sobrando , asi que no me pelearia por que micro es mejor, cualquiera me sobra.

acaso a uds. les sobran proyectos e ideas para desarrollar ?...me refiero a utiles, vendibles .
que los micros actuales les quedan "justitos".

no me jodan !please !
hay hoy mas de lo que vamos a usar en la vida.......y siguen saliendo .
PIC versus ATMEL un carajo lo de versus, son amigos de todos , no problem, hagan un post de las ventajas de c/u , un post que se llame pic, otro atmel otro motorola , etc.

alguien sabe como irradiar de señales de RF con un PIC a un cajero electronico para que entregue toda la money ?


----------



## asherar (Jun 9, 2008)

fernandob dijo:
			
		

> yo.......no se en que andan uds.
> si, me imagino que quienes estan en la facu. disfrutan jugando con proyectazos.
> ...
> acaso a uds. les sobran proyectos e ideas para desarrollar ?...me refiero a utiles, vendibles .
> ...



Y vos andás buscando un buen proyecto?  Si estás en Bs As podemos hablarlo.
.


----------



## socram8888 (Jun 10, 2008)

A mi me gustaría participar en lo de hacer un tutorial.

Bueno, por ahora, os puedo proporcionar lo siguiente:

Programador Atmel AT90S****: http://www.serasidis.gr/circuits/avrprog/avrprog.htm
Compiladores BASIC y Pascal para AVR: http://www.mikroe.com/en/download/


----------



## fernandob (Jun 10, 2008)

hola alejandro te mande mensaje privado (no se pongan celosos lso demas   ).
saludos


----------



## Meta (Jun 24, 2008)

En esta web, se puede ver en las encuentas que los PIC los prefiere la gente.

http://cursodemicro.blogspot.com/


----------



## Beamspot (Jun 25, 2008)

Me gustaría saber cuantos de los que han contestado son profesionales del desarrollo electrónico.

En mi país hay un dicho: más vale malo conocido que bueno por conocer.

Personalmente, suelo tener preferencia por los micros 'gordos' que por los pequeños, ya que me permiten más márgen de maniobra sin tener que andar optimizando recursos. Pero cuando uno es novato, suele preferir los más sencillos, ya que los grandes 'imponen' por su complejidad y la gran cantidad de periféricos y cosas que tienen.

Así que si puedo hacer las cosas con un PC en lugar de con un PSoC, pues mejor...


----------



## fitocondria (Jun 25, 2008)

Ahora estoy aprendiendo a programar los freescale antes motorola, comence con los microchip, y por obligación digo sugerencia aprendí el atmel y para conocer los freescale, ya que de ellos hablarón en este foro y hablarón mal, quise conocerlos aparte de que encontre el libro del que hacían referencia.

Todo esto lo digo, por la razón siguiente, programen en lo que quieran y en lo que puedan, todo depende de lo anterior, yo tenía años queriendo aprender a programar el atmel pero no habían donde yo vivo y aprendí microchip por cuestiones de la escuela, por la titulación estoy aprendiendo atmel y me gustarón mucho los atmel. Y ahora los freescale para conocerlos y veo que se parecen muchisimo.

Por lo anterior programen en lo que tengan a la mano y sea factible, yo tenía el programador de atmel hace 8 años pero no tenía ningun microcontrolador jajajajajaja, y del microchip tenía microcontrolador pero no tenía programador jojjjojojojojo, los teniamos que programar en la escuela los microcontroladores de microchip hasta que me compre mi programador. Esto es de hace como 6 años, como pasa el tiempo.

La experiencia nos dice que micro es mejor utilizar, pero no suceda como lo siguiente que me paso, hice un tacometro para medir las revoluciones de mis motores de AC y lo hice en un atmega32, porque no hay atiny donde vivo JAJAJAJAJAJA y de microchip no utilizo porque la nueva laptop no tiene puerto serial y tampoco tiene puerto pcmcia que es donde conectaba mi adaptador serial y como fué regalada la laptop ni para quejarme mucho. y no tengo ganas de comprar el adaptador usb-serial por el momento.


----------



## Meta (Jun 25, 2008)

Cuando manejas algo, y maneja bien las tres marcas, escogerá uno o otro más que gustos por necesidades.

Freescale aquí por lo meno no lo nombran muy bien, en caso los ingenieros me han dicho que los Motorolas con mejores que los PIC y los PIC son basura, así sin más, sin cortarse un pelo.


----------



## eidtech (Jun 25, 2008)

fitocondria dijo:
			
		

> Ahora estoy aprendiendo a programar los freescale antes motorola, comence con los microchip, y por obligación digo sugerencia aprendí el atmel y para conocer los freescale, ya que de ellos hablarón en este foro y hablarón mal, quise conocerlos aparte de que encontre el libro del que hacían referencia.
> 
> Todo esto lo digo, por la razón siguiente, programen en lo que quieran y en lo que puedan, todo depende de lo anterior, yo tenía años queriendo aprender a programar el atmel pero no habían donde yo vivo y aprendí microchip por cuestiones de la escuela, por la titulación estoy aprendiendo atmel y me gustarón mucho los atmel. Y ahora los freescale para conocerlos y veo que se parecen muchisimo.
> 
> ...



fitocondria, te recomiendo mucho el MSP430 de TI, digo ya que te gusta conocer nuevos micros.


----------



## Chico3001 (Jun 26, 2008)

En lo personal manejo varios micros.. Microchip, Atmel, Freescale y Texas, y en realidad me gustan mas los Atmel y los Texas... pero tambien depende mucho del tipo de aplicacion que quieran hacer... yo los uso de esta forma... 

Microchip: Solo aplicaciones muy simples como corrimientos de leds, timers, y controles simples de motores (un PWM y cosas asi..) las ventajas de microchip son el precio y que todos los usan... las desventajas es que no tienen emulacion integrada... 

Atmel: Muy buenos en comparacion con Microchip, tienen emulacion integrada y se pueden programar muy facilmente en C.. los uso para todo tipo de aplicaciones generales... desde las basicas hasta mas complejas

Freescale: Son mas complejos y caros que los demas... son muy buenos para aplicaciones que requieran mucho calculo matematico, tambien se pueden programar en C, pero las herramientas de desarrollo son algo caras

Texas: A diferencia de los demas, son muy enfocados a bajo consumo... asi que solo los uso en aplicaciones a baterias, se alimentan a 3V y casi todas las familas son de montaje de superficie.... pero entre sus ventajas se destacan que son a 16 bits, los perifericos pueden funcionar de manera autonoma, y sobretodo.. las herramientas de desarrollo no cuestan casi nada y son muy amigables... Es mejor programarlos en C que en ensamblador... 

Saludos...


----------



## MordorInc (Jul 1, 2008)

Para los que dicen que Microchip no es numero uno en ventas de microcontroladores de 8 bits, les dejo un informe de la firma de analistas Gartner Dataquest's del año 2006, en el cual se demuestra que desde el 2002 Microchip lidera y es el numero de ventas en microcontroladores de 8 bits.

http://www.electronicstalk.com/news/ari/ari247.html
"Microchip Technology has secured the number-one position in worldwide 8bit microcontroller revenue, according to industry analyst firm Gartner Dataquest's 2006 rankings.

Microchip Technology has secured the number-one position in worldwide 8bit microcontroller revenue, according to industry analyst firm *Gartner Dataquest's 2006 rankings Achieving the number-one ranking in revenue solidifies Microchip's position as the global market-share leader in 8bit microcontrollers, having gained the number-one ranking for unit shipments back in 2002 *..."

la verdad el microcontrolador depende para lo que se use, aun en la actualidad se usan micros de 4 bits, en el mercado masivo.
como experiencia les cuento que tuve la oportundad de trabajar con un Ingeniero del MIT con 20 años de experiencia (habia trabajado para Boeing y en los ultimos 7 años para empresas que desarrollan productos para consumo masivo, en especial entretenimiento) y me decia que muchas veces ellos utilizaban muchos micros en un mismo proyecto y lo que hacian era comunicarlo entre ellos, pues yo le habia comentado que en Colombia lo ideal era poner todo el proyecto en un solo micro por cuestion de costos, el se sorprendia con eso y me decia por ejemplo que ellos muchas veces dejaban el scan de teclado con un micro por aparte...

en fin son historias de como cada quien usa las herramientas...
feliz dia


----------



## Toño (Jul 5, 2008)

hola la verdad soy nuevo con todo esto de la programacion de los microcontroladores
apenas pase a 3er semestre de electronica pero me llama mucho la atensión todas estas cuestiones de la programacion y la automatizacion asi que empeze aprender por mi cuenta, pero empeze con el pic16f84a de microchip.

entonces quiero que alguien me oriente si empece bien, o es preferible empezar con los atmega...esk escucho hablar mucho sobre eso, y no se cual sea el k mas sirva

de antemano gracias ppor su ayuda


----------



## Meta (Jul 5, 2008)

Toño dijo:
			
		

> hola la verdad soy nuevo con todo esto de la programacion de los microcontroladores
> apenas pase a 3er semestre de electronica pero me llama mucho la atensión todas estas cuestiones de la programacion y la automatizacion asi que empeze aprender por mi cuenta, pero empeze con el pic16f84a de microchip.
> 
> entonces quiero que alguien me oriente si empece bien, o es preferible empezar con los atmega...esk escucho hablar mucho sobre eso, y no se cual sea el k mas sirva
> ...



Si es posible, empieza con un buen libro.

www.pic16f84a.com


----------



## Toño (Jul 5, 2008)

hola, de echo ya estoy con ese libro, pero a lo que me refiero es si en verdad hago bien estar con microchip y no con atmel. ¿cual es mejor?¿cual me conviene aprender?

gracias...


----------



## torresdelamora (Jul 5, 2008)

Yo creo que con cualquiera de esos aprendes, elegiste bien


----------



## Meta (Jul 5, 2008)

Toño dijo:
			
		

> hola, de echo ya estoy con ese libro, pero a lo que me refiero es si en verdad hago bien estar con microchip y no con atmel. ¿cual es mejor?¿cual me conviene aprender?
> 
> gracias...



Aprende con uno o con otro, arquitecturas diferentes con casi los mismos resultados.


----------



## Toño (Jul 6, 2008)

gracias...entonces seguire con ese libro...


----------



## Beamspot (Jul 7, 2008)

Para empezar, no hay nada como sufrir en tus propias carnes la tortura del ensamblador de los PIC. Muy sencillo. Rápido de aprender. Y ayuda a que uno se maraville cuando descubre micros nuevos, C, etc...


----------



## Toño (Jul 7, 2008)

Si asi es, se las bases de programar en C y la verdad es mucho mas sencillo que ensamblador, aunque apesar de eso me interesa aprender distintos leguajes a fin de no estancarme en uno solo...

gracias por sus sugerencias;
gracias Beamspot jeje


----------



## Meta (Jul 7, 2008)

Mejor aprender un poco de todo, asm y C.


----------



## Beamspot (Jul 7, 2008)

Para programas grandes, recomiendo fervientemente el C. Pero para correr, conviene aprender primero a andar. Y para eso, hace falta aprender algo de ensamblador, para tener una buena idea de que narices es un microcontrolador. En este aspecto, los PIC son sencillos, con pocas instrucciones, y ofrecen lo más básico. Lo cual obliga a estrujarse un poco el cerebro para hacer cosas que parcen sencillas.

Una vez uno tiene un buen conocimiento de ASM, empezar a usar C para los micro suele ser ventajoso para lo que respecta a capacidad de programación (respecto del tiempo) e independencia de la plataforma (soberana trola, por otro lado).

Tarde o temprano, conviene familiarizarse un poco con el funcionamiento del micro que estés usando, sea PIC, AVR, ARM, o Pentium. Si uno sabe programar en ASM, esto se aprende rápido, y ayuda a programar en C con algo más de eficiencia.

A ver si acabo de poner en claro algunos de los puntos que ilustran lo que yo, personalmente, opino que son más fuertes, de los AVR. Y pienso poner ejemplos tanto en C como en ensamblador, tanto de AVR como de otros micros.


----------



## Toño (Jul 7, 2008)

si comparto con ustedes eso de aprender un poco de todo...

y por otra parte estaria muy bien que pusieras ejemplos en C y asm, y sobre todo de los AVR ya que se encuentra muy poca información en español, libros no he encontrado...

gracias por adelantado....


----------



## fitocondria (Jul 17, 2008)

No había visto tú recomendación, gracias.

¿Donde puedo conseguir esos? Alguna tienda por internet  o alguna tienda en especial aquí en México, ya que viajo 2 veces al año a México puedo aprovechar para comprarlos.



			
				eidtech dijo:
			
		

> fitocondria, te recomiendo mucho el MSP430 de TI, digo ya que te gusta conocer nuevos micros.


----------



## Meta (Jul 17, 2008)

Toño dijo:
			
		

> libros no he encontrado...



Ni encontrarás libros en español sobre AVR por ahora, quizás en un futuro lo harán, los PIC y Freescale hay libros completamente en español.


----------



## Beamspot (Jul 17, 2008)

Como bien sabe Meta, tengo otra guerra movida de PIC vs AVR (aunque un poco más genérica) en http://www.webdearde.com/modules.php?name=Forums&file=viewtopic&t=2066

Ahí se puede aprender un poco de C y de ASM de los AVR.

Y por desgracia, y como muy bien apunta Meta, no hay nada en español sobre AVR, excepto unos pocos comentarios (como la pesada introducción al DSP que se puede encontrar en la wiki del foro que he linkado anteriormente).

Y, ciertamente, esta es una gran desventaja de los AVR, y una gran ventaja de los PIC y los Frescales.


----------



## Meta (Jul 17, 2008)

Cada vez veo nombrar mucho los AVR, significa que el tiempo habrá libros en español, sea escrito por los propios españoles o traducción al español de libros ingleses o americanos. También pueden traducirlo cualquier habla hispana.

Con el tiempo de la gran desventaja que tiene AVR, será una ventaja a su favor.


----------



## torresdelamora (Jul 20, 2008)

desventaja es no saber ingles.

Saludos


----------



## Meta (Jul 20, 2008)

torresdelamora dijo:
			
		

> desventaja es no saber ingles.
> 
> Saludos



Tanto para el que no sabe como para el que lo intenta vender.


----------



## eidtech (Jul 20, 2008)

torresdelamora dijo:
			
		

> desventaja es no saber ingles.
> 
> Saludos




La mayor parte de la información (en cualquier area de ciencia y tecnología) que vale la pena se encuentra en ingles.  El que no domina el idioma estara en gran desventaja.


----------



## Meta (Jul 21, 2008)

Siempre digo que no se inglés, en realidad tengo la base mínima para entender pero me agobio porque no leo con soltura y tengo que encontrar palabras que no conozco. El que no sepa nada, para eso están los traductores, a parte que voy a ir a una escuela de idiomas para aprender bien , pero no por entender libros en Inglés sino que en trabajo o empleo me lo exigen.


----------



## Beamspot (Jul 21, 2008)

Por muchas clases de inglés que hiciese, y muchas guiris con las que ligase, al final aprendí ingles leido a base de leer datasheet, y hablado al encontrarme solo en paises extranjeros.

No saber inglés, hoy por hoy, es desengarcharse del mundo de la tecnología, o al menos, ir muy por detrás. En muchos aspectos.


----------



## Meta (Jul 21, 2008)

Beamspot dijo:
			
		

> No saber inglés, hoy por hoy, es desengarcharse del mundo de la tecnología, o al menos, ir muy por detrás. En muchos aspectos.



No está tan mal como dices porque siempre traducen gente a su idioma los manuales, siempre lo hacen y sabiendo mucho Inglés. Lo hago porque me lo piden en el trabajo y me quieren llevar a Alamania a un curso de mantenimiento de equipos médicos y en Inglés, también debo ir a Madrid.

Poco a poco aunque no lo parezca, leyendo cosas en inglés, viendo pelis con subtítulos en Inglés, chat, cosas así aprendes, el chat cuesta más porque hablan mal y abreviado como los españoles.

*Aún así, mejor meterse en una escuela de idiomas. Me lo piden en todos lados y es muy recomendable tener esos certificados de idiomas de cualquier nivel.*


----------



## Beamspot (Jul 21, 2008)

Que casualidad, yo también empecé con equipos médicos, sólo que fui a Suiza la primera vez, luego a San Francisco/Silicon Valley, y luego a Alemania.

Fue en Alemania donde realmente aprendí ingles, ya que en los USA había más mejicanos que americanos, y en Suiza, la profesora resultó ser española, y buena traductora de lo que no entendía de los otros profesores, que hablaban un inglés con demasiado acento alemán.

O sea, que al final con tanto curso en el extranjero no necesito las escuelas de idiomas. Eso sí, nunca están de más en el currículum.


----------



## eidtech (Jul 22, 2008)

No saber inglés es como no saber C...


----------



## Beamspot (Jul 22, 2008)

Pregunta trampa?

Las diferencias son varias: la parte del procesador (el llamado 'core') es muy diferente entre los dos. La manera de acceder a la memoria (RAM, de programa, periféricos) es diferente. Los periféricos, su funcionalidad y los mapas de los registros son muy diferentes.

En el 'core', tenemos que los PIC (pequeños, que los de 16 bits ya no cuentan), son el clásico con un sólo registro acumulador (Working) y varios registros auxiliares. Mientras, en los AVR, el sistema usa 32 registros tipo acumulador que a la vez son registros auxiliares.

Los PIC tienen un juego de instrucciones más pequeño, de manera que aprender el ensamblador es más fácil que con los AVR que tienen muchos más (unos 120 a 131, según modelo).

El acceso a memoria de los PIC es más complejo debido a que tiene la RAM y los registros (por favor, los maestros del PIC que me corrijan si me equivoco) dividida en páginas. Eso hace que para acceder a un dato de la RAM quizás se deba seleccionar primero la página en la que este se halla.

En los AVR, esto no pasa, pero en cambio, las direcciones de la RAM y/o los registros son de 16 bits en lugar de 8.

Los PIC ejecutan la mayoría de instrucciones en 4 ciclos de reloj. Los AVR lo hacen en 1 ciclo de reloj (eso no es exactamente cierto, ya que en realidad los AVR tienen un Pipeline de dos estados: fetch y ejecución), de manera que con un reloj (cristal de cuarzo) igual en un PIC que en un AVR, el último va (en teoría, que esto no es la realidad) cuatro veces más rápido.

El hecho de tener varios acumuladores en los AVR significa que para hacer lo mismo, se necesita acceder menos veces a la memoria RAM, y por tanto, el programa en ensamblador es más corto, y encima se ejecuta más rápido, al no tener que ejecutar las instrucciones de acceso a memoria. Y aún más si no tiene que ir cambiando de página de memoria. Lo cual relativiza mucho el término 'velocidad'.

En cuanto a precio, probablemente haya algunas diferencias, sobre todo en la parte de los micros más 'pequeños', que sea favorable a los PIC.

Otra diferencia, es que el programa en ensamblador de un PIC 12f seguramente no sea para nada usable en un 16f. En un ATtiny las instrucciones son las mismas (quizás tenga algunas menos) que en uno grande (ATmega y ATXmega), así que el mismo programa seguramente se podrá ejecutar, si no hay particularidades de los periféricos (cosa muy habitual en todos los fabricantes, por cierto). La mayor diferencia de ensamblador y 'core' entre toda la gama AVR es la capacidad de direccionar más memoria (128KB implica pasar de registros de 16 bits a registros de 24), el multiplicador, y muy poco más, de ahí que las 110 instrucciones básicas sean las mismas en todos los micros, y el resto sea una ampliación.

Esto último desaparece si uno usa inglés, perdón, C 

Respecto de los periféricos, bueno, cada fabricante tiene sus cosas, y encima las cambian de un modelo a otro, así que esto es demasiado específico como para generalizar. Quizás la excepción aquí sean los PSoC de Cypress, que es un animal muy diferente sobre todo en este aspecto.


----------



## Javier Rambaldo (Jul 23, 2008)

Beamspot dijo:
			
		

> Pregunta trampa?
> ....Otra diferencia, es que el programa en ensamblador de un PIC 12f seguramente no sea para nada usable en un 16f. .....


No es correcto: la linea de PICs 12F y 16F usan el mismo set de instrucciones. Puedes hacer cualquier programa para toda la linea media y baja de PICs (que son mas de 100 modelos distintos) y con seguridad va a funcionar.
Eso es una gran ventaja!


----------



## Meta (Jul 23, 2008)

Javier Rambaldo dijo:
			
		

> Beamspot dijo:
> 
> 
> 
> ...



Otra pequeña ventaja es que las 35 instrucciones aparecen en los 18F y si quieres hacer lo mismo que un 16F84 la verdad puedes utilizar esas instrucciones sin usar las nuevas que te viene. Si usas las nuevas del 18F te ahorras más líneas  de código ya que puedes hace cosas más directas que el 16F.

Para hacer adaptación de un 16F876A a 18F2550 ya que son el mismo patillaje, pues no cuesta nada adaptarla pero si lo haces al revés ya es más complejo porque las instrucciones que usa el 18F no se incluyen en los 16F, pero como dije antes, si en el 18F2550 usa las instrucciones del 16F, pues puedes adaptarla al 16F876A.

Cosas así es lo que importa y ahorra mucho tiempo.

PD: _Me he dado cuenta que algunos le da pánico el ASM._


----------



## Beamspot (Jul 23, 2008)

Gracias por las correcciones. Queda demostrado mi desconocimiento de los PIC.

Por cierto, a mí no me gusta mucho el ASM, pero también es por razones objetivas (escribo y depuro mucho más código en C que en ASM). Y además, creo que es fundamental tener buenos conocimientos de cómo funciona al menos el ASM del micro que uno programa.

A veces, para acabar de apurar tiempos, hay que bajar al ASM, y ahí es donde uno realmente aprende a programar.

Por desgracia, debido a los tiempos de desarrollo cada vez más cortos, hoy muchos prefieren poner micros que vayan sobrados de potencia de cálculo, y ahorrarse tiempo de depuración programando 'a saco'. Así que parece que vamos a acabar usando ARM's con mucha RAM para hacer algo que se haría con un 16F, pero que con el ARM desarrollamos en un día, y con el 16F igual tendríamos que depurar y afinar durante a lo mejor semanas o meses.


----------



## Meta (Jul 23, 2008)

Beamspot dijo:
			
		

> con el 16F igual tendríamos que depurar y afinar durante a lo mejor semanas o meses.



No te pases.


----------



## Beamspot (Jul 24, 2008)

Me refiero que a algo como un pequeño filtro o FFT, en un ARM es 'copiar y pegar'. Sin problemas de restricciones. Hacer lo mismo con un PIC sería bastante más arduo, por no decir imposible.

Pero el ejemplo lo he visto con una FFT sobre los 50Hz de la red, que con un AVR se conseguía haciéndolo a mano con ASM, y se tardó bastante en optimizarlo. Con un ARM, en una mañana estaba hecho.

Por supuesto, no estaba ni la mitad de optimizado, ocupaba más memoria, gastaba más RAM, etc. Pero el coste de I+D superaba con creces la diferencia de precio. Es más, con los ARM ahora por un euro y medio, incluso los dsPIC quedan en entredicho (por supuesto, también los AVR grandes).


----------



## Meta (Jul 24, 2008)

La verdad que los ARM poco va hacer frente en el mercado junto con los PIC, AVR y Motorola.


----------



## Beamspot (Jul 24, 2008)

Me estoy encontrando justo lo contrario. Muchos están migrando de AVR y Freescale a ARM. No en vano, los frescales han sacado la línea flexis, donde con los mismo periféricos tienen cpu de 8 y de 32 bits, para evitar que la gente 'deserte'.

En el foro de AVRFreaks este es un tema recurrente, y al parecer, mucha gente acaba por dar el paso. Sobre todo ahora que los nuevos Cortex M3 solucionan algunos de los problemas que tenían (latencias de las IRQ, por ejemplo).

Por supuesto, estoy hablando de aparatos con 32 KB de flash p'arriba.

Otro ejemplo es que los nuevos Cypress y otros fabricantes, estan sacando líneas basadas en ARM. NXP (philips) hace tiempo que centra todos sus esfuerzos en los ARM, y no le va nada mal. Lo mismo ST, los Stellaris sólo hacen ARM's, Atmel los está potenciando mucho, etc.

Y si no, mira Microschip, que ha sacado los nuevos PIC32 para atacar en este sector. Muy bien de precio (un poco más caros que los ST y los Philips, por lo que sé), pero tienen encima el inconveniente de que usan (quizás porque lo compraron a precio de saldo debido a que no se vende) MIPS en lugar de ARM. Justo cuando el mercado se ha decantado muy claramente por los ARM, y los MIPS casi han desaparecido.

No en vano un depurador JTAG para ARM cuesta !9€! y los compiladores buenos son libres hasta 32K de programa, por no mencionar un GNU GCC gratuito que es tan bueno (porque lleva muchos años detrás, ojo) como los IAR y compañía. ST regala el compilador (basado en GNU GCC), IDE y herramientas de soporte, ojo.

Si no fuesen tan complicados (tanto de soldar como de programar), quizás serían más aceptados que los PIC y los AVR.

De hecho, en el trabajo tenemos el cambio de AVR a ARM que va dando muchas vueltas todos los meses, y parece que acabaremos por dar dicho salto. Claro que nuestras aplicaciones usan el ATmega128/1281, y añadir más prestaciones ya requiere algo más 'gordo'.


----------



## Meta (Jul 24, 2008)

Los PIC32 lo sacan porque Microchip la verdad no tenía ni uno, y si lo sacan, lo sacan por negocios. A ver si llega el día que saquen libros de PIC32 en España.

Los PIC32 se verá con el tiempo si realmente se vende o no, por ahora son muy valorados por encima de otras marcas y que es muy bueno, eso dicen, ahora la realidad no se nada, nunca lo he probado.

También sacan PIC32 para que la empresa no se quede atrás, desactualizado, y sin ganancias.


----------



## jhon364 (Jul 25, 2008)

hola a todos.

cierto que los arm tienensus ventajas lo que se debe es conocerlos para saber seleccionar la mejor opcion deacuerdo a la necesidad (PIC,AVR,ARM,DSP,etc).
en cuanto al ASM lo que sucede es que se programa de una manera mas inicial pero lo que dice Beamspot es cierto el tiempo de depuracion es mas largo y en ocasiones no se cuenta con este. La ventaja del C es que todas las librerias ya estan hechas y lo que toca hacer es invocarlas y listo eso si es una gran ventaja. En cambio en ASM te toca crear una libreria o una macro para poder minimizar tu programa.
Aunque mi posicion es un poco facilista creo que ahora la programacion en C es mucho mejor. Con lo poco que llevo aprendiendo sobre la programacion en C para los micros estoy convencido de que es mucho mas sencillo para el programador.

Ahhhh y otra cosa porque no proponemos unos temitas de proyectos para irlos desarrollando durante los tiempos de ocio. ya que podemos ofrecernos grandes aportes y aprendemos a escuharnos y a recibir cr{iticas de como esta avanzando nuestro proyectico de micro. les parece es que ahora estoy en vacaciones de la maestria y solo estoy trabajando para podernos distraernos un rato.


----------



## Meta (Jul 25, 2008)

jhon364 dijo:
			
		

> creo que ahora la programacion en C es mucho mejor.



Creo que deberías creer a decir exactamente que C es lo mejor. Mejor en facilidad y tiempo Calidad, fiabilidad, velocidad y el peso de la memoria flash y ram mejor es en ASM.

Creo que eso es lo que deberías decir para dejar las cosas claras, eso si, C es mejor que ASM en lo que dije arriba.

Y quizás algún día saquen más lenguajes para PIC que sean más fácil.


----------



## Javier Rambaldo (Jul 26, 2008)

Meta dijo:
			
		

> Creo que deberías creer a decir exactamente que C es lo mejor. Mejor en facilidad y tiempo Calidad, fiabilidad, velocidad y el peso de la memoria flash y ram mejor es en ASM.
> 
> Creo que eso es lo que deberías decir para dejar las cosas claras, eso si, C es mejor que ASM en lo que dije arriba.
> 
> Y quizás algún día saquen más lenguajes para PIC que sean más fácil.


Tienes razón Meta:
Pero lo dejo mas claro:
C: Mejor en facilidad y tiempo.
ASM: Mejor en velocidad, menor peso de la memoria FLASH y mejor optimización de la RAM.

La Calidad lo dejo aparte porque depende mucho del programador.
Y la fiabilidad depende tambien del compilador.

No podemos enfrentar las dos porque estamos hablando de PIC que fué pensado para programas diminutos con muy poca memoria RAM. O sea que esto necesita de un muy buen programador en ASM para aprovechar al máximo las potencialidades de los PIC.

Es muy fácil poner un gran procesador con mucha flash y RAM de sobra, usar lenguaje C y volar con los punteros y arrays.....pero esta nunca fue la idea de Microchip.
Los procesadores de microchip son una gran idea para soluciones pequeñas. Si tienen o no competencia es irrelevante. Son muy buenos, se programa rápido, consumen poco, no se rompen nunca (ni con un corto en un puerto).


----------



## Javier Rambaldo (Jul 26, 2008)

jhon364 dijo:
			
		

> ....La ventaja del C es que todas las librerias ya estan hechas y lo que toca hacer es invocarlas y listo eso si es una gran ventaja. En cambio en ASM te toca crear una libreria o una macro para poder minimizar tu programa.
> Aunque mi posicion es un poco facilista creo que ahora la programacion en C es mucho mejor. Con lo poco que llevo aprendiendo sobre la programacion en C para los micros estoy convencido de que es mucho mas sencillo para el programador........


No estoy de acuerdo.
Cuando llevas mas de 20 años programando en C, C++, y ASM para Z80 (Zilog), 8085 (Intel), 6809 (Motorola), PIC (Microchip), etc, te das cuenta que cada cosa tiene lo suyo, siempre te falta algo. Si no te falta memoria, te falta velocidad.
El C es muy bueno hasta que te quedas sin hardware, el ASM es mejor pero llevas horas de lucha.
No existe lo mejor ni lo ideal. Solo la experiencia te dirá que fabricante usar, que hardware, cual compilador.


----------



## jhon364 (Jul 31, 2008)

Estoy de acuerdo con lo que aclaraste javier, porque es la verdad siempre hara falta algo para resolver esa es la ley de la vida y para eso estamos los ingenieros para resolver problemillas.


----------



## Meta (Jul 31, 2008)

Pues que hagan un super mega microcontrtolador que tenga de todo.

Que fácil es decirlo, ¿verdad?


----------



## Meta (Ago 3, 2008)

Por cierto, ¿qué es mejor, los AT90Sxxxx o los ATtinyxxxx y por qué?


----------



## Beamspot (Ago 4, 2008)

Hola:

Siento meterme tan poco, pero estoy de vacaciones en un sitio donde no tengo internet.

Suscribo la opinión de Javier Rambaldo en todos sus puntos. En algunos casos (que conste que me dedico mucho más al hard que al firm) he tenido que bajar al ASM por los mismos motivos. Y lo raro es escaparse a ese hecho.

Y lo de los microcontroladores que lleven de todo, como dice Meta, es el camino que parecen seguir muchos al escoger los ARM/PIC32. Incluso en estos casos, se suele poner un sistema operativo tipo FreeRTOS, donde buena parte está escrita en ASM. Eso sí, con las macros y algo de paciencia se hacen muchas cosas rápidas, a partir de las librerías, y con poco o nada de depuración o ASM.

Y respecto de los AT90S/ATtiny, no te recomiendo ninguno de los dos... Mi consejo es un ATmega. Concretamente, el ATmega16.

Por supuesto, voy a darte motivos, ya que me gusta atender a razones:

Los AT90S tienen un 'core' más viejo (no lleva el multiplicador, por ejemplo) y hoy por hoy Atmel ha decidido no fabricar más, así que saca los 'pin compatible' y listo. Por suerte, el conjunto de instrucciones de los AT90S es el subconjunto más pequeño y es común a todos, incluyendo los ATtiny. Eso siginifica que un programa escrito para los AT90S8515 se puede ejecutar en un ATmega8515 sin cambios.

Los ATtiny tienen el inconveniente de los periféricos. En concreto, el USI, que el que se suele usar como puerto serie. Eso siginifica que en la mayoría, para usar el puerto serie, hay que añadir mucho código, y este es complejo.

Por eso, recomiendo un micro sencillo y fácil de encontrar como es el ATmega16, que también es el que viene con el STK500 de fábrica (otra de mis recomendaciones), con un puerto serie, un timer de 16 bits y dos de 8 bits, bastente RAM y FLASH, EEPROM, cuatro puertos paralelos, SPI e I2C (llamado TWI en los  AVR para no pagar royalties). Es bastante completo y hay muchos ejemplos, programas escritos, y literatura... en inglés, claro. También tiene multiplicador hardware. Fácil de soldar al ser 40 PIN DIP.

Usar el puerto serie para depurar en este micro es muy sencillo, y con pocas líneas de código basta.

Otra ventaja que tiene es que es pin y periféricos compatible con otros micros más grandes como el ATmega32, M324, M644, y la bestia M1284.


----------



## Meta (Ago 4, 2008)

*Beamspot*, gracias por la información, no lo sabía.

En winpic800 veo estos, por ahora el creador se centra mucho en los PIC, aunque me dijo tener idea de meter hasta los Motorola, requiere mucho tiempo y dedicación, cosa interminable que se logra poco a poco. Ahora le dio por meterse con los PIC32 y seguirá así, ya que son nuevos no quiere que se le escape ninguno y así la gente usar el winpic800 hasta para ellas.

Los AVR debería meter algo de 32 Bits o 16 Bits.

La verdad lo que he oído decir que son muy buenos, es en cosas de Web server como los que utilizan los routers.

Cuando saquen libros en español, habrá más posibilidades que la gente lo vean en librerías y poder animarse mejor ya que en libro es una buena guía para empezar.

http://alfaomega.internetworks.com.mx/libros_virtuales/motorola/moodle/

Gracias a este libro está los PIC y éste se vende demasiado y muy recomendable.
http://www.pic16f84a.com/

¿Dónde hay libros en español de AVR de Atmel? Pues cuando algún autor se anime ha hacerlo, cosa que lo más probable que ocurra en el futuro. No todos se llevan por el Inglés.


----------



## torresdelamora (Ago 4, 2008)

http://www.atmel.com/products/avr32/default.asp
YouTube - Doom on STK1000


----------



## Meta (Ago 4, 2008)

torresdelamora dijo:
			
		

> http://www.atmel.com/products/avr32/default.asp
> http://www.youtube.com/watch?v=gZZtqjTwp4M&feature=related




¿Quién dedicó su tiempo en hacer un juego para ello o emularlo?

Está guay, PIC32 es muy joven y están probando mucha gente, aún no tiene un año.


----------



## Beamspot (Ago 8, 2008)

Aunque el PIC32 sea nuevo, tengo entendido (que conste que no estoy muy seguro) que el core no lo es tanto, y que es conocido y usado en aplicaciones de routers. Por eso, hacer aplicaciones para los PIC 32 como servidor WEB ha sido rápido y fácil. Ya estaban hechas y sólo las han tenido que adaptar a los periféricos (o viceversa, ojo).

El problema que les veo, es que en los routers apareció la guerra entre MIPS (la arquitectura de los PIC32) y la ARM, y se ha decantado fácilmente por los últimos, hasta el punto que hasta la mismísima Intel fabrica ARM's. Probablemente pase lo mismo con los micros de 32 bits.

Hay ARM's 7 por menos de un euro y medio (ST, Philips-NXP) y Atmel tiene los ARM7 por menos de 3€. Hasta el punto que el AT91SAM7S64, muy parecido al ATmega64, es más barato que este último. Y hay de todo, desde sistemas operativos hasta servidores WEB. Tengo uno de estos últimos en casa, con FreeRTOS y servidor web integrado. Las librerías y herramientas de desarrollo para ARM no se las acaba nadie.

Por cierto, Atmel tiene los AVR32 que son una caña, pero compiten con los ARM9 o incluso ARM11 (como los de la Nintendo DS y de la PSP).

Respecto del libro de AVR's en español, estoy empezando a pensar en escribirlo yo mismo, ya que no hay nada, y creo que habría demanda. Pero no se que editorial usar. Esto totalmente de acuerdo contigo en que la falta de material sobre los AVR en español es una seria (y muy seria) desventaja. Y la gran ventaja de los PIC.


----------



## Meta (Ago 8, 2008)

Beamspot dijo:
			
		

> Por cierto, Atmel tiene los AVR32 que son una caña, pero compiten con los ARM9 o incluso ARM11 (como los de la Nintendo DS y de la PSP).
> 
> Respecto del libro de AVR's en español, estoy empezando a pensar en escribirlo yo mismo, ya que no hay nada, y creo que habría demanda. Pero no se que editorial usar. Esto totalmente de acuerdo contigo en que la falta de material sobre los AVR en español es una seria (y muy seria) desventaja. Y la gran ventaja de los PIC.



Menuda explicación, veo que eres un profesional con los microcontroladores. Hacer un libro puede tardar años, sobre todo el tipo www.pic16f84a.com que el autor me ha comentado que ha tardado mucho incluido hacer ejercicios.

Este libro de PIC la verdad es lo mejor que he visto en ensamblador. Ahora, lo de la editorial te informaciónrmas de todas las que hay y las que te interesan, la idea es que haya libros. En cuanto de que aún no hay libros en español de AVR, cosa que también ocurrió con Freescale (que ahora tiene un libro nuevo http://alfaomega.internetworks.com.mx/libros_virtuales/motorola/moodle/), ahora le toca el turno a AVR. Desde que haya más libros de AVR, coge ventaja y crece las ventas, habrá más ventas de AVR, ejemplos, todo los que tiene pic ahora. Porque si uno se descuida,  el que crece es Freescale.

Suerte con ese libro.


PD: _Sobre los PIC32, hasta hay una web propia con personas incluidas sus propios proyectos. Veo que cada vez hay más aceptación sobre estos pic32. Me la juego que al final habrá librosssss de este pic32._

http://www.mypic32.com

Saludos.


----------



## Beamspot (Ago 8, 2008)

Hablando de Freescale, en en mi curro se eligió al final uno de estos en frente a PIC y a Cypress. Hacía falta algo muy pequeño, y lo más barato salía el freescales ese, por 71 céntimos. El ADC de 12 bits es determinante, y sólo el Cypress lo tiene.

Pero resulta que la competencia, TODOS, usan AVR's para hacer exactamente lo mismo. Lo bueno es que el conversor de 10 bits, con algunos truquillos (que sólo funcionan en los AVR), llega a los 12 bits necesarios.

Claro que hace falta probarlo todo, ya que los 12 bits de Freescale pueden no ser reales. Que conste que hice presión al jefe para hacer prototipos con todos los micros (Freescales, PIC, AVR y Cypress) y comprobar los resultados que diesen de verdad.

Sinceramente, para la aplicación (termostatos simples puros y duros) creo que el mejor es el Cypress (14 bits comprobados dan para lo que se necesita). Miraté la página de www.ako.com, y busca la competencia (dixell, eliwell, carel). Sólo Ako usa los Cypress, el resto, todos AVR's (ATmega168, para ser más precisos).

Particularmente he hecho bastantes proyectos comerciales con los AVR y alguno con los Cypress. Con los ARM no he hecho nada comercial, pero sí algunas cosillas. Así que ciertamente, me he peleado bastante con muchos micros (incluyendo los frescales) a nivel de prestaciones, funcionalidad, soporte, etc. Y reconozco que en cuanto a 'bien situados', los PIC son de los primeros, pero para un uso industrial, lo tienen bastante difícil. Freescales es una compañía muy agresiva cuando hay pedidos gordos de por medio. Cypress tiene unos micros que hay que 'echarles de comer aparte' por el tema de periféricos, lo cual les da muchas ventajas (ahorran mucha circuitería). Los AVR tienen una relación prestaciones/precio excelentes... para ser ocho bits. Pero ahora por lo que se refiere a prestaciones los ARM están arrasando (Cortex M3, 32K de flash, 4K de RAM y la pera de periféricos, por un euro u medio), así que están acabando con los 'micros gordos' tipo ATmega1281 y similares.

Hasta Cypress está trabajando en micros basados en CortexM3 (Atmel también, por supuesto). Eso sí, si uno es novato, ni hablar de estas malas bestias, recomiendo empezar con los PIC/AVR.

Por cierto, sobre los ARM sí que hay libros en castellano, en PDF, y gratis por internet.

Respecto del libro, igual propongo simplemente hacer una traducción de uno muy famoso en inglés, y que la misma editorial lo publique.

Que os divirtáis.


----------



## Meta (Ago 8, 2008)

Beamspot dijo:
			
		

> Hablando de Freescale, en en mi curro se eligió al final uno de estos en frente a PIC y a Cypress. Hacía falta algo muy pequeño, y lo más barato salía el freescales ese, por 71 céntimos. El ADC de 12 bits es determinante, y sólo el Cypress lo tiene.
> 
> Pero resulta que la competencia, TODOS, usan AVR's para hacer exactamente lo mismo. Lo bueno es que el conversor de 10 bits, con algunos truquillos (que sólo funcionan en los AVR), llega a los 12 bits necesarios.
> Claro que hace falta probarlo todo, ya que los 12 bits de Freescale pueden no ser reales. Que conste que hice presión al jefe para hacer prototipos con todos los micros (Freescales, PIC, AVR y Cypress) y comprobar los resultados que diesen de verdad.
> ...


----------



## Beamspot (Ago 18, 2008)

Je, je. Conozco perfectamente los ADC's externos (he usado varios, de hasta 16bits), pero cuando uno se mira 1 céntimo de euro, estos quedan descartados prácticamente a la primera de cambio. Total, para qué usar un micro (sea el que sea) de 0.8€ con un conversor de 10 bits cuando por 0.7€ tienes un freescales de 12 bits?.

AKO-15730, 15731, 15732, 15740, 15742, 15750, 15752. Registradores de temperatura con ATmegas.

AKO-52064. Alarma con Cypress.

AKO-53190. Controlador de niveles por ultrasonidos con ATmega64.

Hay más cosas, pero son puramente analógicas.

En lo de difícil para los PICs lo comento por los precios y la calidad de los Frescales (que conste que yo antes usaría los PIC que los Frescales, pero es por cuestiones que no tienen nada que ver con la calidad de los micros). Y a la competencia que hay en los micros baratos por parte de otros fabricantes.

Repito que en el sector en el que estoy (termostatos), TODA LA COMPETENCIA usa AVR's. Incluso los que antes usaban Freescale.

Y en lo que respecta a los micros que suban del euro y medio, parece ser que todo el mundo se está pasando a los ARM (sobre todo, Cortex M3). Incluso los de la competencia ya empiezan a usar los ARM de Atmel (aunque en estos momentos no son mis favoritos al no ser Cortex, todavía).

Personalmente, te recomiendo que les eches un vistazo, no está de más tener un poco de culturilla, y además comprobarás que todos los micros se están empezando a decantar por estructuras multiacumulador (el principal motivo de mi predilección por los AVR). Por cierto, los dsPIC también son multiacumulador.


----------



## Meta (Ago 18, 2008)

Cada vez oigo más sobre AVR en internet, en la calle solo oigo nombrar los PIC de todo tipo, pero bueno.

Falta un buen libro sobre AVR para que la gente tenga una buena   motivación para aprender en su idioma.


----------



## diks (Ago 24, 2008)

Hola...
soy nuevo en el foro ...bueno solo queria decir q yo he aprendido el AT89C52 de atmel con el libro "introduccion a los microcontroladores" de "gonsalez vazques" 
creo q ese libro es español o mexicano, es el unico libro q he encontrado de la arquitectura 8051


----------



## Meta (Ago 24, 2008)

Vaya, ahora me entero que hay uno en español. Bueno, aquí hay uno que que quiere hacerlo.


----------



## diks (Ago 24, 2008)

hacer q mano?


----------



## Meta (Ago 24, 2008)

Un libro de AVR de Atmel en español. mano.


----------



## diks (Ago 27, 2008)

....q bien 
entonces me apunto
ah y por cierto..... me parece que  atmel es algo mejor q el Pic en  instrucciones y en la forma q utiliza la ran


----------



## Meta (Ago 27, 2008)

diks dijo:
			
		

> ....q bien
> entonces me apunto
> ah y por cierto..... me parece que  atmel es algo mejor q el Pic en  instrucciones y en la forma q utiliza la ran



No se, pero cuando haga el libro lo sabré. Aún así, PIC es el rey de los microcontroladores en ventas y aprendizaje. 

La realidad es otra.


----------



## Beamspot (Ago 29, 2008)

Un pequeño detallito: los AT89 NO SON AVR, si no derivados del 8051, de los cuales sí hay literatura en español.

Atmel empezó fabricando memorias flash, y luego sacó una línea de micros compatibles con el 8051 con este tipo de memorias, cosa que hizo popular al fabricante. Luego desarrollaron un micro controlador AVR que era pin compatible con los 8051, pero con el core AVR (que era el proyecto final de carrera de dos universitarios), para que los que habíamos trabajado con el 8051 pudiésemos empezar fácilmente a usar los AVR. Era el AT80S8515.

Sólo el patillaje era compatible.


----------



## gonsefo (Sep 18, 2008)

yo llevo años programando pic's y la verdad estoy mamado de esos micros de jugete que solo sirven para prender lucecitas y hacer proyecticos de mentiras, se queman solos y si se ponen a manejar un motorcito la FEM los buelve locos y sacan humo, como lei en un foro hace tiempo, los PIC`s son para tecnicos y los MOTOROLA y ATMEL son para ingenieros, es como comparar un renault 4 con un mercedez o un hummer, nada que hacer, muy respetuosamente con los que se sienten comodos con los pic, pero uno debe saber cuando ha llegado el momento de evolucionar, mas es siempre mejor..


----------



## Meta (Sep 18, 2008)

La verdad es que los avr siempre están por detrás de los pic te guste o no. Motorola he oído que es mejor. Los PIC hacen lo que hacen los demás y se utilizan más, esa es la realidad. A veces el Renault es más vendido que el Mercedes y se utiliza más, ejejejejje
Por algo será.


----------



## macraig (Sep 21, 2008)

Me han llegado unas  muestras gratis de microchip, unos pocos 18F2550 y 18F4550, junto con un programador PICKIT2. Estas son mis primeras impresiones del trabajo con PIC.

1. Programador.
Los AVR usan el estandar jtag, es relativamente facil conseguir un depurador o armarse uno. Un programador sencillo puede hacerse con unos pocos componentes y un puerto paralelo, menos de un dolar. Ideal para una emergencia.

No consegui nada tan sencillo para pic. Debi comprar uno  pero encontre uno muy barato, y muy bueno, el PICKIT2, que es a la vez depurador, analizador logico y puerto serie, todo en uno, muy util si se tiene solo puertos USB a disposicion. 

2. Lenguaje.
Ya que quiero hacer algo serio, no solo apagar y encender luces, lo primero que hice fue buscar un compilador C. Existen muchos para los PIC, pero ningun compilador que pueda considerar "SERIO", al menos dentro del precio que puedo pagar. Luego de ver muchos, me quede con dos posibles candidatos: C18 y SDCC. SDCC es un proyecto de software libre, muy bueno, pero no lo he probado demasiado. C18 por otra parte, viene de microchip, y esta bien, pero puede mejorar mucho. Las librerias estan bien documentadas y estructuradas y tienen soporte para los perifericos de hardware, claro por el precio que tiene, se espera este bien documentado. Sin embargo poseen algunas carencias, por ejemplo, los strings son manejados por defecto en memoria de programa, y no en ram. y printf no puede manejar formatos en punto flotante (esto es lo que he encontrado hasta ahora).

Para avr, aunque hay muchas opciones, creo que la mejor es GCC. GCC es un compilador de verdad, soporte de c standard con librerias completas. La verdad, aqui AVR con GCC tienen una clara ventaja. Un compilador mejor que los disponibles para pic, ademas gratis, y bien documentado, que mas se puede decir.

Esto he encontrado hasta ahora, pero solo llevo trabajando un par de dias en esto. Hasta ahora me parece AVR mucho mejor. Sin embargo, ya que tengo pics gratis........


----------



## Chico3001 (Sep 21, 2008)

Los AVR se dividen en 4 familias principales... los ATTINY que son los micros mas pequeños....los ATMEGA que vienen mas completos, tambien acaban de sacar una familia llamada XMEGA que es de muy bajo consumo pero la alimentacion es de 3V y finalmente los AVR32 que son micros de 32 bits... esos no los he podido probar

La ventaja de Atmel sobre Microchip es el stack, el set de instrucciones, los compiladores y las herramientas (son mas economicas y faciles de usar)

La ventada de Microchip sobre Atmel es su facilidad para aprender a usarse, el precio y que encuentras documentacion en todos lados....


----------



## Meta (Sep 21, 2008)

Faltó nombrar el CCS, caro pero es el más usado y muy bueno.


----------



## diego_z (Sep 21, 2008)

personalmente me gusta microchip ,, aunque e visto mas aparatos con los de atmel


----------



## kingpoohoso (Sep 22, 2008)

hola a todos soy nuevo en este foro y apenas lei esto, y me entro la curiosida de que si los pic's o los avr's, la verdad es que los pic's son mas comerciales y tienen una infinidad de herramientas a usar, pero ojo... la mayoria de estas hay que comprarlas, asi que si eres alguien con algo de dinero lo mas conveniente es irte por los pic's, pero si no es asi no te preucupes los avr's tienen hasta compilador en C totalmente gratis y con una gran cantidad de librerias ausar como son para display's,USB,I2C,etc. si quieres empezar con es to de los avr te recomiendo bajar el avrstudio de la paguina de Atmel
y despues descargarte el winavr que es el C de los avr's, despues si quieres algun grabador para estos descargate el ponyprog y arma el circuito para grabar los avr.


----------



## Meta (Sep 22, 2008)

Por alguna razón Microchip no pone C gratis.


----------



## asherar (Sep 23, 2008)

Meta dijo:
			
		

> Por alguna razón Microchip no pone C gratis.


Me dejas la intriga...


----------



## Chico3001 (Sep 23, 2008)

No puede poner C gratuito por una simple razon.... el estandar C requiere stacks que permitan guardar saltos de rutinas y hacer push y pop de variables, pero la serie PIC16 solo tiene un stack fijo de 8 niveles y los PIC12 solo de 2 niveles, por lo que estan obligados a crear compiladores que puedan saltarse esas limitantes

Traducido al español..... no es que no quieran... es que no pueden debido a las mismas limitaciones del PIC


----------



## Meta (Sep 23, 2008)

La razón más obvia sería...

...por dinero.


----------



## Chico3001 (Sep 23, 2008)

Definitivamente no... para las empresas que fabrican microprocesadores el ingreso mas fuerte es de la venta de los chips, te lo digo por que trabajaba en una distribuidora de componentes, y veia como incluso a algunos clientes les regalaban el software completo y algunas veces hasta los kits de experimentacion

Ademas siempre es mas sencillo llegar con un cliente y decirle que el software es gratis para que pueda experimentar otras tecnologias a gusto y sin miedos a pagar para ver y que a fin de cuentas no le funcione, los fabricantes cobran el sofware por que no les queda de otra, no tienen o no quieren tener un equipo de programadores que se dediquen a crear un compilador desde cero y por lo mismo se ven forzados a contratar compañias que se dediquen a eso y les pidan regalias


----------



## ezequiel1104 (Oct 10, 2008)

un saludo a todos los del foro, mi opinion despues de haber usado
por muchos años microchip y cambiarme a atemel es que la plataforma
que uses debe de estar de acuerdo con tu nivel de conocimiento, microchip
es muy popular porque es muy facil de programar incluso en asembler, siempre
refieres a w tus instrucciones, y el tipo de saltos esta limitado a solo dos
tipos, si tu revisas un programa en asembler, seguir el de microchip es 
sumamente facil, en cambio el de atmel te costara mucho trabajo por que tiene
muchos recursos que te pueden confundir.
atmel cerro su core de la mano con la empresa IAR que se especializa en desarrollar 
plataformas de c y c++ par varias familias de microcontroladores incluyendo microchip y atmel, 
esto le dio una ventaje porque el microcontrolador esta diseñado para las instrucciones
requeridas en c,  el c de IAR para atmel abarca todas las instrucciones de un
c normal de pc incluyendo las matematicas. 
si tu utilizas IAR para microchip te desepcionara que no soporta muchas instrucciones
nativas del c esto limitado por su arquitectura, ademas en este forum mucho se a hablado 
de la arquitectura tan poderosa de atmel, tu pedes declarar variables locales, y el procesador 
asigna registros directos(atmel cuenta con 32 y microchip solo 1 w), ademas puedes elegir
entre optimizar entre velocidad o espacio
yo prefiero atmel, y mas ahora que saldra al mercado la familia atxmega que trabajan
a 32mhz y los puedes alimentar con 1.5 volts y puede manejar una memoria externa de 64 megabytes
el micro mas pequeño maneja 5 puertos seriales y un puerto para ird
suena bien no? 
en mi opinion muy personal microchip cuenta con un servicio impresionante pero atmel tiene la mejor tecnologia
....


----------



## Fogonazo (Oct 10, 2008)

Leyeron esto:

https://www.forosdeelectronica.com/posts/142155/


----------



## Meta (Oct 11, 2008)

Fogonazo dijo:
			
		

> Leyeron esto:
> 
> https://www.forosdeelectronica.com/posts/142155/



Sí, lo leímos. Tanto Atmel que al final se va. Tan bueno que dicen ser pero no sube... Microchip será malo como dicen, pero veo que no se va a pique y es bueno para aprender con él primero.

Lo más probable que alguien de una marca nueva saquen algo de microcontroladores nuevos. Ya no oigo a los freeSacale como antes.

La verdad veo cualquier PIC traducido la hoja de datos o data sheets, he visto traducido al 16F84A, 16F87x, 18Fx550, no se si algunos más. Por algún lugar de internet, tiene que haber algo de esto es español solo que está bien escondido. Un vez encontrado, bien guardadito lo dejo o lo publico en una página para que todo el mundo lo tenga. _Que raro que nadie tenga algo español, al menos en este foro._

Saludos.


----------



## ezequiel1104 (Oct 11, 2008)

apenas me entere hace un par de dias, pero eso aclara muchas cosas, compras algo mejor de lo que tienes no?
sera interesante en que termina ese episodio porque el anuncio de compra no es amistoso.
al anunciarlo lo que quieren es que los accionistas se enteren para que ellos presionen la venta, en otras palabras al corporativo de atmel no le interesa la venta pero puede que a los accionistas si, y estos pueden presionen a aceptar
en fin solo espero de que de suceder sea para seguir soportando esta linea, no para quitarse la competencia mas fuerte que tienen y desaparecerla.


----------



## Meta (Oct 11, 2008)

Quizás ni la compran.


----------



## ezequiel1104 (Oct 11, 2008)

espero que no, la familia atxmega trae caracteristicas muy interesantes, tiene un convertidor de 12bits adc con un muestreo de 2 megasamplers (2 millones de muestras por segundo), yo creo que tomaron esa desicion porque esta nueva familia si los puede afectar en el mercado.
hablando sobre freescale(antes motorola o todabia con otro nombre), en lo personal nunca me gusto esa linea por una razon, motorola siempre tenia intereses encontrados, desarrollaba los mejores micros para sus productos y los peores los ofrecia al publico, ningun producto de motorola usaba los chips que el mismo vendia
mejor usamos compañias como microchip o atmel que se dedican a vender microcontroladores y no a producir productos, lo mismo aplica para muchas compañias nuevas que tienen intereses encontrados, cuando sienten que ellos mismos se estan haciendo sombra desaparecen el producto del mercado


----------



## Meta (Oct 11, 2008)

Por fin un ADC con 12 bits, porque para los PIC tiene que usar un integrado a parte también con 12 bits y más.

PIC tiene que moverse más con los 8 bits, aunque se que está entretenido con los PIC32. Tienen 17, pero están desarrollando más.


----------



## ezequiel1104 (Oct 13, 2008)

en las nuevas versiones tanto de microchip como de atmel ambos tratan de mejorar  de lo que adolecen, microchip con mas capacidad y velocidad y atmel con un menor consumo de corriente, en lo personal si tienes una aploicacion que requiera mayor proceso suguiero atmel pero si tienes una aplicacion de muy alto volumen debes de tratar de montar tu codigo en microchip que cuenta con precios muy bajos.


----------



## TxOs (Oct 30, 2008)

A mi corta experiencia en estos temas, les puedo comentar lo que me sucedio al momento de elegir un micro con el cual trabajar (comenzando en condicion "bajo cero").
P) Atmel o Microchip? cual ?
R) ..cualquiera que me sea facil de manejar y programar....pues no quiero programar en asm...da tirria...
Lo primero que busque fue un entorno de diseño virtual y encontre proteus 7 (soportaba ambos).
Despues busque un programador para alguno de los 2 que pueda armarlo yo mismo, que sea programable sin sacar el micro de la placa final y que funcionase con el puerto serial o paralelo de la PC. El mas sencillo que encontre fue uno de puerto paralelo con un 74LS245N para ATMEL por puerto SPI  (tambien había uno mucho mas sencillo con tan solo unas cuantas resistencias...pero por que arriesgar mi puerto paralelo sin un buen desacople?). Para PIC debia utilizar un bootloader para grabarlo en sitio y el hard del grabador inicial ..ya se hacia complejo....
Por ultimo busque un entorno de programacion sencillo y que me diera las máximas ayudas posibles, encontre varias opciones para programar en C, pero todas con algun grado de dificultad o limitación (tal vez solo limitaciones mias en cuestion de darme el tiempo de estudiarlos y entenderlos, pues nunca me gusto tardar demasiado en entender un entorno de programación), en esa busqueda encontre "BASCOMAVR" el cual se presento muy amigable y con mucha ayuda, además que no tuve que esforzarme demasiado para entenderlo. Me gustó ya que casi habia que hacer nada para poder configurar el puerto SPI o para adjuntar un LCD de 16x2. Ademas de la facilidad de configurar el puerto serial sin mas que un par de lineas de codigo. (bueno.. BASCOM AVR..es pagable..pero la buena mula no se entero de eso...) 
Esas dos razones ultimas fueron las que me inclinaron por ATMEL.
Toda esta busqueda y etc..me costo como que 3 meses... de buscar en la red y dilucidar ¿cual es mejor? para mis propositos....
De esa forma primero programe un clasico "led" on/off, lo probe en el simulador, despues lo grabe al micro utilizando el buen poniprog... todo de maravilla...
Termine en poco tiempo de realizar el proyecto que tenia en mente (4 meses). Un bichito que pudiese comunicarse por red utilizando TCP/IP con ENC28J60, un LCD de 16x32 y que se comunicase por puerto serie a la PC mediante un MAX232....todo salio OK...(a pesar de la complejidad del código que me enfrente a realizar.(...el driver..uff..uffff...ARP...ok ....ICMP...ok...udp..ok...TCP...huggg....fue dificil pero ok).
Es por esas razones que mi voto es por Atmel y en particular por ATMEGA16/32, que son con los que trabaje ultimadamente. (primero con 16 y cuando se me acabo la memoria...pues al 32...).
Se que si me inclinaba por PIC podia haber tenido el Driver mucho mas pronto, pues ya esta hecho en C y a disposición por free.
Bueno...esa mi experiencia ...y ese mi voto.


----------



## Meta (Nov 16, 2008)

Hola:

En ensamblador o ASM. 

*1)* ¿Cuál es más fácil programar, PIC o AVR?
*2)* ¿Por qué?

Un cordial saludos.


----------



## Chico3001 (Nov 16, 2008)

Meta dijo:
			
		

> Hola:
> 
> En ensamblador o ASM.
> 
> ...



Para programacion en ensamblador definitivamente es mas facil el PIC, por que su set de instrucciones es mas reducido y se puede aplicar casi por completo al conjunto completo de registros (tambien conocido como set de instrucciones ortogonal)

En cambio un Atmel tiene un set de instrucciones mas complejo y algunas instrucciones no aplican para todos los registros (por ejemplo mover un dato del registro 0 al 15 al puerto de salida) asi que es obligatorio hacer un paso intermedio para lograr el resultado (mover del registro 0 al 15 al registro 16 al 32 y de alli al puerto)


----------



## Meta (Nov 16, 2008)

Razón por la que todo el mundo empieza con PIC. Menos mal que está el C para quitar lo de difícil.


----------



## torresdelamora (Nov 27, 2008)

menos mal que el avr esta optimizado para c


----------



## Meta (Nov 28, 2008)

¿Al final Microchip compra Atmel o no?


----------



## torresdelamora (Dic 5, 2008)

al parecer no, vi estos comunicados comunicados

http://www.atmel.com/dyn/corporate/view_detail.asp?FileName=AtmelBoardofDirectorsResponse_10_29.html


http://www.atmel.com/corporate/documents/SLL_Customer_Letter_10-29-08.pdf


----------



## Meta (Dic 5, 2008)

Uf.

Un un usario de este foro dijo que iba a traducir un libro de AVR de Atmel a español. A ver si se anima, porque hasta Freescale tiene uno muy bueno en español.


----------



## pic-man (Dic 5, 2008)

¿Cuál es ese de freescale en español?


----------



## Meta (Dic 5, 2008)

Libro

Si y tubiera ese libro, no me corto en aprender algo sobre él, lo que no entiendo es por qué nadie le interesa mucho Freescale. Eso si, me llama más la atención Atmel.

*El que quería hacer el del AVR de Atmel al español, no ha aparecido más. Se lo habrá pensado.*


----------



## torresdelamora (Dic 5, 2008)

de motorola, me quede con el hc11  y relmente es recomendable. los de ahora frescale los desconosco.


Considero que es mejor aprender Ingles a esperar a que salga un libro en español,  normalmente sale bastante despues o nunca sale.  Pero cada quien es libre de decidirse si por aprender otro idioma (lo basico) o esperar literatura en español.


----------



## Meta (Dic 5, 2008)

Por supuesto, ya que no está en español, pues el Inglés. Cuadno salga en español, es lo mejor y eso que es la segunda lengua más usada o al menos eso dicen.


----------



## sepiroh (Ene 20, 2009)

Es verdad que la información sobre los pic abunda, pero si buscas un poco encontrarás todo lo que necesitas de la página de atmel. He probado ambos, como parte de mi carrera y la verdad prefiero los atmel por la facilidad de programacion, dado que su código está orientado a ser programado en C.

Por otro lado, yo soy muy descuidado, y mientras por errores de conexión he quemado algunos PIC's, jamás se me descompuso el primer AVR que compré, siendo que tambien he cometido muchos errores con él...


----------



## Meta (Ene 21, 2009)

Precisamente el PIC se usa por su facilidad de programación más que otros microcontroladores, no los Atmel.


----------



## beto_mmf (Feb 19, 2009)

Por  lo que veo este tema mas parece atmel Vs meta


----------



## Chico3001 (Feb 19, 2009)

beto_mmf dijo:
			
		

> Por  lo que veo este tema mas parece atmel Vs meta




    Meta es un hueso duro de roer... le gustan mucho los PICs.. por mas que le digamos que se pase al lado bueno de la fuerza el no quiere...


----------



## LeoXtar (Feb 20, 2009)

Encuanto a la programacion en ensamblador
Para mi se me hacen mas comodas  las instrucciones de Atmel ,las instrucciones 
son del tipo  operador destino,fuente

Y por ejemplo comparando el MPLAB con el AVR studio de Atmel el de Atmel es mucho mejor y bonito, puedes
ver todos los registros i/o de manera grafica que ayuda mucho a la hora de depurar el programa.


----------



## Chico3001 (Feb 20, 2009)

LeoXtar dijo:
			
		

> Encuanto a la programacion en ensamblador
> Para mi se me hacen mas comodas  las instrucciones de Atmel ,las instrucciones
> son del tipo  operador destino,fuente
> 
> ...



mmm alli si difiero un poco contigo... he usado ambos sistemas y tanto las instrucciones como la "amigabilidad" del compilador son mejores con Microchip, aunque si admito que me gusta mas el AVRstudio para hacer programacion en C, sobretodo por que el compilador es gratuito


----------



## asuryan87 (Feb 28, 2009)

Hola a todos soy nuevo por aqui y rapidamente me he fijado en este tema.

Soy estudiante y llevo 3 años programando con PICs y fue en un proyecto de clase cuando empece a fijarme en los ATMEL, os explico mi caso.

Estoy  haciendo un seguidor solar y haciendo la parte de software sobre un PIC18F2550 en lenguaje C,  al principio me parecia genial, mucha memoria y muchos periferios, pero a la larga daba muchos problemas, por ejemplo, para mi proyecto estaba usando una pantalla uLCD, para ver de que era capaz de hacer esa pantalla busque por youtube y me fije en que todos usaban micros de ATMEL ya fuese con  arduino o atmega y la verdad es que funcionaba de maravilla. pero al hacer el programa para el pic, no habia manera.   Logicamente lo primero que uno piensa es que el fallo es propio pero es una pantalla realmente facil de usar y lo reice varias veces y al final consegui algo pero dejaba mucho que desear.

A partir de ese momento empece a investigar sobre los AVR y por lo que he leido, tanto en español como en ingles los de ATMEL son superiores a los PIC en mucho sentidos. 

los avr son 4 veces mas rapidos

tienes 32 registros de trabajo! y los pic solo 1

No tienen la memoria separada en bancos

Los compiladores de C permiten todas las instrucciones que existe en C para PC y los pic no y hablo de los micros de atmel mas simples.

El precio de un avr es inferior al de un pic equivalente.


Las desventajas que tiene  son la complejidad del asm pero eso se puede superar con un poco de practica y que no tiene tantos perifericos como los PIC




Lo malo es que como todos sabemos, la información esta ingles.

 yo acabo de introducirme en los atmel y puedo ir haciendo pequeñas tutoriales de como usar el avr studio, el at90s1200  y traducir algun libro(los tengo en pdf por si alguien los quiere) pero eso sera a partir de  abril asi que si alguien esta interesado en ayudarme o aprender conmigo adelante.


Aqui dejo un link para que compareis entre los pic(a la izquierda) y los avr(a la derecha)

YouTube


----------



## Meta (Feb 28, 2009)

asuryan87 dijo:
			
		

> Hola a todos soy nuevo por aqui y rapidamente me he fijado en este tema.
> 
> Soy estudiante y llevo 3 años programando con PICs y fue en un proyecto de clase cuando empece a fijarme en los ATMEL, os explico mi caso.
> 
> ...



Opino que el ASM de AVR no me gusta nada de nada, en su día el PIC también lo odiaba y me costó mucho aprenderlo y sigo del todo sin saber, pero con tiempo y práctica se consigue.

Ahora está el C tanto uno como el otro, ya da igual casi el ASM,pero funciona...

...por cierto, actualizaron cosas de AVR en http://www.winpic800.com/


----------



## asuryan87 (Feb 28, 2009)

ASM no es tan malo como piensas, de hecho  si el programa que hago no es excesivamente complicado prefiero ensamblador aunque tambien uso c

Lo que dijiste de que la gente esta muy centrada en el PIC32, no es mi caso de hecho usar un PIC32 para mi es como matar moscas a cañonazos, me sobra pic por tadas partes, en realidad con los 18F tendriamos entretenimiento para rato.

Microchip sabe bien como venderse y es de agradecer que haya tantos ejemplos y documentacion en castellano (aunque no provenga de microchip). 
 Para nosotros  los AVR son compeltamente desconocidos por que durante un tiempo hemos estado muy retrasados en cuanto desarrollo tecnologico pero en asia y gran parte de europa los ATMEL predominan sobre cualquier otro desde hace años.


----------



## Meta (Feb 28, 2009)

Entendido. Ojo una cosa, no he dicho que la _gente_ esté con los PIC32, sino el creador, ya que está centrado en ello. Había un usuario del foro que iba  a traducir un libro de AVR al español, no se si realmente lo hará ya que Microchip tenía o sigue teniendo intención de comprar AVR.


----------



## asuryan87 (Feb 28, 2009)

Pues a ver si aparece y nos ponemos en contacto para hacerlo juntos

He encontrado la noticia de que microchip ya no esta interesada en atmel

http://finance.yahoo.com/news/Microchip-Technology-drops-apf-14317148.html


----------



## Meta (Feb 28, 2009)

El libro no es un manual personal, si no que tiene la idea de coger un libro oficial en Inglés  de AVR y traducirlo a una editorial. Su comentario está en este tema perdidoo en post anteriores pero está, se le quitó las ganas cuando encontró la noticia publicada en la propia www.microchip.com , vamos a  ver si realmente no está ya interesada por AVR, quiere una cosa y ahora no, puede que la quiera otra vez.

AVR tiene que hacer lo que hace PIC para seguir adelante, ejemplos, muchos ejemplos y que la gente le interese tanto como los pic que ahí está la gran cantidad de información en español hasta en revista oficiales de cualquier país de habla hispana.


----------



## asuryan87 (Feb 28, 2009)

Estoy de acuerdo contigo, los ejemplos estan ya para el que quiera pero el problema es el idioma que hecha para atras a muchos pero seguire investigando y si encuentro algo decente lo subo y que la gente decida


----------



## Meta (Feb 28, 2009)

*Información general para AVR*

Guia de productos ATMEL *Descarga*

AVR Studio 4.15 *Descarga*

WinAVR compilador GCC (se integra al AVR Studio) *Descarga*

AVRdelayloop *Descarga* 

AVR Baud Rate Calculator 

AVRCalc *Descarga* 

Tutorial assembler para AVR AT90S2313 *Flash* 

Fusibles AVR *CGI*

*Programadores*

 Programador ISP 

 Programador para familia AT89S 

STK200 y PonyProg

*Información y proyectos con ATtiny11*

Registros en ATtiny11 *Descarga*

LED intermitente con ATtiny11 *Descarga*

Tono con ATtiny11 *Descarga*

Motor Paso a Paso con ATtiny11 *Descarga*

INT0 en ATtiny11 *Descarga*

UART con ATtiny11 *Descarga*

*Información y proyectos con AT90S1200*

Curso básico de AT90S1200

LED intermitente con AT90S1200 usando variable *Descarga*

*Información y proyectos con ATmega16*

BCD-7SEG con ATmega16 *Descarga*


----------



## asherar (Mar 13, 2009)

Algo muy reciente: Micro alimentado con 0.7 V

http://www.elektor.com/news/new-fam..._source=UK&utm_medium=email&utm_campaign=news

Por las demás especificaciones me hace acordar a los pic.


----------



## Meta (Mar 13, 2009)

Cuando PIC vea esto, lo imitarán a su estilo.

¿Esto convencerá al público? 0.7V son 0.7V. Al menos en PIC seguro que si convence...

Ahora falta que haya muchas cosas más a ver si el santo AVR se deja ver bien como hace PIC, y si la gente le hace caso también.


----------



## cristian_elect (Mar 13, 2009)

Yo ya tengo tiempo en la electronica siempre e visto que atmel te ofrece una mayor variedad de micros y con mejor rendimiento si ves los pic32 vs con avr32, estos avr32 tienen mayor rendimiento y mayor variedad de chips y su compilador C es gratis.


----------



## Meta (Mar 13, 2009)

Quiero compilador C gratis para PIC. No lo hacen  porque saben que se vende muchos PIC antes que AVR con mejor rendimiento y C grautito. La gente no hace caso a atmel y vete a saber el motivo.

¿Falta de información? ¿Libros en español?

Aquí había uno que tiene o tenía intención de traducir al español pero veo que no da señales de vida.


----------



## cristian_elect (Mar 13, 2009)

Información hay libros en español es lo que falta para esos electrónicos que lo les gustan ingles ¿Por que abran escogido la electrónica como profesión? sabiendo que esa profesión el ingles es lo predominante.


----------



## Meta (Mar 13, 2009)

Muchos saben PIC, AVR, Motorola sin saber mucho de electrónica, ni Inglés.


----------



## santiago (Mar 13, 2009)

y los freescale como andan? no los conocia

saludos


----------



## Meta (Mar 13, 2009)

Dicen que andan muy bien, aunque no los oigo mucho sino en Universidades...


----------



## santiago (Mar 13, 2009)

a mi secundaria llegaron unas placas multifuncionales super completas con detodo desde usb, displays,irda,wifi,serie,paralelo, etc etc
gobernadas por este micro
muy interesante


----------



## cristian_elect (Mar 13, 2009)

Meta dijo:
			
		

> Muchos saben PIC, AVR, Motorola sin saber mucho de electrónica, ni Inglés.


Por eso encuentro preguntas tontas de por que me salia asi, Por la grafica del labview del adc me sale mal
hay muchos hobbistas apredieron a programar mirando a otros sin saber sus principios y como funcionan las cosas
en la electronica. Claro hay otros de la especialidad que solo estudian para pasar el ciclo nada mas.


----------



## Meta (Mar 14, 2009)

Manuales FreeScale

http://www.abcdatos.com/tutoriales/...electronica/microcontroladores/freescale.html

Saludos.


----------



## javierandres (Mar 21, 2009)

Saludos, pues sucede que tengo un pequeño problema y este tema es el primero que salió en el buscador, así que me disculpo con anticipación si desvirtúo un poco. Sucede que soy estudiante de Ingeniería y este semestre voy a ver una materia que se llama sistemas microprocesados. Nosotros vamos a trabajar con el micro atmega16 de atmel. Pues sucede que me han pedido para  laboratorio que investigue cuáles son las ayudas del avrstudio 4 y cuales son las principales características del ensamblador de este software. He estado buscando información por todo lado y puedo dar fe de lo que algunos indican en este foro: la información es poquísima en español, al contrario que en el caso de los PICs, de los que abundan libros en la biblioteca. Ya me descargué el programa y encontré algunas características pero nada de las "ayudas" del programa (de hecho no sé si se refiere a algún tipo de instrucciones o qué) y deseaba ver si alguien con experiencia puede darme una guía.

Además, me he leído todas las páginas del post y me parecieron muy interesantes y deseo plantearles una duda: ¿que opinan del hecho de que tengamos que usar el assembler, con esa cantidad de instrucciones, si nos hemos pasado la vida programando en C?, ¿Realmente representa una alternativa en algún momento a la programación en C?

Saludos


----------



## cristian_elect (Mar 21, 2009)

Esta informaciónmacion te ayudara con el asm:
http://www.dte.us.es/tec_inf/itig/microele/docu/curso0506/tema4/tema4_parte1_micro_0506.pdf
Y aqui con el avrstudio:
http://www.scribd.com/doc/7842926/Capitulo4-Directivas-y-Software-Del-AVR-Studio-espanol


----------



## asuryan87 (Mar 22, 2009)

Javiaerandres



> Además, me he leído todas las páginas del post y me parecieron muy interesantes y deseo plantearles una duda: ¿que opinan del hecho de que tengamos que usar el assembler, con esa cantidad de instrucciones, si nos hemos pasado la vida programando en C?, ¿Realmente representa una alternativa en algún momento a la programación en C?



Yo estoy empezando con el ensablador y tengo ya varios programas hechos, es cierto que tiene muchas instrucciones y si lo comparas con los pic es complicado pero es bastante interesante, por supuesto C es mas rapido pero yo usaria los dos.


P.D.  Tal y como dije a partir de abril empezare a traducir este libro ya que es el mas util para principiantes.


Aunqe me llevará algun tiempo traducir tanto.

Un saludo


----------



## Meta (Mar 22, 2009)

Ojalá veamos esa traducción.


----------



## asuryan87 (Mar 22, 2009)

La subire a su debido momento, llevara su tiempo.  Intentare poner mis propios ejemplos bien explicados y comentados.

Si alguien tiene programas o kiere ayudar, por mi encantado


----------



## Meta (Mar 22, 2009)

Vi el libro. Es mucho para una sola persona.

Ni siquiera están traduciendo el datasheet del 16F628A que tantas ganas tenía en un principio. (Doy por hecho que abandonaron).

https://www.forosdeelectronica.com/about8516.html

Eso si, en otros foros ya están traduciendo el 12F629/675 y queda menos. Le hice un ejemplo en PDF y está muy agradecido porque se lo dejé bien.

Bueno, vamos a ver que vas hacer con esa traducción a tu manera, que tengas suerte.

Yo sigo haciendo manuales a mi manera.
http://electronica-pic.blogspot.com/

Saludo.


----------



## asuryan87 (Mar 22, 2009)

Perfecto,  lo intentare hacer al estilo del " MICONTROLADOR PIC16F84, Desarrollo de proyectos" de RA-MA que esta muy completo y es con el que aprendi.

Tenia pensado usar proteus y el AVR AT90S2313, con el que tengo hechas 4 cosas y  probablemente sea mas facil de conseguir que el AT90S1200 que ya esta en desuso.

los Tiny son faciles de conseguir y no hay mucha diferencia, tambien he buscado grabadores baratos y USB que hay pocos pero los hay.


----------



## Meta (Mar 22, 2009)

Si ya tienes cosas hechas, entonces lo tienes más fácil de lo que creía.

[quote author=CesarS link=topic=185.msg901#msg901 date=1226158364]
*Información general para AVR*

Guia de productos ATMEL *Descarga*

AVR Studio 4.15 *Descarga*

WinAVR compilador GCC (se integra al AVR Studio) *Descarga*

AVRdelayloop *Descarga* 

AVR Baud Rate Calculator 

AVRCalc *Descarga* 

Tutorial assembler para AVR AT90S2313 *Flash* 

Fusibles AVR *CGI*

*Programadores*

 Programador ISP 

 Programador para familia AT89S 

STK200 y PonyProg

*Información y proyectos con ATtiny11*

Registros en ATtiny11 *Descarga*

LED intermitente con ATtiny11 *Descarga*

Tono con ATtiny11 *Descarga*

Motor Paso a Paso con ATtiny11 *Descarga*

INT0 en ATtiny11 *Descarga*

UART con ATtiny11 *Descarga*

*Información y proyectos con AT90S1200*

Curso básico de AT90S1200

LED intermitente con AT90S1200 usando variable *Descarga*

*Información y proyectos con ATmega16*

BCD-7SEG con ATmega16 *Descarga*


[/quote]


----------



## asuryan87 (Mar 22, 2009)

Gracias por la información, ya subire el primer capitulo cuando lo tenga listo.

P.D. quizas tarde un poco


----------



## asuryan87 (Mar 22, 2009)

A por ciertom no sabras como puedo descargarme el swf que has puesto antes


http://www.ouravr.com/attachment/microschematic/inde.html

lo he intentado con el flash player pro pero no consigo nada


----------



## Meta (Mar 22, 2009)

Borratodo los archivos temporales de tu navegador, las cookies no hace falta.

Carga la web completa y vete a los archivos temporales para tener el swf. Cuando lo tengas a tu escritorio, pincha dos veces sobre él para ejecutarlo, arriba pulsa Archivo-->Guardar como... o algo similar y se guarda en exe.

Está bien explicado, me dan gana de hacer algo parecido con el PIC el que sea.


----------



## asuryan87 (Mar 22, 2009)

La verdad es que es muy util, aunque no logro hacerlo, despues de borrar los archivos temporales de internet y cargar la página, vuelvo a mirar en la carpeta y no encuentro nada, solo los cookies


----------



## javierandres (Mar 22, 2009)

Mucha gracias Cristian, realmente me resultó muy útil la información. Pues bueno no me queda otra que empezar a aprender instrucciones, espero que como me dijo un amigo solo tenga que aprender unas cuantas como base ya que muchas instrucciones son variantes de éstas.

Saludos, Javier.


----------



## Meta (Mar 22, 2009)

La verdad que el ASM de los AVR no se me dan nada bien.


```
;  ------  DALLAS DS1990A based lock ------
;  ------  Supports 9 keys + 1 master-key -----


;TARGET	= AT89C2051
DEBUG	= 0		;0-off, 1-rdfn ports, 2-on
#INCLUDE "LIBR51.ASM"	;8051 SFR set

CLK_KHZ	= 10000		;OSC frequency, KHZ
RTC_MS    = 20                ;system clock, MS

RTCV	= -(CLK_KHZ*RTC_MS)/12

;Macros:

#DEFINE LO(XXX) XXX & 0FFH
#DEFINE HI(XXX) (XXX >> 8) & 0FFH

#IF (DEBUG>1)
#INCLUDE "LIBDEF.ASM"
#ENDIF

;  ------ Constantes ------

MAXK	.EQU 9		;max number of keys
I2C_ADDR	.EQU 0A0H		;I2C address for 24C02 (A0,A1,A2=0)
TMATMV	.EQU 25		;x20mS TM access delay time
AENTMV	.EQU 2		;x20mS TM access enable delay
OPNTMV	.EQU 150		;x20mS open pulse duration
RETTMV	.EQU 250		;x20mS return to normal mode delay

;  ------ Ports ------

DDATA	.EQU P1		;display data port
KEYOP	.EQU INT0		;key OPEN
OWP	.EQU INT1		;1-Wire port
SDA	.EQU T0		;I2C SDA line
SCL	.EQU T1		;I2C SCL line
SOLEN	.EQU R		;solenoid control line
WD	.EQU T		;watchdog line
KEYSL	.EQU P3.7		;key SELECT

;  ------ Variables ------

;Bit addressing memory:

RTPC	.EQU 020H		;Real time program counter
T040M	.EQU O20H.0	;40mS  period bit
T080M	.EQU O20H.1	;80mS  period bit
T160M	.EQU O20H.2	;160mS period bit
T320M	.EQU O20H.3	;320mS period bit
T640M	.EQU O20H.4	;640mS period bit
T1S28	.EQU O20H.5	;1.28S period bit
T2S56	.EQU O20H.6	;2.56S period bit
T5S12	.EQU O20H.7	;5.12S period bit

RTPCS	.EQU 021H		;Real time program counter (100mS part)

FLAGS1	.EQU 022H
PROG	.EQU O22H.0	;program mode flag
SNUM	.EQU O22H.1	;set number flag
BLINK	.EQU O22H.2	;display blink bit
SLKPR	.EQU O22H.3	;SELECT press flag
OPNPR	.EQU O22H.4	;OPEN   press flag

;Internal Data Memory:

	.ORG 0030H	;data memory segment

ROMD	.DS 8		;touch memory ROM data
TEMP	.DS 1		;temporary byte (used in ACCESS90)

TMATM	.DS 1		;touch memory access timer
AENTM	.DS 1		;TM access enable timer
OPNTM	.DS 1		;open timer
RETTM	.DS 1		;return timer

NUM	.DS 1		;current PRG number (1..9)

;Debugger variables:

#IF (DEBUG>1)
DBGVA	.DS 1		;debugger variable address in internal memory
DBGVV	.DS 1		;debugger variable value   in internal memory
DBGA	.EQU 0FFFFH	;debugger address          in external memory
#ENDIF

STACK:			;stack location

;  ------ Vectors Area ------

	.ORG 0000H	;reset vector
	LJMP INIT
	.ORG 000BH	;INT TIMER 0 vector
	LJMP RTC

;  ------ Main Program ------

INIT:	MOV SP,#STACK	;stack init
#IF (DEBUG>1)
	DEBUGINIT		;debug init
#ENDIF

;Variables init:

	CLR A
	MOV FLAGS1,A	;clear flags 1
	MOV TMATM,A	;touch memory access timer clear
	MOV AENTM,A	;touch memory access delay timer clear
	MOV OPNTM,A	;open timer clear
	MOV RETTM,A	;return timer clear

;Periferal setup:

	CLR TR0		;timer 0 stop
	CLR TR1		;timer 1 stop
	MOV TMOD,#11H    	;timer 0 and timer 1 init
	MOV TL0,#LO(RTCV)  	;timer 0 load
	MOV TH0,#HI(RTCV)
	SETB TR0		;timer 0 start
	CLR PT0          	;int. timer 0 low priority
	SETB ET0		;int. timer 0 enable
	SETB EA		;interrupts enable

;  ------ Main Loop ------

;Read touch memory:

MAIN:	LCALL ACCESS90	;read touch memory
	JNC NOTCH		;no touch
	JB PROG,PRG	;jump to process PROG mode
	LCALL CHKMAS	;check for master code
	JC OPN
	LCALL CHKMEM	;check for member code
	JC OPN
	SJMP NOTCH
PRG:	LCALL PROGT	;process PROG mode when touch
	SJMP NOTCH
OPN:	LCALL OPEN	;open door

;Check open key:

NOTCH:	LCALL CHKOPK	;check open key
	JNC NOOPN
	LCALL OPEN	;open door

;Check select key:

NOOPN:	LCALL CHKSLK	;check select key
	JNC NOSEL
	LCALL PROGS	;process PROG mode when select

;Open timer check:

NOSEL:	MOV A,OPNTM
	JNZ NOCLS
	LCALL CLOSE	;solenoid off

;Return timer check:

NOCLS:	MOV A,RETTM
	JNZ NORET
	LCALL RETMD	;return to normal mode

;Display, watchdog wakeup:

NORET:	LCALL DISP	;display
	LCALL WAKEUP	;watchdog wakeup
	LJMP MAIN

;  ------ Subroutines Area ------

;Process PROG mode when touch:

PROGT:    JB SNUM,PRGT1	;SNUM = 1 ?
	LCALL CHKMAS	;check for master
	JC PRGT3
	RET

PRGT3:	SETB SNUM		;set "set number" flag
	CLR BLINK		;clear blink flag
	MOV NUM,#1	;clear number
	MOV RETTM,#RETTMV	;load return delay
	RET

PRGT1:	JB BLINK,PRGT2	;PROG = 1, BLINK = 0 ?
	SETB BLINK	;set blink flag
	MOV RETTM,#RETTMV	;load return delay
	RET

PRGT2:	LCALL SAVE	;NVM[NUM] <- new key
	CLR BLINK		;clear blink flag
	MOV RETTM,#RETTMV	;load return delay
	RET

;Process PROG mode when select:

PROGS:    JB PROG,PRGS1	;PROG = 1 ?
	SETB PROG		;set program mode flag
	CLR  SNUM		;clear "set number" flag
	CLR BLINK		;clear blink flag
	MOV RETTM,#RETTMV	;load return delay
	RET

PRGS1:    JNB SNUM,PRGS2	;SNUM = 0 ?
	CLR BLINK		;clear blink flag
	INC NUM		;NUM + 1
	MOV A,NUM
	CJNE A,#MAXK+1,PRGS2
	MOV NUM,#1
PRGS2:	MOV RETTM,#RETTMV	;load return delay
	RET

;Return to normal mode:

RETMD:	CLR BLINK		;clear blink flag
	CLR PROG		;clear program mode flag
	CLR SNUM		;clear "set number" flag
	RET

;Open door:

OPEN:	CLR SOLEN
	MOV OPNTM,#OPNTMV	;load open pulse duration
	RET

;Solenoid off:

CLOSE:	SETB SOLEN
	RET

;Check open key:
;Returns C=1 if pressed

CHKOPK:   JNB KEYOP,OP1	;jump if key OPEN pressed
	CLR OPNPR		;clear OPEN pressed flag
OP3:	CLR C
	RET

OP1:	JB OPNPR,OP2
	LCALL DEL15	;delay 15 mS
	JB KEYOP,OP3
	SETB OPNPR	;set OPEN pressed flag
OP2:	SETB C		;C <- 1 if key OPEN pressed
	RET

;Check select key:
;Returns C=1 if pressed

CHKSLK:   JNB KEYSL,SL1	;jump if key SELECT pressed
	CLR SLKPR		;clear SELECT pressed flag
SL2:	CLR C
	RET

SL1:	JB SLKPR,SL2
	LCALL DEL15	;delay 15 mS
	JB KEYSL,SL2
	SETB SLKPR	;set SELECT pressed flag
	SETB C		;C <- 1 if key SELECT pressed
	RET

;Watchdog wakeup:

WAKEUP:	MOV C,T040M
	MOV WD,C
	RET

;  ------ 1-Wire bus support ------

;Send reset pulse to OWP and receive presence pulse
;Out: C = 1 if OK

TRESET:   PUSH B
	CLR OWP		;OWP <- 0
	MOV B,#CLK_KHZ/48
	DJNZ B,$		;delay 500 uS
	CLR EA		;interrupt disable
	SETB OWP		;OWP <- 1  (0uS)

	MOV B,#CLK_KHZ/2000
	DJNZ B,$		;delay
	MOV C,OWP		;read OWP  (14 uS)
	JNC FAIL		;fail if OWP = 0

	MOV B,#CLK_KHZ/500
	DJNZ B,$		;delay
	MOV C,OWP		;read OWP  (66 uS)
	JC FAIL		;fail if OWP = 1

	SETB EA		;interrupts enable
	MOV B,#CLK_KHZ/100
	DJNZ B,$		;delay
	MOV C,OWP		;read OWP  (312 uS or more)
	JC RESOK		;OK if OWP = 1

FAIL:	CLR C
	SETB EA		;interrupts enable (if fail)
RESOK:	POP B
	RET

;Read/Write byte via 1-Wire bus
;Input: A  - input byte
;       R4 - CRC
;Out:   A  - output byte
;       R4 - updated CRC

TBYTE:    PUSH B
	MOV B,#8		;perform to read 8 bit
TBYTE1:	RRC A		;C <- bit
	LCALL TBIT	;transmit bit
	DJNZ B,TBYTE1	;next bit
	RRC A		;A <- last bit
	POP B
	RET

;Read/Write bit via 1-Wire bus
;Input: C  - input bit.
;       R4 - CRC
;Out:   C  - output bit
;       R4 - updated CRC

TBIT:     PUSH ACC
	CLR EA		;interrupts disable
	CLR OWP		;OWP <- 0 (begin of time slot)
	NOP		;delay to be sure...
	NOP		;that thermometr...
	NOP		;looks low level
	JC TB_1
	SJMP TB_0		;if data bit = 0 then OWP <- 0
TB_1:	SETB OWP		;if data bit = 1 then OWP <- 1
	NOP      		;delay for data setup
TB_0:	NOP
	NOP
	NOP
	NOP
;	NOP		;10 MHz !
;	NOP
	MOV C,OWP		;read port 15 uS later
	PUSH B  		;save register B
	MOV B,#CLK_KHZ/706
	DJNZ B,$ 		;delay to complete 60 uS slot
	POP  B   		;restore register B
	SETB OWP		;OWP <- 1, end of time slot
	SETB EA		;interrupts enable

	PUSH PSW		;update CRC, save C
	RLC A		;ACC.0 <- C
	XRL A,R4		;~ACC.0 if CRC.0 = 1
	RRC A		;ACC.0 -> C
	MOV A,R4		;A <- CRC
	JNC BCRC0
	XRL A,#18H	;update CRC
BCRC0:	RRC A		;shift CRC
	MOV R4,A		;CRC <- new value
	POP PSW		;restore C

	POP ACC
	RET

;  Accesses to DALLAS DS1990A touch memory.
;  Returns C=1 in case of valid code, else C=0.
;  Out:  ROMD (8 bytes)

ACCESS90: CLR C		;indicate failure
	MOV A,AENTM	;check access enable timer
	JNZ RET90		;exit if AENTM > 0
	MOV AENTM,#AENTMV	;reload access enable timer

	LCALL TRESET	;issue reset pulse
	JNC   RET90	;leave if no parts on bus

	CLR C		;indicate failure
	MOV A,TMATM	;check TM access timer
	JNZ DIS90		;exit if TMATM > 0

	MOV   A,#033H	;read ROM command
	LCALL TBYTE	;send command byte

	MOV R0,#ROMD	;init pointer
	MOV R1,#8		;init counter
	MOV R4,#0		;initialize CRC variable

RDMORE:	MOV   A,#0FFH	;prepare to read a byte
	LCALL TBYTE	;read byte
	MOV @R0,A		;save byte
	INC R0		;next address
	DJNZ R1,RDMORE	;repeat until finished

	MOV  A,R4		;get CRC value in ACC
	JZ   CRC_OK	;jump if successful
	CLR  C		;indicate failure
	SJMP RET90

CRC_OK:	LCALL CHKZ	;check code for zero
	JNC RET90		;invalid code

DIS90:	MOV TMATM,#TMATMV
RET90:	RET		;return to caller

;Check TM code for zero:

CHKZ:	MOV R0,#ROMD	;init pointer
	MOV R1,#8		;init counter
NEXTZ:	MOV A,@R0
	ADD A,#0FFH	;C = 1 if A>0
	JC OKZ
	INC R0		;next address
	DJNZ R1,NEXTZ
OKZ:	RET

;  I2C NVM memory 24C02 support:
;
;  I2C - bus supported subroutines:
;
;  I2C_WR   - Write byte from A via I2C bus
;  I2C_RD   - Read byte to A via I2C bus
;  I2C_LRD  - Read last byte to A via I2C bus (no ASK)
;  I2C_SUB  - Send subaddress from R1 to I2C device
;  I2C_SUBR - Send subaddress from R1 and perform read.
;  I2C_STOP - Stop condition generation on I2C bus
;
;  I2C slave address  I2C_ADDR (0A0H for 24C02 A0,A1,A2=0)
;  I2C data line	  SDA
;  I2C clock line	  SCL

;Send subaddress to I2C device.
;Input: R1 - subaddress.

I2C_SUB:  MOV A,#I2C_ADDR	;I2C device address, write mode
	LCALL I2C_WR	;send device address
	MOV A,R1		;subaddress
	LCALL I2C_WR	;send subaddress
	RET

;Send subaddress and perform read.
;Input: R1 - subaddress.

I2C_SUBR:	LCALL I2C_SUB	;send subaddress
	LCALL I2C_STOP	;stop
	MOV A,#I2C_ADDR+1	;I2C device address, read mode
	LCALL I2C_WR	;send device address
	RET

;Send byte from A via I2C bus.

I2C_WR:   PUSH B
	MOV B,#9H		;bit counter load
	SETB C		;set C, for bit 9 = 1 (when ACK)
	LCALL SDA0	;SDA 1 -> 0 - start
I2CWR1:	LCALL SCL0	;SCL 1 -> 0
	RLC A
	JC OUTP1		;jump if bit = 1
	LCALL SDA0	;else SDA=0
	SJMP OUTP0
OUTP1:	LCALL SDA1	;SDA=1, if bit = 1
OUTP0:	LCALL SCL1	;SCL 0 -> 1
	DJNZ B,I2CWR1	;loop
	POP B
	RET

;Read byte via I2C to A.

I2C_RD:	MOV A,#1H		;A init to receive 8 bit
I2CRD1:	LCALL SCL0	;SCL 1 -> 0
	LCALL SDA1	;SDA=1 - SDA line release
	LCALL SCL1	;SCL 0 -> 1
	MOV C,SDA		;move bit from SDA line to C
	RLC A		;shift bit C into A
	JNC I2CRD1	;loop until C = 1
	LCALL SCL0	;SCL 1 -> 0
	LCALL SDA0	;SDA=0 - ACK generation
	LCALL SCL1	;SCL 0 -> 1
	RET

;Read byte via I2C to A without ASK
;(receive last byte).

I2C_LRD:	MOV A,#1H		;A init to receive 8 bit
I2CLRD1:	LCALL SCL0	;SCL 1 -> 0
	LCALL SDA1	;SDA=1 - SDA line release
	LCALL SCL1	;SCL 0 -> 1
	MOV C,SDA		;move bit from SDA line to C
	RLC A		;shift bit C into A
	JNC I2CLRD1	;loop until C = 1
	LCALL SCL0	;SCL 1 -> 0
	LCALL SCL1	;SCL 0 -> 1 when SDA=1: no ACK
	RET

;STOP condition generation:

I2C_STOP:	LCALL SCL0
	LCALL SDA0
	LCALL SCL1
	LCALL SDA1
	RET

;SDA and SCL lines control:

SDA0:	CLR SDA	;SDA 1/0
	RET
SDA1:	SETB SDA	;SDA 0/1
	RET
SCL0:	CLR SCL	;SCL 1/0
	RET
SCL1:	SETB SCL	;SCL 0/1
	RET

;EEPROM address map:

;00H - page not used
;08H - touch memory code 1
;10H - touch memory code 2
;...

;Save new key:
;NUM - key number (1..9)

SAVE:     MOV A,NUM
	MOV B,#8
	MUL AB		;NUM x 8
	MOV R1,A		;R1 <- subaddress
	LCALL I2C_SUB	;send subaddress
	MOV R1,#8		;init counter
	MOV R0,#ROMD	;init pointer
DOWR:	MOV A,@R0
	LCALL I2C_WR	;send data
	INC R0
	DJNZ R1,DOWR
	LCALL I2C_STOP	;stop
	LCALL DEL15	;delay 15mS to page write
	RET

;Check for member:
;Returns C=1 if code O.K.

CHKMEM:	MOV R2,#1		;init key counter

NEXT:	MOV A,R2
	MOV B,#8
	MUL AB		;NUM x 8
	MOV R1,A		;R1 <- subaddress
	LCALL I2C_SUBR	;send subaddress and read mode
	MOV R1,#8		;init counter
	MOV R0,#ROMD	;init pointer

DORD:	LCALL I2C_RD	;read data
	XRL A,@R0
	JNZ INVAL		;jump if invalid code
	INC R0		;next address
	DJNZ R1,DORD
	LCALL I2C_LRD	;stop read
	LCALL I2C_STOP
	SETB C		;valid code, C <- 1
	RET

INVAL:    LCALL I2C_LRD	;stop read
	LCALL I2C_STOP
	INC R2		;next key
	MOV A,R2
	CJNE A,#MAXK+1,NEXT
	CLR C		;invalid code, C <- 0
	RET

;Check for master:

CHKMAS:   MOV R1,#8		;init counter
	MOV DPTR,#MK	;init pointer to ROM
	MOV R0,#ROMD+7	;init pointer to RAM
DOCM:	CLR A
	MOVC A,@A+DPTR	;read ROM
	XRL A,@R0		;ROM[DPTR] = RAM[R0] ?
	JNZ INVM		;jump if invalid code
	INC DPTR		;next ROM address
	DEC R0		;next RAM address
	DJNZ R1,DOCM
	SETB C		;valid master code, C <- 1
	RET

INVM:	CLR C		;invalid master code, C <- 0
	RET

;Display support:
;Input: NUM = value
;if PROG = 0 display is blanked
;if PROG = 1 and BLINK = 1 display is blinking

DISP:     MOV A,#BLANK	;blank display if PROG = 0
	JNB PROG,IND
	MOV A,#CH_P	;display "P" if SNUM = 0
	JNB SNUM,IND
	MOV A,NUM		;display NUM if PROG = 1 and SNUM = 1

IND:	MOV C,T320M	;load blink period bit
	ORL C,/BLINK	;check blink enable bit
	JC IND1
	MOV A,#BLANK
IND1:	MOV DPTR,#FONT	;font table pointer
	MOVC A,@A+DPTR	;read font
	MOV DDATA,A	;indicator control
	RET

;Delay 15mS:

DEL15:	PUSH  B
	PUSH  ACC
	MOV   B,#30
DEL05:	MOV   A,#CLK_KHZ/48
	DJNZ  ACC,$
	LCALL WAKEUP	;watchdog wakeup
	DJNZ  B,DEL05
	POP   ACC
	POP   B
	RET

;  ------ Interrupt Holders ------

;  TIMER 0 Interrupt
;  System clock (20mS)

RTC:      PUSH ACC
	CLR TR0          	;timer 0 stop
	MOV TH0,#HI(RTCV)  	;timer 0 load for 20mS
	MOV TL0,#LO(RTCV)
	SETB TR0         	;timer start

	INC RTPC         	;advance Real Time Program Counter

;  20mS program counters

RTC1:	MOV A,TMATM
	JZ RTC2
	DEC TMATM

RTC2:	MOV A,AENTM
	JZ RTC3
	DEC AENTM

RTC3:	MOV A,OPNTM
	JZ RTC4
	DEC OPNTM

RTC4:	MOV A,RETTM
	JZ RTC5
	DEC RETTM

RTC5:	POP ACC
	RETI

;	    FGABSCDE
FONT	.DB 01001000B	;code 00H, character 0
	.DB 11101011B	;code 01H, character 1
	.DB 10001100B	;code 02H, character 2
	.DB 10001001B	;code 03H, character 3
	.DB 00101011B	;code 04H, character 4
	.DB 00011001B	;code 05H, character 5
	.DB 00011000B	;code 06H, character 6
	.DB 11001011B	;code 07H, character 7
	.DB 00001000B	;code 08H, character 8
	.DB 00001001B	;code 09H, character 9
	.DB 00001010B	;code 0AH, character A
	.DB 00111000B	;code 0BH, character B
	.DB 01011100B	;code 0CH, character C
	.DB 10101000B	;code 0DH, character D
	.DB 00011100B	;code 0EH, character E
	.DB 00011110B	;code 0FH, character F
	.DB 11111111B	;code 10H, character blank
	.DB 10111111B	;code 11H, character -
	.DB 00001110B	;code 12H, character P

;Characters codes table:

BLANK	.EQU 010H		;character "blank" code
CH_MIN	.EQU 011H		;character "-" code
CH_P	.EQU 012H		;character "P" code

;Master key code:

MK	.DB 062H,000H,000H,002H,0D6H,089H,029H,001H

#IF (DEBUG>1)
#INCLUDE "LIBDBG16.ASM"
#ENDIF
	.END
```

Fuente:
http://www.yoreparo.com/nav/?url=ht...ms.com/mcu/page-1/268/ibutton-electronic-lock

Saludo.


----------



## Chemontes (Abr 13, 2009)

eh estado  viendo durante algun tiempo recopilando información de aqui y de alla sobre los microcontroladores y aqui he encontrado las respuestas mas atinadas asi que aqui  va una pregunta a ver quien me puede ayudar, tengo en la mira para comprar uno de los dos siguientes kits para adentrarme en esto de los micros uno es el de pic 2 que viene con su manual y todo y el otro es el  c programming for microcontrollers utilizando avr  esta es la pagina http://store.nutsvolts.com/product.php?productid=16750&cat=0&page=1  a ver si alguien me puede dar su opinion  se lo agradeceria bastante. eh estado trabajando con microcontroladores parallax pero son caros muyyyyyyy caros  aprox. 50 dlls  aunque son muy buenos o al menos eso creo  son caros para cosas que no se requiere tanto gasto, tambien si alguien los conoce y me puede dar su opinion se los agradeceria.. ..[/url]


----------



## Chico3001 (Abr 13, 2009)

Mi respuesta de siempre.... si quieres iniciar de cero es mejor el PIC, si quieres hacer cosas mas complejas es mejor el AVR, para ambos sistemas existen programadores y compiladores gratuitos y ambos son muy faciles de conseguir... 

Aunque si admito que PIC es un poco mas facil de conseguir que AVR y tambien tienes mas documentacion disponible en varios idiomas... con AVR la información casi siempre esta en ingles...


----------



## Meta (Abr 14, 2009)

LAs cosas complejas para eso está FreeScale y ARM, que son mejores, al menos eso dicen. PIC para inicniarse, jugar con ellos, AVR parece serio, y los de antes mejor que mejor.

Te puedes entretener con www.mypic32.com


----------



## cristian_elect (Abr 16, 2009)

Meta mucho quiere los pics ya que son mas faciles de programar pero el incoveniente de eso es que genera mas codigo para las series  pic16, pic18.
El asm del los atmel es mas avanzado y mas optimo. 
Los pic32 son bastantes buenos en mi caso hay mandar a traer sale caro.
Arm es complicado pero hay mas variedad para escojer.


----------



## Moyano Jonathan (Ago 2, 2009)

Voy a probar dentro de unos meses los AVR para comenzar a programar en esa plataforma también. Los microcontroladores PIC los uso en todos mis proyectos y ahora me he econtrado con las ganas de programar en C para los AVR usando AVRstudio y WinAVR.

Posiblemente luego haga un tuto sobre estos micros pero no creo que sea a corto plazo..


----------



## Moyano Jonathan (Ago 2, 2009)

PD:http://www.avrfreaks.net/ en esa página están los mayores fans de AVR ( en inglés ). Mi motivación a hacer proyectos con AVR es que tienen muchas herramientas gratis para el que quiera aprender. Lo malo es que están en inglés pero eso no es una escusa para no aprender ajajja


----------



## elosciloscopio (Ago 2, 2009)

me quedo con microchip


----------



## Moyano Jonathan (Ago 2, 2009)

Yo también pero me voy a comprar una partida de estos microcontroladores para usarlos a modo educativo y ver que se puede sacar como conclusión con respecto a los PIC.


----------



## remigio_morales (Ago 2, 2009)

yo he programado los pic18 de microchip, y me ha parecido genial, me compre el pickit2 que costo $700 pesos mexicanos. Y con ese puedo programar todos los pic de microchip. Y siempre es facil encontrar codigos para ayudarte.


----------



## Moyano Jonathan (Ago 2, 2009)

Yo también me compré el PICKIT2 de microchip y luego diseñé un clon para el foro. También he usado los PIC18 , específicamente el PIC18F2550 con los que tengo bastante experiencia. En este momento estoy escribiendo un manual sobre el módulo USB de ese micro. Lo de la facilidad de los códigos para ayudarte es verdad.

AVR tiene varios programadores gratis tales como el STK500 y USBasp. También tienen excelente documentación en inglés y un montón de herramientas gratis para hacer tus proyectos y usuarios que diseñan proyectos muy interesantes con estos micros.


PD: Yo no voy a cambiar de "bando" ajjaajaj entre PIC y AVR. Pero me encanta aprender cosas nuevas y estoy a favor de que  que por más conocimiento y facilidades que tenga con los PIC. Aprender AVR va a expandir mi conocimiento y por eso voy a aprender a usarlos.


----------



## Chico3001 (Ago 2, 2009)

Moyano Jonathan dijo:
			
		

> PD: Yo no voy a cambiar de "bando" ajjaajaj entre PIC y AVR. Pero me encanta aprender cosas nuevas y estoy a favor de que  que por más conocimiento y facilidades que tenga con los PIC. Aprender AVR va a expandir mi conocimiento y por eso voy a aprender a usarlos.




   Ya he escuchado esos comentarios antes.... yo tambien era un asiduo usuario de PIC y ahora sinceramente prefiero mas los AVR aunque tambien tengo que revisar que tan bien andan las nuevas familias 18, 24 y 32 de los PIC


----------



## eidtech (Ago 2, 2009)

AVR Rulez! jijiji

Ya que tienes ganas de aprender te recomiendo el MSP430 de TI, Cypress PSoC y ARMs.


----------



## Moyano Jonathan (Ago 2, 2009)

eidtech : Puede ser me interesan los ARM pero no tengo ni idea del precio de dichos micros , ni idea  de donde sacar información ni de donde conseguir compiladores para estos micros pero los tendré en cuenta.

Chico3001: Que experiencia interesante tienes con estos micros ? Que herramientas usas para programar.


----------



## Chico3001 (Ago 2, 2009)

Para los AVR te recomiendo que compres un STK500 o un STK600.... o armes cualquiera de los muchos programadores gratuitos que hay rodando por la red (en especial el Arduino)

En cuanto a la experiencia me gustan mas por que es muy simple programarlos en C, solo bajas el AVRSTUDIO, el AVRLIB, los instalas y estas programando....

Los ARM son cada vez mas faciles.. con la adquisision de Luminary Micro por parte de Texas instruments muchos vamos a tener acceso a esa tecnologia de forma facil y rapida... aun andan haciendo la trancision pero yo espero que este terminada en unos 3 meses mas...


----------



## remigio_morales (Ago 3, 2009)

Chico3001 dijo:
			
		

> Para los AVR te recomiendo que compres un STK500 o un STK600.... o armes cualquiera de los muchos programadores gratuitos que hay rodando por la red (en especial el Arduino)
> 
> En cuanto a la experiencia me gustan mas por que es muy simple programarlos en C, solo bajas el AVRSTUDIO, el AVRLIB, los instalas y estas programando....
> 
> Los ARM son cada vez mas faciles.. con la adquisision de Luminary Micro por parte de Texas instruments muchos vamos a tener acceso a esa tecnologia de forma facil y rapida... aun andan haciendo la trancision pero yo espero que este terminada en unos 3 meses mas...


----------



## Moyano Jonathan (Ago 3, 2009)

STK500 creo que hay un clon en la red , corrijanme si me equivoco.


----------



## microtronic (Ago 3, 2009)

si pero no es igual lo mejor es comprarse el stk500 el cual es economico o el nuevo stk600 pero a este ultimo tiene que comprar los sockets y sale algo costoso pero vale la pena ademas teine puerto serie y usb


----------



## Moyano Jonathan (Ago 3, 2009)

Estaba viendo el STK600 pero veo que no lo venden por acá y tampoco lo he visto en mercado libre. Me parece que me voy a tener que armar alguno de los programadores USB libres , total con que me programe unos 4 o 5 modelos de micros me conformo si es para experimentar.


----------



## microtronic (Ago 3, 2009)

el stk500 vale 80 dolares y el stk600 vale 199 en mouser.....puedes armarte el ispprog es facil lo consigues aqui 
http://dybkowski.net/elka/ispprog_en.html
...o el clon del jtagice etc...


----------



## Meta (Ago 16, 2009)

Viendo con el tiempo desde que creé este tema, AVR parece más cómodo ya que no tiene bancos de memorias molestos como PIC y se agradese.

Más viendo todavía cosas de PIC32, muchos dicen que no se vende ni por asomo. No se si es verdad, espero que se venda mucho ya que según aquí veo que se utiliza mucho.

Veo que la gente tira más por los ARM cada vez más _(No hablemos de FPGA que es otro mundo)_, más que los PIC32 y por lo que veo, están sacando noteBooks sobre ARM, cosa que PIC32 no le llega a las suelas de los zapatos. En cuanto a FreeSacale, veo que la gente no le hace mucha gracia estos  µC por ahora.

Sobre AVR otra vez, hace un tiempo que no lo veo con fuerzas como antes. ¿No le va bien el mercado?

Esa es mi mini opinión hasta ahora.


----------



## Chico3001 (Ago 16, 2009)

Los ARM ganan cada vez mas fuerza por que cualquier empresa puede comprar la licencia de ARM y ponerse a producir sus propios microcontroladores, cuando hablas de ARM9 solo estas hablando de la version del nucelo del procesador y no de los perifericos que vienen incluidos, por eso en teoria un programa que hagas para un micro Intel deberia funcionar para un micro Freescale siempre y cuando los dos sean ARM9


----------



## Meta (Ago 17, 2009)

La verdad es que si, ARM está con mucho poder cada vez más, por algo será.

Hace un tiempo, alguien por aquí dijo que va a traducir libros del Inglés al español sobre AVR de la firma de Atmel.

¿Aún sigue con esas intensiónes?

Lo digo porque he visto Web, Blog y foros por todas partes pidiéndolo.


----------



## microtronic (Ago 17, 2009)

bueno meta todo esto es muy relativo y depende para que los utlizes por lo menos para mi me gustan los AVR y los pics tambien les meto un poco.....pero que sentido tiene por decir utlizar un ARM para un secuenciador de luces?si tu vas a implemetar y vas a montar diseños a gran escala y proyectos complejos si va....pero creo que la mayoria de usuarios con micros de 8 bits como los avr y Pics estamos bien..ya llegara el momento en que todo se haga con fpga.


----------



## jmnlab (Ago 17, 2009)

Saludos, estas discusiones de PIC vs AVR siempre son entretendas.

Tengo la electrónica como hobby y como la mayoría empece utilizando pic, hace un mes he comenzado con un AVR. 

Un Atmega 1280 que compre con una placa de Arduino Mega, uso un programador externo de Atmel y el WinAVR y.. estoy encantado con este microcontrolador. Lo poco que he hecho con el AVR ya me ha convencido para empezar a usar estos micros en mis diseños antes que los pics.

Les dejo mi página personal donde voy explicando todo lo que hago (con AVR y Pics) por si alguien está interesado: http://www.jmnlab.com/

Un saludo y AVR.. =)


----------



## Meta (Ago 17, 2009)

Oye, gracias por poner la web http://www.jmnlab.com/

Está muy bien, veo que te encantan estar con componentes de SMD.

Una curiosidad que me da la impersión de que la gente prueba AVR, abandona los PIC.

¿Qué has visto sobre ellos?


----------



## jmnlab (Ago 17, 2009)

Primero tener la opción de comprar la placa del Arduino Mega por 50 euros, tienes un micro con 128k de flash, 8 de SRAM y 4 de EEPROM, además de un montón de periféricos que ya le gustaría a muchos pics. 

La placa  trae un chip FTDI para comunicarte con el usb del pc mediante la usart, los reguladores de tensión, y todo bien etiquetadito lo que hace que sea ideal para empezar. Programo a través de su conexión ICSP.

En cuanto al micro, la memoria no está en bancos que es bastante aburrido tener que estar cambiando.

El stack no está limitado a 8 como en los pics, si no que lo tienes en la memoria.

Tiene 32 registros de trabajo frente a 1 del pic.

Tiene muchos vectores de ISR, cada interrupción salta directamente a su vector, en los 16F tienes uno el 04 y en los 18f tienes dos creo recordar según la prioridad de la interrupción, el 04 y 08.

Y el compilador optimiza el código bastante bien y me parece mucho más cómodo programar en C para el AVR que para los pics, que sus compiladores gratuitos no sé que tal serán.

Todavía no conozco todas sus características como en los pics para poder hacer una comparación buena, llevo sólo 4 semanas con el AVR echando ratos libres, pero vamos en lo que llevo visto superan a los 18f, 16f.

Por lo que difícil que vuelva a usar pics, a no ser que necesite micros del estilo del 12F que tenga que programar en asm y que ya conozco.

Un saludo y animaos con los AVR, la comunidad en español y por tanto la documentación sale de nosotros =)

El smd es como los pics y AVR, cuando pruebas en smd no vuelves al dip


----------



## Meta (Ago 17, 2009)

jmnlab dijo:
			
		

> Primero tener la opción de comprar la placa del Arduino Mega por 50 euros, tienes un micro con 128k de flash, 8 de SRAM y 4 de EEPROM, además de un montón de periféricos que ya le gustaría a muchos pics.
> 
> *Si PIC les interesa, lo harán, no hay problema.*
> 
> ...



Por cierto, han cambiado por primera vez algo de arquitectura de los 16F pero no la he probado para verificarlo. En vez de usar 35 instrucciones utilizan 49 de ASM, claro.

*Primeros Microcontroladores PIC® con Núcleo Mejorado de Gama Media de 8 bit *









Microchip anuncia los seis primeros miembros de la familia de microcontroladores PIC16F193X, que incorporan un núcleo mejorado de gama media de 8 bit desarrollado por Microchip. El incremento de la capacidad de memoria y del núcleo proporcionan un mejor soporte a programadores de C y Ensamblador, mientras que los componentes de la familia ‘LF’ incorporan la Tecnología nanoWatt XLP de Microchip para trabajar con un consumo extremadamente bajo.



Los PIC16F1934, PIC16LF1934, PIC16F1936, PIC16LF1936, PIC16F1937 y PIC16LF1937 amplían la oferta de microcontroladores PIC® de Microchip formada por más de 550 dispositivos compatibles, destinados a una amplificadora variedad de aplicaciones en los mercados de electrodomésticos, consumo, industrial, médico y automoción. Continuando con la tradición de los microcontroladores PIC de integrar un gran número de periféricos, la nueva familia ofrece controladores Directos para LCD y soporte a soluciones táctiles capacitivas mTouchTM.



Los nuevos dispositivos permiten nuevos niveles de funcionalidad con un menor coste del sistema. Entre las restantes características de la familia PIC16F193X se encuentran:

·   Memoria de programa Flash hasta 14 KB

·   RAM de datos hasta 512 Bytes

·   EEPROM de datos de 256 Bytes

·   Controlador para LCD (96 segmentos)

·   Tecnología nanoWatt XLP en las versiones “LF”

·   Periféricos para Soluciones Táctiles mTouch

·   Oscilador interno de 32MHz

·   Hasta 5 periféricos PWM de Captura y Comparación Mejorada con bases de tiempos independientes

·   Latencia de Interrupción Reducida

·   Pila de hardware de 16 niveles, con interrupción de rebose/subdesbordamiento (overflow/underflow)

·   Funcionamiento de bajo consumo entre 1,8 y 5,5V, incluyendo funcionamiento completo de periféricos analógicos

·   SPI/I2C™ Maestro y soporte a EUSART para RS-232/RS-485, así como soporte LIN

·   Hasta 14 canales de conversión A/D de 10 bit

·   Dos comparadores de doble entrada de carril a carril (rail-to-rail) con funcionamiento de Temporizador 555

·   Temporizadores de 4x8 bit y 1x16 bit, con soporte a Reloj en Tiempo Real de Bajo Consumo eXtreme

·   Monitores operativos robustos y fiables, como POR, BOR y WDT de bajo consumo



Con un total de 49 instrucciones, los microcontroladores PIC16F193X optimizan el código de programa y el manejo de datos, al tiempo que incrementan la eficiencia y reducen los ciclos de reloj.



Microchip ofrece a los ingenieros un conjunto completo de herramientas de desarrollo estándar para diseñar con los microcontroladores PIC16F193X.

Fuente:
http://www.elektor.es/noticias/prim..._source=ES&utm_medium=email&utm_campaign=news


*Opinión personal:*

Ya iba siendo hora de que tantos años ya cambiaron algo del nícleo del PIC. *Me sorprende que ya vengan con 49 instrucciones*, esto si que no me lo esperaba. Vendrán más nuevos en el futuro como también mejorar los PIC18F, el esperado por muchos y famoso USB 3.0 tanto en PIC18F hsta los PIC32, etc...

PIC16F1934, PIC16LF1934, PIC16F1936, PIC16LF1936, PIC16F1937 y PIC16LF1937.

Nota, en el futuro aparecerán, al menos eso dicen algunas Web que vienen timer de 32 bits.

Saludo.


----------



## Meta (Ago 17, 2009)

Es bueno poner información sobre AVR en el post principal o algo.



*Información general para AVR*

Guia de productos ATMEL *Descarga*

AVR Studio 4.15*Descarga*

WinAVR compilador GCC (se integra al AVR Studio) *Descarga*

AVRdelayloop *Descarga* 

AVR Baud Rate Calculator

AVRCalc *Descarga* 

Tutorial assembler para AVR AT90S2313 *Flash* 

Fusibles AVR *CGI*

*Programadores*

Programador ISP

Programador para familia AT89S

STK200 y PonyProg

*Información y proyectos con ATtiny11*

Registros en ATtiny11 *Descarga*

LED intermitente con ATtiny11 *Descarga*

Tono con ATtiny11 *Descarga*

Motor Paso a Paso con ATtiny11 *Descarga*

INT0 en ATtiny11 *Descarga*

UART con ATtiny11 *Descarga*

*Información y proyectos con AT90S1200*

Curso básico de AT90S1200

LED intermitente con AT90S1200 usando variable *Descarga*

*Información y proyectos con ATmega16*

BCD-7SEG con ATmega16 *Descarga*


----------



## Meta (Ago 17, 2009)

Hola de nuevo.

Vi un analizador lógico muy bueno. ¿Cuánto salen esos cahcarros en España?

http://www.elektor.es/products/kits...annel-logic-analyser-(060092-71).227732.lynkx

Saludo.


----------



## cristian_elect (Ago 17, 2009)

ARM, PIC y AVR yo uso los tres. Los ATxmega esta a un buen precio y su ADC 12bits y DAT de 12bits a $3*25 es una buena opcion de compra.


----------



## microtronic (Ago 18, 2009)

hola jmnlab veo que estas utilizando la arduino mega..que bien.....

al fin estas utlizando el winavr o el codevision?


----------



## Meta (Ago 18, 2009)

Cada vez más veo nombrar arduino. ¿Vale la pena? Todo el mundo están contento y está dispuesto haber más versiones mejoradas.

Por cierto. ¿cuántos kit de PIC32 hay?


----------



## jmnlab (Ago 18, 2009)

Hola microtronic, al final me decidí por usar el WinAVR que es gratuito, además me gusta ir escribiendo las funciones de los módulos que uso ya que me obliga a mirar el datasheet y ese es el objetivo, aprender a usar un AVR. Más adelante también pasare a usar ensamblador.

Respecto a los analizadores lógico Meta te recomiendo que compres uno de PC, le sacarás bastante más partido que a ese, los tienes desde 130 euros en adelante, a ver si hago una review del que estoy usando.

Un saludo


----------



## Chico3001 (Ago 18, 2009)

La superventaja de Arduino es que es gratuito y opensource, los creadores son gente que programa en linux y queria ir un poco mas alla de la programacion en alto nivel, viendo que para ellos era dificil entender un kit tradicional decidieron crear el arduino junto con el compilador para C, despues tuvo tanto exito que tambien comenzaron a compilarlo para Windows y a hacer versiones mejoradas


----------



## Meta (Ago 18, 2009)

*jmnlab:*

Pensaba que el costaba 200€ como mínimo. Esba buscando por Internet y no localizo ninguno. Pues claroq ue compraré el de PC porque sale más barato. ¿En qué sentido le saca más partido? ¿Imprimir imágen? ¿Guardar información?

¿Puedes darme dirección  o Web en España sobre analizadores lógicos para poder ver catálogos y comprar uno?

*Chico3001:*

Cada vez se usan más y hablan bien de arduino. Por algo será. LA gente se pregunta el motivo que AVR es mejor y el menos que se vende frente a PIC.













Una de las cosas que se habla mucho de ARV que no está tan aceptado como PIC en el mundo del mercado es:

- Distribución de pruebas gratuitas de PIC físicos.
- Gran tremenda documentación en su Web oficial con ejemplos incluidos de todo tipo.
- Fácil manejo, progrmar, aprender ASM, con sólo 35 instrucciones (_el nuevo núcleo mejorado de los 16F ya son de 49 instrucciones, pero orientado a C)._
- Muchas universidades que trabajaban con Motorola _(ahora FreeSacale)_ lo han dejado para sustituirlos con los actuales PIC _(y no tan actuales también, como 16F84)_.
- Libros al castellano como http://www.pic16f84a.org y de los mejores que hay en ASM.
- Revistas de electrónica con tutoriales de PIC16F84A en http://www.todoelectronica.com , otras de Resistors del 16F87x y ahora a partir del nº 232 cursito del PIC32 en español, http://www.elektor.es si habla mucho de Ateml, http://www.nuevaelectronica.com no se si habrá más revista en España de electrónica.
- En Internet, muchos proyectos con PIC para aficionados, estudiantes, técnicos, ingenieros, etc...
- Muchas documentación en muchos paises sobre PIC, sobre todo el archivonocido, famoso y popular PIC16F84A.
- Una de las famas de los PIC fue muy conocido por mucha gente gracias al chip de PlayStation 1 de la época, tarjetas ilícitas sobre cabizas prepago, tarjetas que se usaba mucho PIC y EEPROM para ver el canal satélite digital gratis y un largo etc...
- Fácil de localizar cualquier lugar para comprar PIC, cada vez más y en on-line.
- PIC que viene todo introducido hasta los USB 2.0 _(ya aprecerán los de 3.0)_, redes, TCP/IP, cosas así, etc...
- En instituto que di en FP-II de electrónica dimos 8085, ahora se usan PIC y cada vez más (por algo será).
- En nuevos C.F.G.S. de desarrollo de proyectos para el campo de la electromedicina se usa sólo PIC, y si el usuario y profesor lo desea, como proyecto final ya puede elegir, AVR, FreeScale, etc...
- MPLAB gratuico del ASM.

Habrá más motivo, el principal es marketing.


----------



## Meta (Ago 18, 2009)

Hola de nuevo:

Por cierto. ¿El que quiere o quería traducir el libro de AVR al español tiene estas intensiónes?

Ya ni aparece. Ni recuerdo quien es.


----------



## ezequiel83 (Ago 18, 2009)

En mi poca experiencia te diria los admel son mejores


----------



## Meta (Ago 18, 2009)

Eso están diciendo mucho por ahí, no he entrado a ese mundo por falta de información en español. Al menos libros.

Dicen que Atmel perdía ventas, ahora que aumentaron. ¿En qué quedamos?

Serán mejores los AVR, muy pocos les hacen caso, hasta prefieren programar PICAXE.


----------



## microtronic (Ago 18, 2009)

tranquilo meta con calma....pues amigo toda la mejor información acerca de micros electronica e informática esta en ingles....ni microchip ni atmel ni ninguna empresa que yo conosca hace los datasheet en español...la información en español que hay es por los propios usuarios...por marketing, microempresas.etc....porque alguna cosa no se consiga mucho en un pais no queire decir que sea malo....

saludos


----------



## Meta (Ago 18, 2009)

Hablo de libros.


----------



## microtronic (Ago 18, 2009)

bueno las editoriales, escritores de libros se van por lo mas comercial pero esto no indica que sea mejor....


----------



## microtronic (Ago 18, 2009)

jmnlab utlizas el IDe del arduino o estas compilando tus proyectos con el avr studio y winavr......creo que el arduio utliza el mismo compilador gcc del winavr para el avrstudio verda? vengo de programar en basic con el bascom y me intereza programar en c estoy entre el c de gcc o el c de codevision?


----------



## Meta (Ago 18, 2009)

¿Cuál es el mejor de los dos programas que indicas?


----------



## jmnlab (Ago 18, 2009)

Meta: utilizo este analizador http://www.saleae.com/logic/ , lo compre ahí, para proyectos con micros viene bien, mientras no necesites mucha velocidad ya que la frecuencia de muestreo máxima es 24 MHz y depende de tu pc.

microtronic: si uso AVR Studio y WinAVR, el entorno de arduino también usa el gcc y c++.

Entre Codevision y WinAVR pues ambos son buenos, los dos tienen sus usuarios. Yo elegí el WinAVR porque es gratuito y porque no me importa hacer las funciones desde cero que a lo mejor ya tienes disponibles en las librerias del de codevision.

Lo mejor para decidirse es darse una vuelta por AVRfreaks.net

Saludos


----------



## microtronic (Ago 18, 2009)

bueno lo mejor pues relativo solo quiero ver  cual se adapta mas a mis necesidades....el codevision trae un wizard muy bueno que te facilita todo pwero no es gratis es un compilador c pago...el winavr o gcc tiene que hacer todo a moano por asi decirlo...entonces estoy con la duda de cual elegir...
si la comunidad avrfreks muy buena  en ingles...


----------



## Meta (Ago 18, 2009)

He probado el programa, parece muy bueno. Veo que 24MHz te parecen poco. Los PIC32 son de 80MHz, intentaron probarlo con un osciloscopio de 20Hz y nay, nay.

Ni con osciloscopio se puede hacer algo con PIC32. Se que hay analizadores lógicos muy caros, por algo será.

¿Qué utilidades reales has hecho con ellos y para qué? ¿Sólo investigación?

La lado de elegir la frecuencia, eliges samples. ¿Para qué es? Lo de la frecuencia. Hay que poner lo que sabes, por ejemplo: un pic que corra a 4MHz, en elprograma lo pones igual? o pones el que se te ocurra.


----------



## jmnlab (Ago 18, 2009)

Cuando tienes una señal y quieres verla en un osciloscopio, analizador, éste debe de tener un ancho de banda del doble de la frecuencia de esa señal, busca  Nyquist si quieres saber más.

Samples en el analizador son el número de muestras que va a capturar, cada x  tiempo donde x=1/frecuencia que seleccionas, se captura una muestra de la señal, en el caso del analizador si vale 1 ó 0.

Si seleccionas 20M de muestras a 4 MHz capturas 20 millones de muestras cada 250 ns, es decir unos 5 segundos de tiempo. 

Si la señal que vas a capturar por ejemplo una señal I2C con un reloj de 100 KHz, deberás seleccionar como mínimo una frecuencia de muestro de 200 KHz, en el caso del analizador es recomendable usar frecuencias mayores, por ejemplo 500 KHz, verás con más detalle la señal.

Cuanto mayor sea la frecuencia mejor claro está, pero por contra podrás capturar menos tiempo de señal.

La frecuencia de la señal no tiene que ver con el reloj del micro, si no con la velocidad a la que cambia la señal en el pin del micro.

Si tienes un pic de 4 MHz y quieres conmutar uno de sus pines para generar una onda cuadrada, programando en asm serían 3 instrucciones si no me equivoco y una de ella de salto, es decir 16 ciclos de reloj, es decir la frecuencia máxima de la señal en el pin sería de 250 KHz, para poder ver esa señal con el analizador deberías seleccionar una frecuencia de muestro como mínimo de 500 KHz.

Esos analizadores de pc vienen bien para trabajar con micros, el otro día estaba con la señal I2C del AVR y para comprobar su funcionamiento pues utilice el analizador, también me daba problemas una parte del código y viendo la señal en el analizador encontré el fallo al instante. Por lo que es muy recomendable tener acceso a uno de estos aparatos cuando se trabaja con microcontroladores, porque es la única forma de ver lo que está pasando realmente es sus pines.

Ese analizador es lo más básico, sólo tiene 8 canales y usa la propia RAM del pc para capturar muestras, pero para este tipo de proyectos están bien.


----------



## Meta (Ago 18, 2009)

Hola:

Muchas gracia por la explicación. Lo que no se es, ¿por qué las caras de 200€ y 650€ son muy caras? ¿Son de oro o platino? y eso que son de 16 bits como máximos (16 canales), las de 8 también caros.

Con estos analizadores, se han descubierto muchas cosas para hacer otras cosas con las consolas de la nueva genreción como X-Box 360, PlayStation 3 y Wii. Buscan cosas demasiado rápido con ello.

Has dicho analizador de PC. ¿Los hay independiente del PC a lo osciloscopio?

Un cordial saludo.


----------



## jmnlab (Ago 18, 2009)

Los más caros no utilizan la ram del pc si no que llevan su propia memoria, de esta forma pueden tener frecuencias de muestreo mayores, sobre 500 MHz.

También los hay independientes del pc pero esos ya cuestan miles en lugar de cientos de euros.

Los baratos de pc  tienen una frecuencia de muestreo baja pero más que suficiente para la mayoría de las aplicaciones que hacemos con microcontroladores en casa.

Saludos.


----------



## Meta (Ago 18, 2009)

jmnlab dijo:
			
		

> Los baratos de pc  tienen una frecuencia de muestreo baja pero más que suficiente para la mayoría de las aplicaciones que hacemos con microcontroladores en casa.




Eso espero. Aún así, si has visto más modelos para compararlos, nos avisa por aquí.

La verdad que para usarlo con PIC18 a 48Mhz. ¿Funcionaría?


----------



## jmnlab (Ago 18, 2009)

Si para micros de 8 bits no tendrás problemas las velocidades de sus periféricos son mucho menores que las frecuencias de muestreo del analizador. 

Hay muchos donde elegir por internet, la elección de uno u otro depende de cada uno y de si va a amortizar su coste con el uso que le de.


----------



## cristian_elect (Ago 19, 2009)

Cual es Compilador en C que tiene mejor performnace para PIC, en los ATmega e probado que el IAR es de mayor performance.


----------



## Meta (Ago 19, 2009)

jmnlab:

¿Sabes por casualidad si hay algún analizador analógico para detectar USB?

USB en realidad usa tramas.

Saludo.


----------



## jmnlab (Ago 20, 2009)

Si hay analizadores lógicos con ese protocolo o recuerdo haberlos visto, pero el precio era mucho mayor, el más básico pasaba los mil euros.

Saludos.


----------



## asuryan87 (Ago 21, 2009)

Hola,   

Meta, has preguntado varias veces que quien era el que dijo traducirian un libro de avr, ese era yo. He estado varios meses desconetado del mundo de la electronica y sin pasar por este foro aunque durante el tiempo que he estado programando con avr he hecho algunos programas tanto en asm como en c ademas de algunas bibliotecas tanto mias como las que he encontrado en avrfreaks y otras paginas.

Tambien tengo varios libros que pueden ayudar a aprender aunque  y a dar ideas para proyectos.

Durante este tiempo he descubierto la primera version del PIC-GCC! Si exacto por fin un compilador decente y gratuito.
http://pic-linux.foroactivo.net/pic-gcc-f22/lanzada-primera-version-de-pic-gcc-library-t80.htm


Aprovecho para decir que si alguien mas esta interesado en traducir algun libro o hacer un manual que sirva para intrucirse en los micros de atmel podriamos hacerlo entre varios ya que con la opinion y experienza de mas persona se podria hacer un trabajo de calidad para todos.

Un saludo


----------



## Meta (Ago 21, 2009)

¡¡¡Hola asuryan87!

Por fin da señales de vida. Muchas gracias por poner esos enlace de Linux, ya me registré y haré manuales para ella sobre PIC bajo openSUSE y Ubuntu.

Sobre los libros de AVR de la firma de Atmel. He visto foros por ahí preguntando que si alguien lo quieren traducir. Vete foro por foro de PIC y electrónica para buscar gente en todos lados y te apoyen. La mayoría quiere que sea del lenguaje C. Como puedes ver, necesitas tiempo en buscar, habalr con ellos y quedarse de acuerdo. Cuando se consiga el objetivo de hacer el libro ya en español. Se notará mucho  más información por Internet ejemplos de AVR a lo PIC16F84A, más en las clases de instituto, universidades, revistas y sobre todo foros que aquí se habla y pregunta muy poco de AVR.

Gracias de nuevo por el enlace y suerte con el libro.

Vuelvo a repetir, busca gente pro muchos foros.


----------



## asuryan87 (Ago 21, 2009)

De nada,  yo aun no lo he probado pero buscando bien en la pagina del enlace podras encontrar el entorno de desarrollo y el compilador gcc

Por cierto, he leido algunos de los post anteriores y veo que mucha gente habla de comprar equipos de desarrollo y aprendizaje. Yo recomiendo usar proteus antes de comprar nada, aunque muchos ya lo tendran siempre lo podeis desacar ya crakeado, yo uso la version 7.5 sp3 que esta muy bien y también  viene con varios ejemplos de usb usado pic y avr y ademas hay una muestra de un arm7 ejecutando ulinux.

http://www.sonsivri.com/

P.D. Gracias por los animos y suerte tu tambien con el gcc


----------



## Meta (Ago 24, 2009)

En esta web están buscando gente para AVR y si pueden hacer un libro.

Comuniquense.

Asociación de Robótica y Domótica de España • Ver Tema - El fin de la guerra PIC-AVR.

Saludos.


----------



## cristian_elect (Ago 26, 2009)

Hay en ese foro mencionan que pic32 y los dspic son superiores que los micros de atmel.
Sera por no vieron toda la gana de micros atmel, micros de $9 que corren a 400MHZ y con dsp incluido y otros  multi procesador.


----------



## dielan (Nov 26, 2009)

Si todavía tienen dudas de los atmega avisen yo tengo bastante experiencia con estos.....

y a mi punto de vista lo mejor que tienen los pic son dspic de ahi atmega para todo


----------



## Meta (Dic 4, 2009)

Será porque son más nuevos.


----------



## ElTallercito (Dic 5, 2009)

fernandob dijo:


> si hoy motorola saca uno que tiene ademas de perro guardian un gato......
> en unos meses las demas haran lo mismo.
> 
> jajajajaja Buenisimo!!! muy ocurrente


----------



## Meta (Dic 5, 2009)

Es normal. Desde que una marca sacan un micro nuevo, las demás compañías harán lo mismo. Así compiten.


----------



## pablo41282 (Nov 10, 2010)

Que tal.

Bueno yo inicie el mundo de los micros con los pic.

Despues de cierto tiempo probe los avr y me parecieron mejores.

Para mi una ventaja de los pics respecto a los micros de atmel es que si te confundes en la configuración del reloj no hay ningun problema lo vuelves a grabar y ya esta, con los atmel no sucede así.

El otro dia necesitaba realizar un proyecto con una batería y preferí al pic antes que al atmel. no lo niego el micro de atmel era mucho mas poderoso y todo, pero en el consumo de corriente el pic lo supero. Por cierto el pic era los nuevos 16f y el atmel era el attiny.

Lo que si no e tenido oportunidad de probar son los pic24, he escuchado de algunos conocidos que es un micro muy bueno. Espero poder probarlos pronto, al menos donde yo vivo los puedo conseguir. Los micros de atmel de 16bits, bueno segun su datasheet mezclan 8 y 16 bits no los puedo conseguir a menos que importe.

Bueno como saben el micro a usar dependera de los requerimientos del proyecto, a mi me gustan los 2, la preferencia de uno de ellos dependera de la disponibilidad, precio, cosas asi.

A cierto si algunos deustedes a podido probar los pic24 indiquen sus experiencias.


----------



## Meta (Mar 30, 2012)

pablo41282 dijo:


> Para mi una ventaja de los pics respecto a los micros de atmel es que si te confundes en la configuración del reloj no hay ningun problema lo vuelves a grabar y ya esta, con los atmel no sucede así.




¿Los AVR tiene ese probema?
Será los viejos como los 12C508 que daban problemasy ahora están los 12F508 y no hay ningúno. A lo mejor los AVR les pasa igual.

Tengo por ahí el Teensy++ 2.0 y hice un pequeño manual, en aquella época no hay mucha demanda, gente no muyinteresada en el mundo del AVR y lo dejé de lado (por el momento), muy cómodo. Ojalá los AVR sean tan populares como los PIC y traduzcan buenos libros porque no hay ni uno, por algo será.

De todas maneras hay micros mucho más avanzados qu elos PIC, AVR...

¿Por qué no ARM?
¿Por qué PIC o AVR?
¿Por qué no un Rabbit que es muy superior?
¿Por qué no otro micro de la llista de abajo?



ARM
Atmel
Cypress
Digi
Diodes
Ember
Energy Micro
Fairchildsemi
FreeScale
FTDIchip
Fujitsu
Hitachi
Holtek
IDT
Infineon
Intersil
JMicron
LSI
Maxim-IC
Micrel
Microchip
Microsemi
National
NEC
Nuvoton
Oki
On Semi
Parallax
Philips
Picaxe
Rabbit
Renesas
Rohm
Samsung
Semtech
Silabs
STMicroelectronics
TI
Toshiba
Winbond USA
Xmos
Saludo.


----------



## cristian_elect (Mar 30, 2012)

Yo uso las dos marcas pero mas compro los ATMEL por que cuestan menos.


----------



## Basalto (Abr 1, 2012)

La respuesta de que por que utilizo PIC es muy simple.

1-. Adquisición: Un PIC lo se puede comprar en cualquier tienda de electrónica y tiene la ventaja de los SAMPLE, cosa que con los ATMEL no conseguí u otra marca.

2-. Programador: Tengo un PICKIT3 que me costó 40 € con lo que puedo programar y hacer debug de casi cualquier micro de MICROCHIP. Otras marcas creo que no salga tan barato.

3-. Entorno: El entorno y programador que yo utilizo el MPLAB y el HI-TECH o C18 la versión que utilizo son gratuitos.

En definitiva, yo no tengo una empresa de desarrollo por lo que con muy poco dinero puedo montar una PCB con un microcontrolador, no como lo que vi en otras marcas que si no eres una empresa (Ellos pasan de ti por que no le vas a comprar mas de 1.000 micros) no te ofrecen samples y tienes que pagar compilador, entorno, programador y circuitos de desarrollo a precios prohibitivos.


----------



## darben911 (Abr 1, 2012)

krotalon dijo:


> el sofwere oficial de los avr's es el avr studio, y lo puedes bajar gratis de la pagina de atmel  y aqui esta el link  http://www.atmel.com/dyn/products/t...family_name=AVR%AE+8%2DBit+RISC+&tool_id=2725
> y se programa en ensamblador. los avrs estan creados especialmente para ser programados en lenguaje c sin embargo el compilador en c no viene incluido dentro del estudio, aun no lo tengo pero creo que lo conseguire pronto..



en compilador es el winAVR
para mi los micros de  atmel  son los mejores pues siempre e programado en ellos  y ademas tiene grandes ventajas como por ejemplo la activasion de las resistencias pull up en los puesto y en cada pin sin necesidad de utilizar el puerto en su totalidad tan solo activandola donde la necesite..

bueno les dejo el compilador.


----------



## Meta (Abr 1, 2012)

Buenas:

No son los mejores los AVR, llegué a creerlo hac un tiempo pero no, por lo visto son los ARM y otras marcas poco conocidas por hobbystas. Lo más probable que compares un buen AVR con un viejo PIC16F. Prueba el de la gama mejorada no de 35 instrucciones, son de 49, con 32Mhz, más adaptado al C, etc. _ignorando ya los más modernos 18F, no el típico de siempre 18Fx550.

Ver noticia hace tiempo.

Hay gente que lo han probado, hasta hacen tutoriales a pesar que son muy nuevo.


























Cada vez siento más curiosidad por los AVR y eso que antes no los podía ver su complejidad en el ASM, pero con peros. No son fáciles de conseguir como los PIC. Si me meto con ARM que hay gente que tiene tanta ganas que lo hagamos, pues peor todavía.







Si te fijas bien, cada fabricante sacan microcontroladores similares uno a los otros. Ellos son así. lo qu em egusta de los AVR, que no usan bancos de memoria hasta artarte.

Un saludo.


----------



## cristian_elect (Abr 3, 2012)

Aquí en Lima los que más se  vende en ATMEL son atmega8-16pu que esta $3.77  la unidad claro el dólar está a la baja.
El pic16f88 cuesta $6.41 y los grandes de 40 pines cuestan un poco más.
Digo del precio local en la ciudad.
De los pic compro más los chiquitos de 8 pines.
Para referencia de precio un 555 cuesta $0.188.


----------



## Meta (Abr 3, 2012)

Las empresas suelen comprar AVR. PIC tiene samples, por eso compensa venderlo más caro.


----------



## incafox (Ene 28, 2013)

prefiero AVR-atmel porque esta apoyado en software libre, en cambio con los pics, en la U usan ese compilador CCS que como es de pago, no me dio la gana de usar, otra alternativa, el mikroc, tambien es de pago, veo fragmentacion de lenguajes con eso de C16 C18, en cambio con los AVR solo con c basta, un gran punto a favor de los AVR es que el atmel studio6 como ide integra la interfaz de microsoft visual estudio, por lo que me siento como en casa XD, y pues tambien influyeron comentarios como los que en casi la mayoria de universidades de EEUU no usan pics, otra cosa que veo es que tambien una plataforma muy desarrollada como arduino usa micros de atmel hasta de arquitectura ARM, y pues yo solo veria los pics y avrs como opciones en 8 bits


----------



## Basalto (Ene 29, 2013)

incafox dijo:


> prefiero AVR-atmel porque esta apoyado en software libre, en cambio con los pics, en la U usan ese compilador CCS que como es de pago, no me dio la gana de usar, otra alternativa, el mikroc, tambien es de pago, veo fragmentacion de lenguajes con eso de C16 C18, en cambio con los AVR solo con c basta, un gran punto a favor de los AVR es que el atmel studio6 como ide integra la interfaz de microsoft visual estudio, por lo que me siento como en casa XD, y pues tambien influyeron comentarios como los que en casi la mayoria de universidades de EEUU no usan pics, otra cosa que veo es que tambien una plataforma muy desarrollada como arduino usa micros de atmel hasta de arquitectura ARM, y pues yo solo veria los pics y avrs como opciones en 8 bits



Tienes el HiTech que es el mejor compilador, es gratuito y para cualquier pic. El C18, C32, etc, se utiliza porque si necesitas programar un Zigbee, USB o otro protocolo te bajas un ejemplo de microchip y lo modificas hasta adaptarlo. No entiendo porque la gente sigue utilizando CSS, misterios de la vida, después aparecen preguntando por librería para todo.

No se a que te referes con software libre, ¿Al IAR Embedded Workbench? que tienes que vender tu casa para comprar una licencia, ¿o al WinAVR? Que no lo lleva atmel. En cambio con Pic tienes compilador y entono de programación gratuitos y miles de ejemplos de la propia Microchip.

Y como seas un simple autónomo, con poco dinero comenzando en tu negocio Atmel no te da ni un micro de muestra, tienes que comprar sus carismas herramientas de desarrollo. 

Para mi no hay color entre una marca y otra.


----------



## incafox (Ene 31, 2013)

Basalto dijo:


> Tienes el HiTech que es el mejor compilador, es gratuito y para cualquier pic. El C18, C32, etc, se utiliza porque si necesitas programar un Zigbee, USB o otro protocolo te bajas un ejemplo de microchip y lo modificas hasta adaptarlo. No entiendo porque la gente sigue utilizando CSS, misterios de la vida, después aparecen preguntando por librería para todo.
> 
> No se a que te referes con software libre, ¿Al IAR Embedded Workbench? que tienes que vender tu casa para comprar una licencia, ¿o al WinAVR? Que no lo lleva atmel. En cambio con Pic tienes compilador y entono de programación gratuitos y miles de ejemplos de la propia Microchip.
> 
> ...



bueno vayamos por partes XD.

-  Hitech no es gratuito, solo lo es en su version lite, el hecho de que sea otro compilador mas, hace un punto menos a favor a la portabilidad de codigo(junto a los otros compiladores.) incrementa la fragmentacion.

-  Respecto a software libre me refiero a que dentro de atmel studio 6 ide esta el compilador AVR-GCC que es un derivado de gnu c compiler, al igual que ARM-GCC que tambien lo trae atmel studio para sus micros de dicha arquitectura, ojo con la definicion por que no estoy diciendo software gratis , etc, no se porque mencionas al IAR workbench, bueno solo mplab y los lenguajes usados c12,etc son gratis, y una version lite de todos los demas ides-compiladores, pero seamos sinceros, la fragmentacion esta, las dos universidades de mi ciudad, una usa CSS y la otra usa Hitech oficialmente para sus seminarios y cursos que brindan.

-  Y lo de ultimo, pues no se si llegan samples a peru, creo que no, pero vamos que si uno  trabaja no creo que ande esperando que le caigan samples del cielo, seria perder tiempo.

- Lo ultimo, no se a que te refieres con "carisimas herramientas de desarrollo", es mejor que indagues mas, existen herramientas como el usb-asp que son baratas (basadas en atmega8) comparadas con un pickit clone, los programadores en ebay los vi hasta en 3 dolares (no oficiales ojo).


----------



## Basalto (Ene 31, 2013)

Vamos a ver:

- HiTech se puede considerar gratuito, la versión lite tiene las mismas funcionas que el original, solamente no te optimiza el código y te programa ocupa un 7 % mas que la versión de 1.200 dolares . Te cuento como es la historia de HiTech, HiTech era un compilador aleman que tenía una extraordinaria optimización, microchip en lugar de luchar contra ese compilador, lo que hizo fue comprarle el algoritmo y que todos los programadares se beneficiases de sus ventajas. Eso habla mucho de como es microchip, a parte de todos los ejemplo que ofrece a comunidad que utiliza sus micros. 
C12, C16, etc es el compilador propio y de toda la vida de microchip. 
Para mi tener deferentes compiladores es una ventaja no un defecto, asi me puede adaptar al que se haga mas facil, si solo existiera CSS dejaría de programar PIC .

- Samples de Atmel no llegan a ningún lado, yo soy de los que tiene muestras de PIC gratuitas de todas las series de las que he practicado con ellos para aprender y ver sus limitaciones. No tengo ningún Atmel ya que donde vivo no se puede encontrar ningún material sobre ellos. En el futuro si necesito desarrollar algo con un microcontrolador sin dura serán con PIC, por 1 euros que le cuesta a Microchip todas las muestras que me envio tengo la suficiente destreza y control para hacerlo.

- El último y penuntimo parrafo me desconciertan, primero dices que si uno trabaja no espera samples, los samples son para hacer pruebas hasta encontrar el microcontrolador o componente adecuado puedes llegar a desechar 10 o 20 microcontroladores diferentes, o tu jefe pasa de todo o no sabe el desperdicio que implica es eso. Despues en el último parrafo me dices que ¿utilice piezas no oficiales?, ¿que empresas seria utiliza programadores clone de ebay?.

-Te vuelvo a decir, yo por 40 euros tengo un programador/debug para casi todos los pic, no necesito mas, las placas de evaluación se construyen según tu cometido mas los samples  gratuitos de prueba, ese es la inversión inicial para un proyecto.

- En la página de microchip tienes ejemplos de todo, ¿quieres implementar ZigBee? ¿quieres implementar Wifi? ¿quieres implementar control de un movil android? ¿quieres implementar USB?, si para USB hasta te da el archivo *.dll para meter en tu programa de ordenador. Solamente descargo las librerias de los ejemplos y las importo en mi proyecto y el tiempo de realización es minimo, incluso en dos dias si tienes un poco de práctica haces las programación, si hay alguien que hizo un proyecto similar en Atmel me gustaría que pusiera el tiempo que les llevó.

A todo esto, no tengo nada que ver con la empresa ni hacerles publicidad aunque lo parece , simpremente soy un proyectista.


----------



## incafox (Ene 31, 2013)

Basalto dijo:


> Vamos a ver:
> 
> - HiTech se puede considerar gratuito, la versión lite tiene las mismas funcionas que el original, solamente no te optimiza el código y te programa ocupa un 7 % mas que la versión de 1.200 dolares . Te cuento como es la historia de HiTech, HiTech era un compilador aleman que tenía una extraordinaria optimización, microchip en lugar de luchar contra ese compilador, lo que hizo fue comprarle el algoritmo y que todos los programadares se beneficiases de sus ventajas. Eso habla mucho de como es microchip, a parte de todos los ejemplo que ofrece a comunidad que utiliza sus micros.
> C12, C16, etc es el compilador propio y de toda la vida de microchip.
> ...



Hola, pues referente a programadores no oficiales, me falto ser mas especifico, me referia a comparar lo mas barato posible, clon(pickit) vs programador libre(usb asp), pues si vamos  a comparar los oficiales 

http://www.microchipdirect.com/productsearch.aspx?Keywords=PG164120

http://store.atmel.com/PartDetail.aspx?q=p:10500054#tc:supnote

estan iguales!!. (ojo el de atmel va para casi todos sus micros de 8 bits)

y lo de desechar hasta 30 micros solo para hallar el adecuado, no le veo sentido, teniendo en cuenta que solo con el datasheet, ya tenemos todas las caracteristicas del micro a mano.

una observacion que debiera realizar, ay mucho material de pics en español, ni asi de avr, pero si en ingles, por ejemplo en avrfre...s el material es muy extenso, incluyendo los proyectos.

tu ultimo parrafo, claro, somos partidarios de lo que decidamos, solo exponemos nuestro punto de vista para enriquecer al foro.


----------



## Basalto (Ene 31, 2013)

incafox dijo:


> Hola, pues referente a programadores no oficiales, me falto ser mas especifico, me referia a comparar lo mas barato posible, clon(pickit) vs programador libre(usb asp), pues si vamos  a comparar los oficiales
> 
> http://www.microchipdirect.com/productsearch.aspx?Keywords=PG164120
> 
> ...



¿y los ARM? ¿y los de 32 bits? eses programador se limita a una parte muy pequeña de los Atmel, aparte de que no tiene debug.

Desechar me refiero a hacer pruebas de consumo (no te puedes fiar del datasheet), pruebas para ver si te compensa la serie 32bits o 8 bits. O cambios de especificaciones técnicas durante el proyecto, ocurre simpre. Un ejemplo que me ocurrio de verdad es que durante la realización de un proyecto pensaba utilizar una salida serial con un convertidor serial->USB para conectar al ordenador. Ante el mal funcionamiento del convertidor, en la mitad de la etapa de diseño decidí cambiar el micro por una que tuviera salida USB directa, por lo que tuve que cambiar el micro.


----------



## cosmefulanito04 (Ene 31, 2013)

Cada día lo uC's son más baratos y tienen más periféricos, me imagino que va llegar un punto en el cual el precio de un uC de 8bits no justifique su uso frente a otros de mayor porte como los ARM o alguna familia de 32 bits.

En cuanto las herramientas de los AVR, ponyprog + AVR Studio, alcanza para poder programar y desarrollar el soft sin tener que pagar nada.


----------



## incafox (Ene 31, 2013)

Basalto dijo:


> ¿y los ARM? ¿y los de 32 bits? eses programador se limita a una parte muy pequeña de los Atmel, aparte de que no tiene debug.
> 
> Desechar me refiero a hacer pruebas de consumo (no te puedes fiar del datasheet), pruebas para ver si te compensa la serie 32bits o 8 bits. O cambios de especificaciones técnicas durante el proyecto, ocurre simpre. Un ejemplo que me ocurrio de verdad es que durante la realización de un proyecto pensaba utilizar una salida serial con un convertidor serial->USB para conectar al ordenador. Ante el mal funcionamiento del convertidor, en la mitad de la etapa de diseño decidí cambiar el micro por una que tuviera salida USB directa, por lo que tuve que cambiar el micro.



bueno pues si se quiere un programmer/debugger oficialmente soportado, pues el avr dragon que tiene soporte para los micros de  32 bits tambien, mire tambien la alternativa que menciona el comentario de arriba, un par de componentes y listo.

otra alternativa es el simulador que trae el atmel studio.

y lo de "ver si me compensa el 32 u 8 bit" deberas que no lo capto, porque 32 bits (e incluso los de 16 bits) los veo como para ponerlos a trabajar en aplicaciones que necesiten DSP como los dspic con sus librerias, en cuanto a eso hay mas opciones, mas alla de pics y/o avr's, por ejemplo un cortex m4 como los de st o ti que traen ya sus librerias dsp teniendo en cuenta que tienen un FPU a diferencia de sus predecesores, suficiente potencia para ponerles un embebed OS incluso.

y pues lo de conversor usb-serie ay alternativas mas asequibles que comprar un micro con dichas caracteristicas, pero si se requirio el uso de un micro en su proyecto pues esta demas la afirmacion.


----------



## Basalto (Ene 31, 2013)

incafox dijo:


> bueno pues si se quiere un programmer/debugger oficialmente soportado, pues el avr dragon que tiene soporte para los micros de  32 bits tambien, mire tambien la alternativa que menciona el comentario de arriba, un par de componentes y listo.
> 
> otra alternativa es el simulador que trae el atmel studio.
> 
> ...



Lo de ver si compensa 8 bits o 32 bits, me refiero a por ejemplo, si necesitas mostrar información en una pantalla, tienes la solución de un LCD+8bits  mas o menos simple y con un costo bajo, o el control de una pantalla glcd, que para los micros de 32 bits tienes ejemplos y librerias para manejarlas, pero el precio del producto final es mas caro. Si al que paga le dices tienes este LCD que muestra todos los datos y cuesta X, pero se puede montar una glcd pero el producto final cuesta 3*X y te hace graficas. Hay que valorar todas las posibilidades.

Y el conversor serial-USB lo decliné porque en el montaje fallaba algunas veces (si buscas en google mucha gente esta de acuerto conmigo, son una chapuza) y para la aplicación no podía fallar nunca.


----------



## carferper (Ene 31, 2013)

PICs o AVRs, dificil responder sin entrar en discuciones a veces inutiles con fans en ambas orillas del rio. Sin embargo creo que existen algunas opciones generales que se pueden analizar como un primer nivel de seleccion. Muchas de estas consideraciones pueden o no ser de peso dependiendo del objetivo de lo que se hace, por ejemplo si el fin es didactico, el tipo de arquitectura es importante.

Arquitectura y organizacion del micro: 
Perifericos disponibles: 
Curva de aprendizaje para los nuevos usuarios:
Obtencion y configuracion de herramientas de desarrollo:
Tiempo de desarrollo:
Costo de las herramientas de desarrollo:
Documentacion y soporte tecnico:
Disponibilidad presente y futura de los productos:
Compatibilidad, confiabilidad y portabilidad:

Al final del dia, la eleccion depende de que caracteristicas pesan mas para cada uno.

Saludos


----------



## cosmefulanito04 (Ene 31, 2013)

Si tuviera que aprender de cero cualquier familiar de uC (siempre hablando en lenguaje C), sin duda empezaría por arquitectura de 32bits y en particular ARM de cualquier fabricante.


----------



## X1un1Mundo1Mejor1wii (Ene 31, 2013)

En lo personal prefiero  PICs, 16F y quiero hacerme con los nuevos mejorados 
cambiaré cuando vea necesario por ahora me es suficiente un PIC16F887 o 16F877A , haciendo un pequeño S.O en ASM para aprovechar mejor sus características  , bueno hace medio año recien aprendi a usar PIC porque me enseñaron en donde estudio, el 16F873A usando ASM hicismos ejemplos sencillos y es muy facil de usar aun no aprendo a usar C pero hasta ahora no he tenido complicaciones, ni al manejar 6 motores de pasos al mismo tiempo, ni al usar Lasers como sensores y a la par controlar motores PAP, creo q me acostumbre :3  pero es que lo veo mas facil nose como será C en PIC ni los AVR, tengo un 18F y espero usar el modulo USB porque el rs232 esta bien para los 16F pero para mas velocidad y para tener conexion USB me gusto el 18F

En Lima, Peru:
Como referencia el PIC 16F887 cuesta 10,00  PEN	=	3.86699  USD
                        el 555  cuesta             0.500 PEN        =     0.193350  USD    
Use esta pagina para realizar el cambio de divisas http://www.xe.com/ucc/convert/?language=es&Amount=10&From=PEN&To=USD


----------



## EME_JuanAndrade (Ene 31, 2013)

A mi me gustan los AVR. En combinacion con CodevisionAVR son de lo mas simple y agradable. Soportan sobrevoltajes, invertir la polaridad, accionar relés sin diodo de protección, trabajan descentemente con su oscilador RC interno, los que he probado con adc no son tan sensibles al ruido, la mayor parte de sus instrucciones se ejecutan en un solo ciclo del reloj, muchos modelos tiene versiones SMD. Por supuesto es mi opinion basada en mi experiencia. Con los PIC tube problemas que iban desde encontrar un programador que sirviera (empezando por los de steren que nunca me funcionaron), chips defectuosos (nunca me ha fallado un AVR de fabrica), lenguajes y compiladores (CodevisionAVR es ridiculamente facil), sensibilidad al ruido, etc. Entiendo bien que cada quien habla según le fue en la feria, pero si alguiem me preguntara ¿Con que microcontrolador me recomiendas empezar? Definitivamente diria AVRs.

A la fecha de hoy en AG electronica el ATMEGA48PA-PU Dlls $ 2.36


----------



## EME_JuanAndrade (Feb 1, 2013)

Por si a alguien mas le sirve  http://www.agelectronica.com/inicio.htm es la pagina de AG donde pueden consultar existencias y precios de los productos que venden. La tienda es mexicana, pero me parece que tambien realizan envios.


----------



## X1un1Mundo1Mejor1wii (Feb 1, 2013)

el que quiere sacarle el jugo le saca, miren este video , por alli vi como sacar una señal para conectar al RCA de un televisor usando pic





  esto si es mas extremo creo y con un 16F84A


----------



## Nuyel (Feb 9, 2013)

Me gusta la idea del ARM pero como que me esta asustando un poco cuando veo el código de ejemplo, la verdad a mi no me enseñan de microcontroladores por que no es precisamente mi área, pero siempre me interesé en ellos, en un proyecto tuve que implementar adquisición de datos para realizar una gráfica y use un PIC18F4550 con un proyecto aquí publicado, pero la verdad me desesperó cuando los intenté programar por mi cuenta, ahora tengo el programador pero no lo uso, luego compré la LaunchPad de Texas Instruments y la programación de los MSP430 en C me pareció más amigable, ahora si me veo en la necesidad de programar PIC los programo igual sin emplear las funciones del compilador, lo que me gustó de los MSP430 el compilador MSPGCC y con eso trabajaba cómodamente, luego adquirí la LaunchPad Stellaris en preventa solo por el precio tan bajo sin saber nada de ARM, el MCU ARM Cortex-M4F que tiene es bastante interesante pero hasta ahora no he podido tomar el tiempo de entenderla bien, últimamente quiero seguir probando MCU, ya pedí mi Arduino Uno por lo popular que se ve en Internet y también adquirí recientemente una tarjeta FRDM-KL25 de Freescale con ARM Cortex-M0+, esta ultima también la pedí por estar con oferta y por otros dos motivos, uno era saber como era el proceso de compra con Newark y la otra es por que pensaba que me seria más fácil empezar con ella antes de meterme completamente a la Stellaris, lo que quiero saber es como programarla con el GNUARM, a ver si alguien me ayuda un poco ahí por que el MSPGCC lo usaba en Mac (en la hackintosh) pero por motivos de espacio de mi disco duro y otros me regresé al Windows y no se como instalarlos aquí  no he podido ni compilar el código que hice en Mac para el MSP430 

Solo los PIC se encuentran por aquí, lo que me agrada de ellos es que Microchip te permite usar el compilador sin restricciones solo que con reducida optimización comparado a la licencia comprada, en el caso de los MSP430 tengo el limite de 16KB para el Code Composer Studio de Texas Instruments, al usarlo con la LaunchPad Stellaris se supone que es bloqueado por la tarjeta sin restricción de programación, por otra parte el Code Warrior de Freescale me limita a 64KB, pero empleando los compiladores GNU adiós limites 

Pero bueno, de mi parte creo que es mejor que me adapte a varios fabricantes para tomar la opción más apropiada para mi aplicación, aunque me gustan los MSP430 no puedo estar importándolos a cada rato si solo quiero encender un par de LEDs, incluso con los altos precios de Steren en los PIC. me terminan siendo mejor solución.


----------



## incafox (Feb 9, 2013)

ah bueno meterse de lleno a los arm sin tener tanta experiencia programando, no creo que sea lo adecuado, creo que seria mejor estudiar programacion primero.
programar por cuenta propia en micros de 8 bits es medianamente facil si sabes programación, me refiero a estructuras selectivas, repetitivas, loops, funciones, punteros, oiperadores logico binarios(importantisimo), estudias los registros del micro en cuestion y te guias de ejemplos que proporciona el fabricante, junto al datasheet que sera tu biblia ante cualquier duda.
Para los arm, es otra nota XD, yo tambien compre hace una semana un lauchpad stellaris y hace unos meses un stm32(lamentablemente aca el fabricante no tiene un ide propio) ando con el code compose studio, que segun lei no tiene limite ninguno para esta plaquita, pues para programarlo yo me valgo de consultar a cada rato las funciones que usa, como tambien hace poco inicie con los arm primero estudio como se debe configurar correctamente guiado por los ejemplos del fabricante, probe el MDK-keil (feo las primeras veces pero te acostumbras), el iar workbench, este ultimo recomendado si tiras ensamblador para desglosar y optimizar todo el codigo que escribas, pero los dos estan limitados a 32kb recuerdo.
bueno, segun lei por ahi la gente recomendaba aprender bien en los 8bits primero, luego ya leer muuuuchiiisimo para poder tener la valentia de poner los pies en los 32bits arm. 
Ah y otra opcion es tener el ide coocox con arm-gcc como compilador, me dio pereza probarlo, en especial luego de haber pensado que con el limite de 32kb de los ides de pago, todavia no me hace falta mirar las opciones gratuitas hasta que tenga un nivel aceptable (en el caso del stm32).

PD. mas que andar de compra en compra yo creo que debemos escoger un micro y/o placa de desarrollo viendo sus caracteristicas, informandose mucho, la stellaris no esta dirigida a quienes van a iniciarse en programacion de micros, por otro lado, programar para arduino no es programar a nivel de microcontrolador y no es recomendable si es que quieres obtener un nivel de conocimiento detallado en esto de "programar microcontroladores", para finalizar creo que escribir un poco a lo "pajaro loco", XD, debe ser por que son la 3 am. Saludos.


----------



## cosmefulanito04 (Feb 9, 2013)

incafox dijo:


> ah bueno meterse de lleno a los arm sin tener tanta experiencia programando, no creo que sea lo adecuado, creo que seria mejor estudiar programacion primero.
> programar por cuenta propia en micros de 8 bits es medianamente facil si sabes programación, me refiero a estructuras selectivas, repetitivas, loops, funciones, punteros, oiperadores logico binarios(importantisimo), estudias los registros del micro en cuestion y te guias de ejemplos que proporciona el fabricante, junto al datasheet que sera tu biblia ante cualquier duda.



Es que en realidad si vas a trabajar con C (un ARM es poco común usarlo en assembler, a lo sumo si tenés que optimizar muuuucho una parte del código por un tema de velocidad de ejecución), antes debes conocer a la perfección ese lenguaje. Y como ese lenguaje es bastaaante "adaptable" a la mayoría de los uC, llega un punto que resulta transparente realizar un código en un AVR/8051/PIC que en un ARM.

Ejemplo, supongamos que se quisiera implementar un protocolo de comunicación vía RF (digamos, por un módulo) y dicho módulo se conecta por RS232, entonces si sos piola te creas tooodo el protocolo en distintas funciones que terminen llamando a una principal, tal que esa función lo único propio que tenga que llamar del uC en si sea "enviar_datos_uart(dato)" o "recibir_datos_uart(dato)", el resto del protocolo es aplicable a cualquier uC que tenga la suficiente memoria de código para implementarlo, incluso si tu uC no llegará a tener RS232, haces una soft_uart y todavía podés seguir implementando el protocolo sin problemas.

Resumiendo lo que quiero decir, C te permite que lo único que tenés que aprender de c/uC es saber como manejar bien sus periféricos (ahí es adonde obviamente tenés que agarrar hoja de datos) y crear todas las funciones básicas que interactuen con el Hardware, con lo cual normalmente la estructura del código será:

"funciones_periféricos.c"


```
void configura_timerN(argumentos....);

void configura_adc(argumentos....);

void configura_puertos(argumentos...);

void configura_int_externa_N(argumentos...);

void configura_uart();

int convertir_dato_adc(argumentos...);

int recibe_dato_rs232();

int envia_dato_rs232(argumentos...);
```

Una vez que resolvés eso, ya resulta más de lo mismo. Obviamente para crear dichas funciones, tenés que tener un cierto conocimiento en hard y saber interpretar cosas básicas como cual es la frecuencia máxima para tal tensión de alimentación, como debería conectarse el ADC, cuantos pre-escaler puede llegar a tener un timer, etc. 

Sobre si es de 8bits o 32bits, ¿en qué te cambia? en definitiva es lo mismo, solo que el tamaño de los registros pasan a ser de 32 bits, nada extraordinario y la te da la posibilidad de direccionar mayor memoria (si trabajas en C, eso es transparente para vos).

Tal vez lo que pasa con los ARM, a diferencia de los PIC/AVR, es que no esta muy difundido en internet y muchas cosas pueden resultar medias extrañas cuando venís de una de estas dos familias.

Pero un tipo que sabe "C" sin ningún conocimiento en uC's, le va a resultar lo mismo ARM que AVR/PIC, tal vez un poco más algunas cosas, tal vez un poco menos otras.


----------



## incafox (Feb 9, 2013)

Con lo de leer mucho yo me referia al hecho de que uno tiene que mirar bien de reojo las funciones en c que viene en la libreria que te proporciona, a diferencia de los pic/avr 8bits donde uno puede programar de cabeza con solo la tabla de registros a lado (con alguna experiencia claro), en arm son muchas funciones que intervienen, incluso para configurar un simple led parpadeante(en el stm32 es mas extenso que en el stellaris), bueno pero como dice arriba, si uno es bueno en c, creara sus propias funciones  pero para eso es necesario consultar muchas veces la descripcion de cada funcion que interviene. Salu2


----------



## Nuyel (Feb 10, 2013)

Pues no estoy loco para intentar entender Assembler sin alguien que me guié, solo los PICs me marean, me llevo mejor con el C y ciertamente hay pocas cosas que cambian cuando manejo C, son los nombres de los registros principalmente los que necesito mantener en una hoja a la mano, no es lo mismo nombre de P1OUT = 0x34; para activar los pines 2, 4 y 5 del puerto 1 de un MSP430 a usar PORTA = 0x34; para un PIC pero igual los manejo mediante bitwise, la configuración que es el mayor de mis problemas, aún no tengo pantallas para ponerme a pensar en manejar interfaces gráficas ni mucho menos tengo planeado hacer vídeo juegos, básicamente las necesito para cálculos y tomar acciones con ellos.



cosmefulanito04 dijo:


> Pero un tipo que sabe "C" sin ningún conocimiento en uC's, le va a resultar lo mismo ARM que AVR/PIC, tal vez un poco más algunas cosas, tal vez un poco menos otras.



Precisamente ese es mi caso, puedo entender el C pero no entiendo al MCU, para mí es igual tener que leer forzosamente las datasheet de cada MCU y entender como adquiere y procesa los datos, una ves que entiendo eso y logro configurar lo, lo demás es igual para mí, si lo puedo programar en la PC debería poder en el MCU (claro que no tendré la misma capacidad de computo de mi laptop con sistema de 64bits comparado a un AVR/PIC de 8bits ).

Aquí la ventaja que le veo al ARM es que al no saber programar también no tengo que preocuparme tanto de estar desperdiciando recursos mientras aprendo, se que memoria tiene el chip y que probablemente mi código le exija mucho pero este no explotará al intentarlo  ya con el tiempo aprenderé a optimizarlo y a realizar proyectos más complejos, también se que Arduino no es programar directamente el chip, pero solo la adquirí por lo popular de la plataforma Arduino Uno, habiendo tantos proyectos que se le replican en forma para diversos MCU (MSP430, ARM, PIC, AVR) quería probar la inspiración, respecto al lenguaje de programación ya lo probé con las LaunchPad y Energia, incluso con Pinguino en PIC18F4550, con lo difícil que es conseguir un Atmel aquí y teniendo los PICs no le veo necesidad de aprender a manipular esos MCU, aunque quizás luego me anime por conseguir el programador igual terminaría programando en C


----------



## eidtech (Feb 18, 2013)

cosmefulanito04 dijo:


> Ejemplo, supongamos que se quisiera implementar un protocolo de comunicación vía RF (digamos, por un módulo) y dicho módulo se conecta por RS232, entonces si sos piola te creas tooodo el protocolo en distintas funciones que terminen llamando a una principal, tal que esa función lo único propio que tenga que llamar del uC en si sea "enviar_datos_uart(dato)" o "recibir_datos_uart(dato)", el resto del protocolo es aplicable a cualquier uC que tenga la suficiente memoria de código para implementarlo, incluso si tu uC no llegará a tener RS232, haces una soft_uart y todavía podés seguir implementando el protocolo sin problemas.



Tal vez no lo explicaste de la forma más clara, pero es algo bastante útil y poderoso, usado de forma profesional/industrial.

Y se le conoce como: Hardware Abstraction Layer ... (Capa de abstracción de hardware).


----------



## cosmefulanito04 (Feb 19, 2013)

eidtech dijo:


> Tal vez no lo explicaste de la forma más clara, pero es algo bastante útil y poderoso, usado de forma profesional/industrial.
> 
> Y se le conoce como: Hardware Abstraction Layer ... (Capa de abstracción de hardware).



A eso iba, tratar de abstraerse un poco del hardware, con un costo aceptable (es decir, perder un poco de control en ciertas cosas).


----------



## R-Mario (Feb 26, 2013)

Y después de 410 mensajes ¿En que concluyo todo esto? Creo que concluye en que cada quien usa el que mas le acomode y no es tanto por la potencia o funciones de uno u otro. Aunque en la pagina de cursomicros leí muy buenos motivos para abandonar PIC y mudarse a otra clase de microcontroladores. Pero igual a un PICadicto no les va convenser, igual para ARMadicto y 8051 y todos las otras cientos de marcas que existen





juanministrador dijo:


> A mi me gustan los AVR. En combinacion con CodevisionAVR son de lo mas simple y agradable. Soportan sobrevoltajes, invertir la polaridad,
> 2.36 [/COLOR]




Ni que lo digas, he dejado un pobre attiny13 conectado al reves por mas 10 segundos hasta que me llego el calor a mi dedo y misteriosamente no se quemo  no sabría decir porque. 

Por descuido a un attiny2313 le cargue 12 volts y tambien aguanto los pocos segundos de tortura. Habria que ver como esta diseñado su sistema de regulacion.


----------



## Nuyel (Feb 26, 2013)

Quisiera ver el diseño de como se conecta el bus de alimentación, ¿sobrevivieron los diodos de protección de los pines? En circunstancias normales invertir la polaridad haría un corto fenomenal en los dos diodos que terminarían en paralelo a la fuente.

---Agrego---
Ajna, acabo de ver la pagina que mencionas y tiene razón en especial lo de los compiladores, a mi a veces me desespera que encuentras el programa para el compilador de CCS, MikroC, XC, C18, MikroBasic, SDCC, etc. Al final no es cosa de leer te una sintaxis, es de aprender que tiene cada uno e instalar un montón de herramientas, eso me desespera a mi en cuanto a los PIC, los MSP430 tienen más portabilidad y con AVR ahora que me mencionan que igual usa GCC me esta tentando,en especial para los circuitos a 5V, acabo de recibir la Arduino así que quizas luego vea como programar el ATmega directamente, yo al fin los PIC no los toco, igual los programo en C con para aplicaciones simples, tampoco es que sepa programar algoritmos complejos, solo los uso para reducir dramáticamente lo que de otra forma me terminaría en circuitos lógicos complejos, últimamente he pensado en aprender a usarlos en Assembler con el famoso 16F84, pero el costo de esa cosa me parece ridículo, no tiene nada, solo GPIO y ni siquiera oscilador interno, a pesar de eso es ridículamente costoso, tengo un 16F819 y cuesta $34MXN menos a pesar de traer oscilador, ADC, SPI/I2C, el doble memoria de programa, más RAM y EEPROM, creo que lo único que lo mantiene vivo es que en las escuelas lo imparten por que incluso en la pagina de Microchip el precio por volumen es de $3.11USD mientras el 16F819 cuesta $1.78USD

Siento que al final estos PIC se enseñan por sus 35 instrucciones comparadas con las 51 de los MSP430 (además del detalle de alimentarlos a 3V lo que trae complicaciones) o las más de 100 de AVR, claro, ellos tienen que enseñar assembler, pero eso no significa que tengas que quedarte solo con ese chip o con ese lenguaje.


----------



## cosmefulanito04 (Feb 27, 2013)

Nuyel dijo:


> ...
> Ajna, acabo de ver la pagina que mencionas y tiene razón en especial lo de los compiladores, a mi a veces me desespera que encuentras el programa para el compilador de CCS, MikroC, XC, C18, MikroBasic, SDCC, etc. Al final no es cosa de leer te una sintaxis, es de aprender que tiene cada uno e instalar un montón de herramientas, eso me desespera a mi en cuanto a los PIC, los MSP430 tienen más portabilidad y con AVR ahora que me mencionan que igual usa GCC me esta tentando,en especial para los circuitos a 5V, acabo de recibir la Arduino así que quizas luego vea como programar el ATmega directamente, yo al fin los PIC no los toco, igual los programo en C con para aplicaciones simples, tampoco es que sepa programar algoritmos complejos, solo los uso para reducir dramáticamente lo que de otra forma me terminaría en circuitos lógicos complejos, últimamente he pensado en aprender a usarlos en Assembler con el famoso 16F84, pero el costo de esa cosa me parece ridículo, no tiene nada, solo GPIO y ni siquiera oscilador interno, a pesar de eso es ridículamente costoso, tengo un 16F819 y cuesta $34MXN menos a pesar de traer oscilador, ADC, SPI/I2C, el doble memoria de programa, más RAM y EEPROM, creo que lo único que lo mantiene vivo es que en las escuelas lo imparten por que incluso en la pagina de Microchip el precio por volumen es de $3.11USD mientras el 16F819 cuesta $1.78USD
> 
> Siento que al final estos PIC se enseñan por sus 35 instrucciones comparadas con las 51 de los MSP430 (además del detalle de alimentarlos a 3V lo que trae complicaciones) o las más de 100 de AVR, claro, ellos tienen que enseñar assembler, pero eso no significa que tengas que quedarte solo con ese chip o con ese lenguaje.



Eso pasa porque hay muchísima información y proyectos relacionados con el 16F84, es casi una leyenda el uC ese.

Efectivamente a medida que vayan pasando los años, cada vez va a quedar más obsoleto, como sucede normalmente en la electrónica.


----------



## R-Mario (Feb 27, 2013)

Espero no quedarme obsoleto yo. jejeje, yo por mientras sigo feliz usando los avr, la facilidad con la que puedes leer una datasheet y en cuestión de minutos tienes funcionando alguno modulo especifico del AVR, el único que me costo mas trabajo entender fue el famoso TWI o lo que es lo mismo el I2C "por cierto según leí atmel le puso twi para no pagar regalías a philips por concepto de uso de patente" jejeje pero es exactamente lo mismo. 

Por cierto tengo varios attiny13 y ya se me han agotado las ideas, creo que hice casi de todo con ellos y aun me quedan algunos ¿que mas se puede hacer con este pequeñin?.


----------



## cguzman (Mar 7, 2013)

Los dos tiene sus ventajas 
Ejemplo el ATMEL tiene varios puertos de comunicacion serial y con mas facilidad se pueden comunicar varios de estos y dejar uno como master.

Los Microchip son mas pupulares hay mas informacion en la red hay varios lenguajes en qie programarlos y son mas veloces pues soportan hasta 40Mhz los 18Fxxxx
en comparacion con los Atmel.


----------



## R-Mario (Mar 7, 2013)

Creo que cometiste un error amigo, aun a 40Mhz recuerda que la frecuencia se divide por 4, lo cual no ocurre con los avr, los avr no tienen mas puertos seriales, los pic's tambien los llegan a tener "depende del modelo"


----------



## cosmefulanito04 (Mar 8, 2013)

Ajna dijo:


> Espero no quedarme obsoleto yo. jejeje, ...



Como en todas las profesiones, siempre hay que ir estudiando lo nuevo que aparece. Y en la electrónica, cada vez esa actualización se hace más y más vertiginosa.

Lo cual no implica que lo último de lo último sea lo mejor y se pueda deshechar todo lo anterior, pero cada vez es más y más común ver como los fabricante de uC's se empiezan a tirar hacia arquitecturas de 32 bits, ej. el mismo Atmel que incorpora los ARM.


----------



## robertosebastian92 (May 29, 2013)

hola gente del foros, damas y caballeros. Leí bastante (no todo) pero lo suficiente.

Si hay algo que a mi digamos q*ue* me pone un poco triste... Es esto:

Llevo muchos años de mi vida dedicándome al la electrónica, los PIC's y a la programación en muchas plataformas,
he estado en eventos importantes de juegos y etcétera... Resulta que hace unos 6 años vi algo de arduino cuando recien salia la novedad de los shields.
Y yo digo ahora no... Por que algo que me llevo años hacer a mi y desarrollarlo en PIC y viene una persona que ni siquiera sabe el código de colores de las resistencias, y hace en 3 semanas lo que a mi me llevo años de investigación... 

La verdad es medio un secreto mio pero me da como que bronquita esto de los shields.
La semana pasada conocí a un tipo que hace unos sensores para una empresa, los hace con arduino.
EL chavon lo programa con las shields y todo y lo sumerge en re*s*ina epoxi,
y vende un cuadrado donde se encuentra las shields y todo lo q*ue* use esta cosa de arduino.
A mi me parece una locura y poco profesional, aparte los developers de arduino,
si le das el micro sin una shield no saben que cosa hacer, se quieren matar.
No quiero generalizar pero el 50% de personas que conocí. piensan que el micro no se puede utilizar sin una shield... *Que* desastre.

Aparte, ¿por que hacen tantos accesorios para arduino? ¿por que no los hacen para pic? por que nuestros programas son carísimos (si si yo los pago) ¿y por que una persona que programa en arduino puede vender sus productos al mismo precio?. 

¿Qué opinan de esto?. O tal vez yo soy celoso o envidioso.
No sé, pero hay cosas q*ue* aveces me frustran, todos mis clientes nuevos quienes la mayoría no saben un pomo de electrónica me preguntan "¿me lo haces en arduino?" y les digo: "no, acá somos profesionales".

¿Será q*ue* arduino va a ser la nueva generación de desarrolladores q*ue* desarrollan sin saber que cosas hace un micro?... 
¿O será que los que hacemos PIC nos gusta complicarnos la vida?



Saludos


----------



## X1un1Mundo1Mejor1wii (May 29, 2013)

robertosebastian92 dijo:


> hola gente del foros, damas y caballeros. Leí bastante (no todo) pero lo suficiente.
> 
> Si hay algo que a mi digamos q*ue* me pone un poco triste... Es esto:
> 
> ...


 Te entiendo, me pasa algo igual, yo me mudare a AVR no a Arduino, lo que no me queda claro de arduino es que al ser código abierto, creo que los desarrollos que hagas tanto para ventas debes de ponerlo gratuitamente para los demás y si no quieres hacerlo creo q*ue* se paga una cuota (corrí*j*anme si me equivoco)
el hecho es que quiero sacar todo lo que pueda al PIC en asm, luego migraré a AVR porque tiene mas comodidad para programar, pero antes de ello quiero aprovechar al máximo al PIC y poner mi soft en internet y hacer shield mas baratos que arduino solo por el gusto de verles la cara   con el RFTOS16 que es mi programa OS para PIC16F
y un bootloader, en fin, pero es verdad algo más que añadir es que arduino que se basa en AVR, AVR es mas económico que los PIC en comparación y resiste mejor el ruido eléctrico, tiene mas hardware, y mas velocidad (1 ciclo reloj vs los 4 del PIC )
Creo que por eso yo también me resisto, si alguien esta interesado en hacer algo por el PIC me sumo a ello (mas que todo es como un tributo le llamo yo de la vieja escuela, para que vean que pic puede dar pelea, poniendo ambos al mismo nivel shields para PIC y Arduino almenos eso pienso hacer por mi parte )


----------



## robertosebastian92 (May 29, 2013)

X1un1Mundo1Mejor1wii me gusta tu idea, y si hacemos un grupo de developers tipo arduino para pic? que opinan? un tributito para nuestro viejo y querido amigo "el viejo pic" 

Aparte recordemos el frustrado intento de PICAXE. vamos a dejar que arduino nos someta? jamas!


----------



## fernandob (May 29, 2013)

no tengo NPI que son esas shield .
yo hace años ya aprendi ASm y hice algunas cosas y lñuego a dormir.
sigo pero con cosas mas simples.

el tema es que es previsible que pase esto, de igual modo que "viejos" que aprendieron  todo de valvulas electronicas o de programacion con tarjetas perforadas luego tuvieron que irse a dormir.

un dia de estos muy proximo el micro controlador mas chiquito, mas berreta , mas barato tendra una memoria de 64 K  y eso impulsara a prpogramadores a generar nuevos lenguajes.
tan amigables que "uno que ni sabe el codigo de colorees de una R. podra programar " .

y asi es .
si te sobra memoria y no tenes un problema de velocidad asi es .
simple competencia.

encima hoy dia ( y con razon) muchisima gente se tira a programacion , mas que a electronica.
asi que ademas tenes programdores (no tontos)  que pueden diseñar una placa sin casi saber que es una compuerta, o un 4017 , o que entraran a un foro a preguntar como se hace para manejar un relay .

sabes cuantas areas fueron afectadas con esto de la masividad ?? y de este continuo avance ?? muchisima gente que podria haber tenido trabajo siempre se quedo sin el .
yo, desde casi siempre gane mas plata por ir a tirar cables que por diseñar una placa.
hay un secreto, en esto , en aquello y en lo otro:
no obsesionarse.
si te gusta pintar paisajes o programar micros hacelo de gusto.
si queres ganar plata y ves que lo que deja plata es vender choripanes en la costanera ( y  no te disgusta) , pues hace eso >>> venta de chori para hacer plata y luego a lo que te gusta para entretenerte. .
no quieras juntarlos si no da .
y si da.........ya dara solo .

lo primero es eso:
ver a donde va cada cosa y no querer forzarlas.
yo tarde años en entenderlo.





robertosebastian92 dijo:


> La verdad es medio un secreto mio pero me da como que bronquita esto de los shields.



absolutamente normal.
y sano diria .


----------



## X1un1Mundo1Mejor1wii (May 29, 2013)

robertosebastian92 dijo:


> X1un1Mundo1Mejor1wii me gusta tu idea, y si hacemos un grupo de developers tipo arduino para pic? que opinan? un tributito para nuestro viejo y querido amigo "el viejo pic"
> 
> Aparte recordemos el frustrado intento de PICAXE. vamos a dejar que arduino nos someta? jamas!



Moriré pero luchando 

Esto me recuerda a battlefield batalla naval  .. los marines que derrotaron a la nave extraterrestre. de hecho en mis tiempos libres (que es la 3 parte del dia, puedo distribuir un espacio para tal fin, deberíamos abrir otro hilo  )


----------



## Chico3001 (May 29, 2013)

robertosebastian92 dijo:


> X1un1Mundo1Mejor1wii me gusta tu idea, y si hacemos un grupo de developers tipo arduino para pic? que opinan? un tributito para nuestro viejo y querido amigo "el viejo pic"
> 
> Aparte recordemos el frustrado intento de PICAXE. vamos a dejar que arduino nos someta? jamas!



Existe un grupo de developers tipo Arduino para PIC ... se llama Pinguino... y no ha despegado tanto como arduino, desconozco la razon... 

http://www.pinguino.cc/


----------



## cosmefulanito04 (May 30, 2013)

fernandob dijo:


> no tengo NPI que son esas shield .



Yo tampoco sabía así que averigué, al parecer son módulos que se van agregando a una placa principal para que aumentar su electrónica sin soldar absolutamente nada (el lego de la electrónica en temas de uC).



fernandob dijo:


> yo hace años ya aprendi ASm y hice algunas cosas y lñuego a dormir.
> sigo pero con cosas mas simples.



Mirá assembler es lo más duro que vas a encontrar cuando trabajas con uC (y hoy en día es obsoleto su uso, salvo en pequeñas cosas que son muy necesarias, esto no quiere decir que no sea fundamental conocer ese lenguaje), si querés darle una segunda oportunidad al mundo de los uC, te aconsejo aprender lenguaje C desde la PC, se que es un dolor de hu...o aprender algo desde 0, pero no es difícil. 

Y después ese lenguaje lo aplicás a cualquier uC.



fernandob dijo:


> un dia de estos muy proximo el micro controlador mas chiquito, mas berreta , mas barato tendra una memoria de 64 K  y eso impulsara a prpogramadores a generar nuevos lenguajes.



Ya estamos llegando a eso, incluso C que es un lenguaje de mayor nivel que assembler, resulta complejo de llevar a medida que el proyecto crece, no es algo que no se pueda llevar, pero pide a gritos lenguaje de mayor nivel (ej. c++ o java).



> encima hoy dia ( y con razon) muchisima gente se tira a programacion , mas que a electronica.
> asi que ademas tenes programdores (no tontos)  que pueden diseñar una placa sin casi saber que es una compuerta, o un 4017 , o que entraran a un foro a preguntar como se hace para manejar un relay .



Ese tipo que no tienen todos esos conocimientos que mencionan, a lo sumo puede apuntar a un desarrollos ya hechos e ir combinandolos, pero a medida que se le presenten cosas de mayor complejidad, si no está bien preparado hace agua.


----------



## chclau (May 30, 2013)

No hay que subestimar a "esos que no saben nada" que no siempre es asi, la realidad es distinta y se ve en todas parte, hoy es menos necesario alguien que maneje flip flops y mas necesario uno que maneje FPGA, menos uno que sabe Assembler y mas uno que sabe C y aplicarlo a un procesador y que sabe manejar MMU, cache, etc. o que al menos sabe inicializar un sistema operativo.

Es entendible que nos de bronca el cambio pero independientemente de lo que pensemos o queramos el cambio ocurrira, y no es algo nuevo. Lo que es nuevo es la gran velocidad del cambio y queda en nosotros mantenernos sobre la ola o dar un paso al costado.

Un super experto en valvulas hoy, nos guste o no, no vale nada. Salvo quiza para una oportunidad entre mil para hacer un ampli para exigentes, pero fuera de eso.... campo nulo.

La parte buena es que la accesibilidad de los datos es hoy impresionante y muy democraticamente accesible a todos. El que quiere y con un poco de suerte... se mantiene arriba de la ola.


----------



## cosmefulanito04 (May 30, 2013)

chclau dijo:


> No hay que subestimar a "esos que no saben nada" que no siempre es asi, la realidad es distinta y se ve en todas parte, hoy es menos necesario alguien que maneje flip flops y mas necesario uno que maneje FPGA, menos uno que sabe Assembler y mas uno que sabe C y aplicarlo a un procesador y que sabe manejar MMU, cache, etc. o que al menos sabe inicializar un sistema operativo.



Hasta un cierto punto, si empiezan a cambiar la condiciones de entorno, por ej. trabajar en ambiente de mayor ºT, ya no lo resuelve cualquiera, si la aplicación se usa en ambientes ruidosos tal vez deje de funcionar.

Hay ciertos aspectos en donde solamente programar no alcanza, además tenés que tener conocimientos en el diseño del hard según la aplicación y el entorno donde será usado y saber diseñar un buen PCB, ¿qué sabés si esos módulos tiene un PCB bien diseñados?

A lo que apunto, la diferencia puede estar en los detalles, no en lo genérico de la aplicación.


----------



## Meta (May 30, 2013)

Hola:

Ahora se programará dispositivos con C# y los módulos estarán diseñados para que iniciados y novatos no tengan qu esaber de electrónica para controlar LEd y relés entre otras muchas cosas más.

Más información aquí.






http://www.netmf.com/gadgeteer/

Por mi parte es de agradecer, C# y microcntroladores.

Saludo.


----------



## Chico3001 (May 30, 2013)

No creo que C# vaya a durar mucho tiempo... definitivamente la guerra de software esta siendo ganada por los sistemas Open Source...


----------



## cosmefulanito04 (May 30, 2013)

Chico3001 dijo:


> No creo que C# vaya a durar mucho tiempo... definitivamente la guerra de software esta siendo ganada por los sistemas Open Source...



No se si va a pasar eso a la larga (teniendo a Ms detrás lo veo difícil), pero por lo menos yo prefiero un lenguaje como Java que te permite trabajar en cualquier lado, lo malo es que con Oracle pareciera que la cosa no va tan bien como antes.


----------



## ByAxel (May 30, 2013)

cosmefulanito04 dijo:


> No se si va a pasar eso a la larga (teniendo a Ms detrás lo veo difícil), pero por lo menos yo prefiero un lenguaje como Java que te permite trabajar en cualquier lado, lo malo es que con Oracle pareciera que la cosa no va tan bien como antes.



Depende de como lo orienten, sin embargo Microsoft ya tubo cierto recorrido en esto con Microsoft Robotics y según veo, ya no hay actualizaciones al respecto y se a quedado dentro de un sector. 
Si les va bien, solo se verán dichos módulos en las universidades. Me agradan que sean de buen nivel ya que son con ARM, almenos con esto justifica el echo de usar C# pero limitado al hardware... mmm


----------



## X1un1Mundo1Mejor1wii (May 30, 2013)

cosmefulanito04 dijo:


> No se si va a pasar eso a la larga (teniendo a Ms detrás lo veo difícil), pero por lo menos yo prefiero un lenguaje como Java que te permite trabajar en cualquier lado, lo malo es que con Oracle pareciera que la cosa no va tan bien como antes.



Java consume recursos :/
bueno pero usen el IDE eclipse y Netbeans,
En cuanto a Arduino(AVR) ARM PFGA o PIC DSPIC, todo apunta al tiempo en que te demores en hacer un proyecto, su fiabilidad, y los costos de producción.
Mientras exista ese equilibrio y quien mejor lo sobrelleve.. siempre existirá mercado para ese dispositivo y software u entornos de programación.


----------



## Meta (May 30, 2013)

Estoy en el mundo Visual Basic .Net, te aseguro que en el mundo empresarial se usa bastante y se usará más la era .NET, C# lo está optimizando hasta en las narices. 

De todas maneras hay que usar el C y el nuevo si acaso C++ para los PIC32. Por fin un C++ para los PIC, es mucho más eficiente. ¿Ahora cuando se dan cuenta?

Programar un PIC en C es la leche, el ASM me tiene negro y m epego media vida haciendo lo mismo. Viendo la cantidad de microcontroladores y programado en C mejor que los PIc, me han disolucionado en algunos aspecto, en otros no porque tiene mayor información que la competencia.

*Microcontroladores*



ARM
Atmel
Cypress
Digi
Diodes
Ember
Energy Micro
Fairchildsemi
FreeScale
FTDIchip
Fujitsu
Hitachi
Holtek
IDT
Infineon
Intersil
JMicron
LSI
Maxim-IC
Micrel
Microchip
Microsemi
National
NEC
Nuvoton
Oki
On Semi
Parallax
Philips
Picaxe
Rabbit
Renesas
Rohm
Samsung
Semtech
Silabs
STMicroelectronics
TI
Toshiba
Winbond USA
Seguro que me falta algún microcontroladore de la lista de arriba, y eso sin contar las familias diferentes de cada marca como los PIC de 8, 16, 32 e incluso subfamlia como los PIC32, dsPIC y demás, piensa en otras marcas poco dificil de encontrar información.

Los más que veo que se usa son los  Pic, AVR y ahora cada vez más los ARM.



Chico3001 dijo:


> No creo que C# vaya a durar mucho tiempo... definitivamente la guerra de software esta siendo ganada por los sistemas Open Source...



No están en guerra, en algunos artículos comentan que es un complemento para Arduino y Raspberry Pi. 

Otro dato que MicroSoft dejó de lado, al menos temporal es el XNA Game Studio C# y VB .net para PC y la X-Box 360. Sólo temporal ya no se actualiza, se cree que se está haciendo el nuevo motor del entorno para la nueva X-Box One.

Lo de Robotic no tengo idea pero aquí hay más información.

No se el motivo de que MicroSoft le den por monatnos hardware modulares para novatos sin saber electrónica como manejar Relés, Leds, ventiladores, motores, USB, y demás cosas que nosotros hacemos desde cero con los PIC, AVR y algunos más. El lenguaje a utilizar es el C#.

También le dieron programar mediante C# el Kinect en PC, el Kinect 2 seguirá el mismo camino.

He dado una asignatura con Java, no me gusta mucho y menos aún si es de Oracle y su futuro, hay que reconocer que es el rey del más usado y multiplataforma hasta el momento. 

Lo que me gusta de 
*Gadgeteer.*













La propuesta de Microsoft no está tan mal, le doy la bienvenida, sobre todo lo que sea de programación y electrónica.

http://www.netmf.com/Gadgeteer/what-is-gadgeteer.aspx


----------



## ByAxel (May 30, 2013)

Es como el Lego NXP pero de mayor nivel.
No contradigo... C# es el lenguaje que mejor entiendo y núcleos ARM para esto es una buena combinación.


----------



## Meta (May 30, 2013)

Ve más difícil conseguir esos módulos de electrónica para C#. Prefiero que hagan esquemas eléctricos y los monto. En España no se si algún día traerán estas cosas. De todas maneras tiene que haber demanda, viendo Arduino, a pesar de tener cierto éxito , no es muy demandado que digamos.


----------



## Nuyel (May 30, 2013)

robertosebastian92 dijo:


> La semana pasada conocí a un tipo que hace unos sensores para una empresa, los hace con arduino.
> EL chavon lo programa con las shields y todo y lo sumerge en resina epoxi, y vende un cuadrado donde se encuentra las shields y todo lo que use esta cosa de arduino.



En el peor de los casos sacaría el chip y rediseño el PCB pero nunca haría esa estupidez  yo compré un Arduino UNO solo por la popularidad de esa cosa, pero sinceramente solo lo usé una ves que quería volver MIDI mi teclado, ahora he dejado ese proyecto suspendido y no he sacado el Arduino para nada, si solo es para jugar o hacer un proyecto rápido para uso personal agarro lo que tenga a la mano y alcance su capacidad, tambien tengo LaunchPads MSP430 y Stellaris que puedo programar con Energía con el mismo lenguaje que Arduino, pero soy muy dedicado a la eficiencia en especial la energética y que el MCU no realice actividades innecesarias y eso es lo que menos me gusta de Arduino, que se como hacer que haga las cosas, pero no se que hace detrás de cada función y cuantos recursos me esta desperdiciando, prefiero programar a mi manera en C modificando los registros directamente, ni los PIC programo con las funciones que me trae el compilador o las cabeceras de Microchip.

Y ese es el por qué me da igual cual MCU programe, al final todos los hago igual tras leer los nombres de los registros y saber que hace cada BIT en ellos.


----------



## cosmefulanito04 (May 31, 2013)

X1un1Mundo1Mejor1wii dijo:


> Java consume recursos :/
> bueno pero usen el IDE eclipse y Netbeans,



Si, es el costo que paga por usar una maquina virtual para poder ser utilizado en cualquier lado.


----------



## Ardogan (May 31, 2013)

Nuyel dijo:


> ...pero soy muy dedicado a la eficiencia en especial la energética y que el MCU no realice actividades innecesarias y eso es lo que menos me gusta de Arduino, que se como hacer que haga las cosas, pero no se que hace detrás de cada función y cuantos recursos me esta desperdiciando, prefiero programar a mi manera en C modificando los registros directamente, ni los PIC programo con las funciones que me trae el compilador o las cabeceras de Microchip.
> 
> Y ese es el por qué me da igual cual MCU programe, al final todos los hago igual tras leer los nombres de los registros y saber que hace cada BIT en ellos.



Viéndolo desde la eficiencia energética coincido, no cabe duda de que es importante hacer que el micro ejecute la menor cantidad de código posible y pase la mayor parte del tiempo en modo sleep, bajar las tensiones de alimentación, etc. En ese sentido sí se justifica hacer código "bare metal" (sin un framework o RTOS en el medio).

A mi también me pasa con algunos periféricos, me lleva el mismo tiempo entender la librería que provee el fabricante que configurar los registros a mano (un módulo PWM, un timer, un conversor AD, etc). Además que las que provee el fabricante no suelen hacer un buen uso de interrupciones.

 Pero hay cosas en las que ya no podemos hacer un seguimiento tan fino, y no nos queda otra que incluir la librería y usarla lo mejor posible.
Por ejemplo, una librería USB (CDC, HID), ethernet, o una librería para un LCD gráfico.

 O que pasa si tenemos un proyecto complejo donde empieza a haber de todo: manejo remoto por GSM + log de datos en una SD con sistema de archivos FAT + conectividad USB con bootloader + manejo de display + teclado + sensores varios….
Ahí ya es difícil pensar en todas las posibles interacciones del código, solo queda separar en tareas usando un RTOS y tratar de que las tareas no tengan problemas de sincronización.

Después está el compromiso de ingeniería entre hacer una solución a medida, o algo que sea configurable, expandible y con código reutilizable. En el 1er caso es un sistema fuertemente embebido y en el 2do se parece más a lo que pasó con los celulares que pasaron a ser computadoras de bolsillo. En unos se utilizará C y ASM con micros de 8/16 bits, o incluso se diseñará una ASIC para ello; y en otros se utilizará un sistema operativo con C++ (algunos incluso Java!!! ), manejo de memoria dinámica, etc.

Para terminar, creo que hay lugar para todo el mundo, y más aún, a nosotros nos conviene que la electrónica hobby se masifique con plataformas tipo Arduino.
 Veo al usuario de Arduino no como un competidor sino como un posible cliente: cada vez que salga un chip nuevo (sensor, actuador, comunicaciones, lo que sea) el tipo va a precisar que alguien le haga la plaqueta y la librería, alguno va a querer manejar todo por I2C (por que no va a tener los conceptos básicos para usar el conversor AD del micro), otro por SPI, o que sea compatible con raspberry pi...
 Fíjense que este es el negocio de Adafruit, Parallax, Sparkfun, etc.
 Y a mayor masificación menor precio de los componentes y los servicios asociados (fabricación de PCB, ensamble, proveeduría de componentes).

 Incluso los tipos que tienen conocimientos de software de alto nivel pueden hacer su aporte manejando código más complejo, por ejemplo, que sepa hacer un diseño modelando con UML implementando código con técnicas ágiles, diseño iterativo y haciendo TDD (test driven development) y llevando un buen sistema de seguimiento de bugs, con un sistema de documentación claro y repositorios de código sanos; y otras yerbas que no tengo idea (las que mencioné tampoco tengo mucha idea , solo sé que existen).

 En fin, los proyectos con electrónica se van haciendo más complejos. Cada vez van a requerir más de esto último, más gente, mejor organización y planificación, etc. Cosas como la electrónica automotriz (no solo para el motor del auto, sino para manejar y hacer el piloto automático tipo google car → lo siento por los camioneros), comunicaciones, autopistas inteligentes, inteligencia artificial, robots autónomos, electro-medicina, redes de sensores inalámbricos... antes era impensable poder implementar sistemas tan complejos, ahora solo es cuestión de poder manejar complejidad en forma eficiente.

 Es un lindo tema, daría para un tema nuevo.


----------



## Chico3001 (May 31, 2013)

Coincido... actualmente los proyectos de "encender un led" o incluso "controlar un robot por puerto paralelo" ya son cada vez mas academicos, pero no practicos... los nuevos proyectos se estan haciendo cada vez mas complejos y requieren el uso de multiples tecnologias y multiples expertos, cada uno en su rama para poder terminar el proyecto y por eso estan teniendo tanto exito los sistemas embebidos, ya que permiten hacer mas cosas con menos tiempo y recursos...


----------



## Meta (May 31, 2013)

Si, los PIC para jugar. Un argentino que desarrolla bien PCB con 18F4550, dice que no es fiable en el mundo laboral como para venderlo y usarlo en empresas porque se cualga como Windows. Es decir, PIC  no es muy fiable. Por eso usar autómatas o PLC.

Saludo.


----------



## cosmefulanito04 (May 31, 2013)

Ardogan dijo:


> ...
> 
> Pero hay cosas en las que ya no podemos hacer un seguimiento tan fino, y no nos queda otra que incluir la librería y usarla lo mejor posible.
> Por ejemplo, una librería USB (CDC, HID), ethernet, o una librería para un LCD gráfico.
> ...



Sabes que estoy tratando de tomar esa decisión, si usar o no librerías de terceros para cosas complejas como las que mencionas, no es lo mismo levantar un par de funciones para una Uart que para el USB.

Pero de momento me estoy peleando con FreeRtos en ARM y esta muy bueno las cosas que podés hacer y la facilidad de manejar los tiempos a tu antojo + encapsular en tareas las distintas operaciones. El manejo de las interrupciones con semáforos es buenísimo y garantizas ejecutar toda una tarea afuera de la rutina.

Entonces ya que estoy delegando gran parte del control al Scheduler, no veo con malos ojos hacer lo mismo con Ethernet, USB o cosas más complejas.


----------



## Ardogan (May 31, 2013)

cosmefulanito04 dijo:


> Sabes que estoy tratando de tomar esa decisión, si usar o no librerías de terceros para cosas complejas como las que mencionas, no es lo mismo levantar un par de funciones para una Uart que para el USB.



Es que en última instancia, con C tampoco tenemos un control total. Uno escribe código en C y es el compilador el que tiene el control, que traduce las instrucciones a código objeto.
Una simple instrucción de asignación (a = b) va a ser compilada de formas distintas dependiendo de la configuración del compilador (nivel de optimización entre otras), si la variable es volatile o no, si la variable "a" es una variable local a la función (en tal caso normalmente se use la pila, se puede cambiar con opciones de compilación), si es static entonces en realidad es global. Si b es el resultado de llamar a una función entonces quizás se use para b uno de los registros de trabajo del micro.

Y también el código generado va a depender del código antes y después de la instrucción de asignación, si después hago un if(a) el código no va a ser el código de la instrucción de asignación más el codigo del if; sino una fusión (siempre y cuando se utilice al menos una mínima optimización).
Normalmente cuando uno está escribiendo el código por primera vez puede optar por no usar ninguna optimización, usar -O0 para los que hablan gcc, y una vez que sabe que eso funciona entonces sí puede optimizar en general (-O2, -O3), o quizás le interese optimizar el tamaño de código (-Os que puede ir en contra de la velocidad de ejecución). Lo digo porque alguna vez puede pasar que uno no sabe por qué algo no funciona y termina viendo el disassembly que generó el compilador, y ve alguna operación "rara" (por ejemplo, suele pasar que si usas código optimizado las instrucciones no se ejecutan en el orden que las escribiste, sino que salta de un lugar a otro dentro de la rutina en forma fantasmagórica -> optimización).
¿Entonces por qué usar optimización?, porque normalmente te reduce la cantidad de memoria usada a la mitad, y se ejecuta más rápido, lo que no es para nada despreciable.

En fin, a lo que voy es que no hay que creerse que por usar C tenemos todo el control, u órdenes de magnitud de mayor control que usando C++. Lo que tiene C es que seguro lo vas a poder usar con cualquier cosa (8, 16, 32 bits), C++ recién en algunos micros de 16 bits y seguro de 32 bits.

Al final, la diferencia pasa más por si la compañía X (que puede ser distinta a la que hace el micro) te provee de un buen compilador (que no genere instrucciones inútiles y esté bien optimizado para el hardware del micro) de que si escribís en C o C++.


----------



## Meta (May 31, 2013)

Hola:

Pues para cosas complejas me está interesando el tema este con C#, lo entiendo y todo.






http://gadgeteerguy.com/Catalog/ArticleView/tabid/142/ArticleId/3/NANO-Mainboard.aspx


Se metieron hasta con el LCD de Hitachi, ajjaja.
http://www.netmf.com/gadgeteer/show...&title=GHI Electronics HD44780 (With Display)

Doc de demás comunicaciones, I2C, SPI, USB...
http://www.ghielectronics.com/docs

Los periféricos hardware tienen parar artarte, están todos hehcos. Mirar página por página.
http://www.netmf.com/showcase.aspx?ShowcaseID=1&id=151
*
Tutoriales:*
http://www.ghielectronics.com/docs/37/netmf-and-gadgeteer-tutorial-index

Con mi lenguaje preferido C# y todo, por ahora son fáciles de entender.

Example 3:  Blink an LED timed ON/OFF

```
[LIST]
[*][COLOR=#0000FF]using[/COLOR] [COLOR=#008000]System.Threading[/COLOR][COLOR=#008000];[/COLOR]
[*][COLOR=#0000FF]using[/COLOR] [COLOR=#008000]Microsoft.SPOT.Hardware[/COLOR][COLOR=#008000];[/COLOR]
[*][COLOR=#0000FF]using[/COLOR] [COLOR=#008000]GHI.Premium.Hardware[/COLOR][COLOR=#008000];[/COLOR]
[*] 
[*][COLOR=#0000FF]namespace[/COLOR] change_this_to_your_namespace
[*][COLOR=#008000]{[/COLOR]
[*]    [COLOR=#0000FF]public[/COLOR] [COLOR=#0000FF]class[/COLOR] Program
[*]    [COLOR=#008000]{[/COLOR]
[*]        [COLOR=#0000FF]public[/COLOR] [COLOR=#0000FF]static[/COLOR] [COLOR=#0000FF]void[/COLOR] Main[COLOR=#008000]([/COLOR][COLOR=#008000])[/COLOR]
[*]        [COLOR=#008000]{[/COLOR]
[*]            [COLOR=#00a7d8]OutputPort[/COLOR] LED[COLOR=#008000];[/COLOR]
[*]            LED [COLOR=#008000]=[/COLOR] [COLOR=#0000FF]new[/COLOR] [COLOR=#00a7d8]OutputPort[/COLOR][COLOR=#008000]([/COLOR]EMX[COLOR=#008000].[/COLOR]Pin[COLOR=#008000].[/COLOR]IO47, [COLOR=#0000FF]true[/COLOR][COLOR=#008000])[/COLOR][COLOR=#008000];[/COLOR]
[*] 
[*]            [COLOR=#0000FF]while[/COLOR] [COLOR=#008000]([/COLOR][COLOR=#0000FF]true[/COLOR][COLOR=#008000])[/COLOR]
[*]            [COLOR=#008000]{[/COLOR]
[*]                LED[COLOR=#008000].[/COLOR]Write[COLOR=#008000]([/COLOR][COLOR=#0000FF]true[/COLOR][COLOR=#008000])[/COLOR][COLOR=#008000];[/COLOR]
[*]                [COLOR=#00a7d8]Thread[/COLOR][COLOR=#008000].[/COLOR]Sleep[COLOR=#008000]([/COLOR]200[COLOR=#008000])[/COLOR][COLOR=#008000];[/COLOR]
[*] 
[*]                LED[COLOR=#008000].[/COLOR]Write[COLOR=#008000]([/COLOR][COLOR=#0000FF]false[/COLOR][COLOR=#008000])[/COLOR][COLOR=#008000];[/COLOR]
[*]                [COLOR=#00a7d8]Thread[/COLOR][COLOR=#008000].[/COLOR]Sleep[COLOR=#008000]([/COLOR]200[COLOR=#008000])[/COLOR][COLOR=#008000];[/COLOR]
[*]            [COLOR=#008000]}[/COLOR]
[*]        [COLOR=#008000]}[/COLOR]
[*]    [COLOR=#008000]}[/COLOR]
[*][COLOR=#008000]}[/COLOR]
[/LIST]
```

http://www.ghielectronics.com/docs/7/digital-outputs

Lo que no se si en cada componente habrá un esquema libre para hacerlo nosotros. Ojalá tenga adeptos.


----------



## ByAxel (May 31, 2013)

Ya recorde que el Micro-Framework lo había visto antes aplicado en otras tarjetas como la Microsoft .NET Micro Framework Board FEZ Mini de Olimex. Parece más fácil de clonar jeje...
Si es compatible, ya es otra opción...


----------



## cosmefulanito04 (May 31, 2013)

Ardogan dijo:


> Es que en última instancia, con C tampoco tenemos un control total. Uno escribe código en C y es el compilador el que tiene el control, que traduce las instrucciones a código objeto.



Estoy de acuerdo, que con C el control del hard es mucho más limitado.

Pero si encima entregás el control a funciones que no tenés idea de lo que hacen, corrés el riesgo de no saber que registros del hard estan tocando, más si estas trabajan con rutinas de interrupción. 

Mismo el RTOS, no me queda otra que usarlo porque no voy a reinvertar la rueda creando mi propio Scheduler, pero hay un alto riesgo de que si algo falla y no es algo de mí código, las cosas se compliquen y mal. Lo bueno del FreeRtos es que tiene un respaldo importante.

Por eso comparto lo que decís, pero entregar ese control tiene ese costo.



Ardogan dijo:


> En fin, a lo que voy es que no hay que creerse que por usar C tenemos todo el control, u órdenes de magnitud de mayor control que usando C++. Lo que tiene C es que seguro lo vas a poder usar con cualquier cosa (8, 16, 32 bits), C++ recién en algunos micros de 16 bits y seguro de 32 bits.



Yo no discuto eso, pero si además el compilador se complicá con un buen código en C, ¿qué puede pasar con uno pésimo?


----------



## Meta (May 31, 2013)

Lo que se sobre el C/C++, en PC no está tan limitado como los PIC, así de simple. Así que pongan más RAM y memoria programa.


----------



## Ardogan (May 31, 2013)

cosmefulanito04 dijo:


> Pero si encima entregás el control a funciones que no tenés idea de lo que hacen, corrés el riesgo de no saber que registros del hard estan tocando, más si estas trabajan con rutinas de interrupción.
> .....



También coincido .
Son distintas herramientas y todas tiene su campo de aplicación. Una cosa es poner baldosas en la vereda de tu casa y otra es poner los pisos en un complejo de edificios.



			
				cosmefulanito04 dijo:
			
		

> Yo no discuto eso, pero si además el compilador se complicá con un buen código en C, ¿qué puede pasar con uno pésimo?



Si el compilador es pésimo, con bugs, y no tengo acceso a uno bueno o alternativo (porque no lo puedo pagar) -> me cambio de micro (si es que hay opción).
Y si el código que uno escribe es malo, capacitación, porque ninguna herramienta por buena que sea va a poder salvar la situación (garbage in, garbage out como dicen los gringos).

Meta, interesante el framework que mencionás. Es algo que pasar a ser necesario para micros ARM, en la elección de un ARM pasa a pesar mucho más la disponibilidad de herramientas como esa, librerías, frameworks, etc; que para micros más chicos. Porque se manejan cosas más complejas, y se trata de que el tiempo de desarrollo (que pasa a ser el principal costo de desarrollo) no se dispare al infinito.


----------



## Nuyel (Jun 2, 2013)

Claro que C no es tan optimo, pero programar el Cortex-M4F en ensamblador me enredara horrible, si ahora veo el código que hice para que un carrito se estacione solo y ya no se ni como escribí las primeras funciones para controlarlo, son explorar múltiples sensores y la medición de la batería, calcular las correcciones necesarias para el control del motor, los movimientos que debe realizar y saber cuando detenerse, no me enseñan a programar, lo aprendí por cuenta propia así que no me queda de otra más que usar C y las librerías del fabricante por que la configuración misma para controlar cada cosa en este chip es bastante extendida con tantos periféricos y no tengo el tiempo para aprenderlo, el proyecto debe estar listo la próxima semana.


----------



## Meta (Jun 3, 2013)

Nuyel dijo:


> ... y no tengo el tiempo para aprenderlo, el proyecto debe estar listo la próxima semana.




Usa lo más conocido como PIC o AVR y acabas antes.

PD: Vñideos del C# para ARM.
http://channel9.msdn.com/Series/C-Sharp-Fundamentals-Development-for-Absolute-Beginners


----------



## incafox (Jun 6, 2013)

Meta dijo:


> Si, los PIC para jugar. Un argentino que desarrolla bien PCB con 18F4550, dice que no es fiable en el mundo laboral como para venderlo y usarlo en empresas porque se cualga como Windows. Es decir, PIC  no es muy fiable. Por eso usar autómatas o PLC.
> 
> Saludo.



Bueno si, en mi ciudad pusieron unos paneles led grandes hechos con pic , estos se andan malogrando al menos una vez cada 3 semanas , me causa gracia cada vez que el bus me lleva de regreso a casa, siempre veo al menos 1 de los 6 mostrando caracteres extra◄os a lo loco, debe ser el ruido de toda esa gente con los celulares, ondas de radio, etc ...

Obvio que para el campo industrial estan los PLC que son robustos y hechos para trabajar en un ambiente lleno de ruido, tambien la flexibilidad de su aplicacion, pero por ahi vi varios proyectos academicos basados en pic-avr para hacer un plc, incluso algunos aplicaciones industriales basadas en arduino ... , pondre mas tarde los links 

Ahi van : 
http://www.caveo.com.ar/PLC-05.htm   (PLC de "bajo rango" basado en pic)
http://www.pablogindel.com/2012/12/arduino-en-la-industria/ 
https://www.forosdeelectronica.com/f21/manera-efectiva-eliminar-ruido-electrico-videos-32019/


----------



## ByAxel (Jun 6, 2013)

En realidad basta con leer, recuerdo que vi en algún momento algo relacionado con el sector para el cuál se fabrican los PIC y ésta información lo encontré en la misma página de Microchip; en mi opinión los fabricantes si saben lo que hacen y es muy distinto cuando el usuario lo utiliza para trabajos para el cuál no está fabricados (desde éste punto ya empiezan las criticas y/o opiniones sobre el dispositivo).

Los AVR mencionan algo parecido y ya todos sabemos que el hardware tiene algo más de protección a diferencia de los PIC.

Los PLC generalmente están basados en núcleos ARM construidos por 'x' empresas que los dotan de periféricos sencillos o muy robustos de acuerdo al entorno donde va a trabajar.

Todo lo demás echo por estudiantes/aficionados son solo intentos que no siguen generalmente todas las normas/reglas de diseño que hasta para hacer PCB hay normas que muchos desconocen y no basta que se vea bonito u ordenado.


----------



## cosmefulanito04 (Jun 6, 2013)

ByAxel dijo:


> ...
> Los AVR mencionan algo parecido y ya todos sabemos que el hardware tiene algo más de protección a diferencia de los PIC.



Mi experiencia con los AVR con respecto a eso, durante el arranque de un motor (nada potente, el típico de un compresor casero), tenia una placa de prototipo casera con el AVR + una PC conectados en el mismo tomacorriente que el motor, la PC se reinicio, el AVR no se reseteo.

Y encima en esa prueba el AVR no tenía todos los filtos que recomienda el fabricante, solo tenía los capacitores de desacople.


----------



## Meta (Jun 6, 2013)

cosmefulanito04 dijo:


> Mi experiencia con los AVR con respecto a eso, durante el arranque de un motor (nada potente, el típico de un compresor casero), tenia una placa de prototipo casera con el AVR + una PC conectados en el mismo tomacorriente que el motor, la PC se reinicio, el AVR no se reseteo.
> 
> Y encima en esa prueba el AVR no tenía todos los filtos que recomienda el fabricante, solo tenía los capacitores de desacople.



Es bueno saber de las experiencias de los demás. La ventaja de los PIC y vende muchísimos es porque son muy populares.

¿Por qué?

Bajo coste. (AVR son más bajos).
En cada salida de los pines tiene mucho para consumir como 25 mA. Algo que destaca frente a otras marcas que no tienen.
Muy usados entre aficionados.
Mucha documentación, ejemplos y tutoriales, en muchos idiomas y incluyendo es español.
Pocas instrucciones del ASM.
Libros en español. Aún se siguen haciendo, el último con el nuevo PIC16F886. AVR nada de español, en Inglés de sobra.
Se usa mucho en Universidades, otras han quitado Motorola y han puesto PIC. En instituto también.
Y mucho más...

Con el tiempo escogerás otras alternativas o opciones, en mi caso quería pasarme a AVR, como es el mismo perro pero de distinto collar, prefiero el ARM junto con C#, solo falta que sea muy estandar y lo distribuyan mucho por España.

Un saludo.



incafox dijo:


> ...
> Obvio que para el campo industrial estan los PLC que son robustos y  hechos para trabajar en un ambiente lleno de ruido, tambien la  flexibilidad de su aplicacion, pero por ahi vi varios proyectos  academicos basados en pic-avr para hacer un plc, incluso algunos  aplicaciones industriales basadas en arduino ... , pondre mas tarde los links



Hasta el PIC16F84A tiene su especie de PLC bien hecho frente a ruidos.







ByAxel dijo:


> En realidad basta con leer, recuerdo que vi en  algún momento algo relacionado con el sector para el cuál se fabrican  los PIC y ésta información lo encontré en la misma página de Microchip;  ...
> 
> Los PLC generalmente están basados en núcleos ARM construidos por 'x'  empresas que los dotan de periféricos sencillos o muy robustos de  acuerdo al entorno donde va a trabajar.



ARM es ARM,  parece que se lo están tomando en serio, por eso quiero ARM con C#, un  buen microcontrolador, mejor que los PIC en muchos aspectos con gran  diferencia y usa mi lenguaje favorito, C#. En la Web como dije _arriba_ en otros post, hay hasta vídeo de ejemplos.



cosmefulanito04 dijo:


> Mi experiencia con los AVR con respecto a  eso, durante el arranque de un motor (nada potente, el típico de un  compresor casero), tenia una placa de prototipo casera con el AVR + una  PC conectados en el mismo tomacorriente que el motor, la PC se reinicio,  el AVR no se reseteo.
> 
> Y encima en esa prueba el AVR no tenía todos los filtos que recomienda  el fabricante, solo tenía los capacitores de desacople.



Es bueno saber de las experiencias de los demás. La ventaja de los PIC y vende muchísimos es porque son muy populares.

¿Por qué?

Bajo coste. (AVR son más bajos).
En cada salida de los pines tiene mucho para consumir como 25 mA. Algo que destaca frente a otras marcas que no tienen.
Muy usados entre aficionados.
Mucha documentación, ejemplos y tutoriales, en muchos idiomas y incluyendo es español.
Pocas instrucciones del ASM.
Libros en español. Aún se siguen haciendo, el último con el nuevo PIC16F886. AVR nada de español, en Inglés de sobra.
Se usa mucho en Universidades, otras han quitado Motorola y han puesto PIC. En instituto también.
Y mucho más...

Con el tiempo escogerás otras alternativas o opciones, en mi caso quería  pasarme a AVR, como es el mismo perro pero de distinto collar, prefiero  el ARM junto con C#, solo falta que sea muy estandar y lo distribuyan  mucho por España.

Un saludo.


----------



## cosmefulanito04 (Jun 6, 2013)

Meta dijo:


> Es bueno saber de las experiencias de los demás. La ventaja de los PIC y vende muchísimos es porque son muy populares.
> 
> ¿Por qué?
> 
> ...



Igual con los PIC me imagino que el fabricante te debe tirar un montón de consejos para evitar eso mediante filtros, con lo cual estas en lo mismo, siempre darle importancia a los consejos que te dá el fabricante.

No sé experiencia tendrás vos en ese sentido, pero seguro que una vez que encontraste el filtro adecuado el uC no se te restea más.


----------



## Nuyel (Jun 6, 2013)

Yo tambien hice un μPLC con PIC16F819, con él se aprobaron dos materia el semestre pasado , lo diseñe para ser robusto, solo el PIC tiene su propio regulador y el resto usa otras fuentes de voltaje, el PCB está tan lleno que me dio insomnio lograr que todo entrara con las consideraciones de ruteo, en especial por lo de las lecturas análogas, estas pasan a dos LM324, uno que se alimenta directo y un segundo que tiene regulador específicamente al voltaje necesario para dar la salida de 5V aún con las perdidas del A.O., además de resistencias al conectarlo al PIC, solo el puerto B no tiene nada ya que está pensado dejarlo libre para que se le pueda adaptar cosas extras, pero de ahí esta protegido para que si algo se conecta mal o incluso si se programa mal (entradas como salidas) el PIC sea el ultimo en recibir daños (y lo que se dañe sea economico de reemplazar), tambien tiene una generosa capacitancia total de 4.2mf solo en la placa del circuito (aparte la de la fuente de alimentación) y capacitores de tántalo en los reguladores, solo lo diseñe "para que los estudiantes tengan un modelo de bajo costo para realizar practicas acerca de PLC", es bastante robusto y el único motivo de que eligiera ese chip fue por que era el más barato que tenia ADC y era compatible con LDmicro, con suficientes consideraciones de diseño estos bichos de Microchip pueden ser bastante estables, un PLC solo necesita cumplir ciertas características para considerarse como tal, no importa si su microprocesador es un Intel o algo tan simple como un microcontrolador... aunque igual prefiero que este μPLC que hice se siga usando solo para practicas en ambientes no críticos por si acaso (igual no tiene la memoria para hacer mucho )


----------



## Meta (Jun 6, 2013)

Lo que te diga el fabricante es una cosa, en este caso es lo que dice las experiencias de muchos aficionados que he estado siguiendo desde el 2000, en el 2005 empecé con algo y no tenía Internet ni libro, luego compré el libro www.pic16f84a.org y me gustó, luego otro libro del PIC16F886 en asm y en C del CCS. Como si fuera un datasheet en español. Lo que deseo un buen libro en XC8 en el futuro y el XC32, así nos adentramos en PIC de 32 bits, que hacen más cosas. Total, si otras marcas se pusieran de acuerdo para traducir, pues mejor que mejor, por ahora, aunque PIC no sea gran cosa, es la reina en ventas. El que me llama la atención ahora más que AVR son los ARM, son potentísimos, como no hay tanta documentación en español y apoyo como los AVR y PIC al mismo nivel, pues es lo que hay. Por ahora parece que AVR sigue reciendo gracias a Arduino, PIC tiene algo parecido y ARM con lo qu ecomenté ese día.

http://blog.bricogeek.com/noticias/electronica/microsoft-gadgeteer/

Saludo.


----------



## R-Mario (Jun 6, 2013)

Meta como que siento que defiendes a capa y espada el uso de los PIC, yo en lo personal no discuito sobre "Cual es mejor" Al final uno se tiene que adaptar con lo que te den para trabajar. Sobre cual es mas poderoso hummm para que discutir sobre eso si muchos terminan haciendo cosas que se pueden hacer con otro mucho mas sencillo jejej cuantas veces he visto "Proyecto de antena motorizda" y zasss le clavan un PIC16F877 cuando bien pudo haber funcionado el 16F84 o encarrerados hasta un 12F508. 

Asi pues el dia que tenga la "necesidad" de algo mas poderozo "cosa que veo dificil a no ser que sea por trabajo" entonces buscare algo mas grande que mi pedorro attiny88.

SObre que lenguaje usar pasa algo similar. Se usa el que mas te acomode a uno y ya. Yo conosco un señor que hacer programas en pic a la medida para venderlos a fabricas pequeñas y usa flowcode. Igual no dudo que alla quien crecio con el ASM y de ahi no salga. O quienes como yo siguen los pasos del C y se acabo hasta ahi llegue. SI me pongo a querer aprender tantos otros lenguajes al final no voy acabar entendiendo ni uno


----------



## robertosebastian92 (Jun 7, 2013)

Hoy me entere de que existe un aparato llamado fez panda 2 y tiene todos los chiches trabaja a 40 Megas!!! a la miercoles...........................................................

Retardos de nano Segundos NOOOO!!!! Tomatela

PIC como te amo <3


----------



## Meta (Jun 7, 2013)

Ajna dijo:


> Meta como que siento que defiendes a capa y espada el uso de los PIC,



Tampoco es eso. Estoy con el ASM, claro que si, aunque cansándome, ya que me pego media vida con ella, ahora estoy observando el C para PIC practicando primero con el CCS, más adelante me meteré con el XC8. En cuanto a los PIC, no son de lo mejor, solo la gran documentación que hay sobre ello.

Prefiero algo que se me hace atractivo,. un ARM programado bajo Visual Studio .net y C#. Si es por elegir, claro.

Total, escojas el que escojas, en el fondo hará lo mismo con maor o menos rendimiento, como apagar y encender Led para practicar.

Saludo.


----------



## cristian_elect (Jun 7, 2013)

Que estamos en sistemas embebidos o no, uso de Visual Studio.net para micro controlador que malos son.
En esto el control del tiempo es preciso así con C y ASM. Si no entienden estudien de nuevo sistemas de control automático. 

Otro es el tema de los ARM9, Cortex A. Ahí se maneja con un sistema operativo complejo.
Y de los Cortex M4 se maneja ASM sobre todo en el DSP y coma flotante si no para que sirven.


----------



## Meta (Jun 7, 2013)

Visual Studio .net comparado con C y ASM por supuesto, ajjajajjaja. Eso si, .net es muchísimo más cómodo que el C y ASM. Ahora, en el futuro deben mejorar.


----------



## R-Mario (Jun 7, 2013)

robertosebastian92 dijo:


> Hoy me entere de que existe un aparato llamado fez panda 2 y tiene todos los chiches trabaja a 40 Megas!!! a la miercoles...........................................................
> 
> Retardos de nano Segundos NOOOO!!!! Tomatela
> 
> PIC como te amo <3


 

 Enamorado de PICs, cuando conoces otras cosas vas cambiando, cuando inicie con el viejo 16f84 tambien decia "Es lo maximo " despues conoci AVR y dije "Es lo maximo " luego conoci los MSP430 que podian funcionar con una celda solar chiquita y decia "Es lo maximo ". Luego toque unos micros de renesas y paso lo mismo, algo me emociono

Luego de tantas emociones quede como la imagen de abajo,  por eso ahora ya nada me emociona .


Por cierto no es que Net sea mas facil o mas util es solo que tu te adaptaste bien a el. Es como decir que es mejor borland o visual. Y ahi iniciaba otra guerra


----------



## Meta (Jun 7, 2013)

Ajna dijo:


> Es como decir que es mejor borland o visual. Y ahi iniciaba otra guerra



En lo Borland y Visual he trabajado en los dos. Hubo guerra, al final gana oo pierde depende de mil factores, en mi caso el más que me gusta, ajjajjaja.

En cuanto a  los microcontroladores, mejor usar el que dispongas muy fácil de encontrar. Total, ña mayoría lo usamos como aficonados.


----------



## Meta (Feb 2, 2014)

Holas:

A parte de usar AVR o PIC, ¿alguien de aquí programan ARM?

Si lo han usado, ¿cuál son sus experiencias?

Saludo.


----------



## cosmefulanito04 (Feb 2, 2014)

Ya que levantaste el hilo.

Una duda que surgió de este proyecto, ¿es posible que los PIC18 solo tengan un registro de uso general (que lo llaman registro de trabajo WREG) y necesiten trabajar todo el tiempo sobre la RAM?

Con *seaarg* estamos tratando de traducir esta rutina en assembler de un AVR:


```
.global generar_senial
    #define DATA_REG        r31
    #define ACUMULADOR_INF    r24
    #define ACUMULADOR_SUP    r25
    #define X_INF            r26
    #define PASO_BYTE_1        r19
    #define PASO_BYTE_2        r20
    #define PASO_BYTE_3        r22
    #define PORT_SALIDA        PORTC


    generar_senial:            
        movw    X_INF,r24        ;En r27:r26 => PUNTERO "X" => Puntero de la senial                                    
        mov        PASO_BYTE_1,r18    ;En r18 se encuentra el paso más bajo
        clr        DATA_REG        ;Lo uso para almacenar el dato momentaneo almacenado en el vector de la senial
        clr        ACUMULADOR_INF    ;Lo uso de acumulador del "Paso" byte inferior
        clr        ACUMULADOR_SUP    ;Lo uso de acumulador del "Paso" byte superior
        clr        FLAG_INT_REG    ;Limpio el flag de salida!
                                ;Valor del "Paso" de muestreo => en funcion de "f" y los clk's 
    
        loop_senial:
            add        ACUMULADOR_INF,PASO_BYTE_1            ;Sumo el 1er byte del "Paso"                                                                        => 1 Clk    +
            adc        ACUMULADOR_SUP,PASO_BYTE_2            ;Sumo el 2do byte del "Paso" teniendo en cuenta el carry producido por la suma del 1er acumulador    => 1 Clk    +
            adc        X_INF,PASO_BYTE_3                     ;Sumo el 3er byte del "Paso" teniendo en cuenta el carry producido por la suma del 2do acumulador    => 1 Clk    +
            ld         DATA_REG,X                            ;Obtengo el dato almacenado en RAM mediante el puntero "X" y lo llevo al registro 20                => 2 Clk    +    
            out        _SFR_IO_ADDR(PORT_SALIDA),DATA_REG    ;Modifico el valor del PuertoC en función del dato leído previamente                                => 1 Clk    +
            cpi        FLAG_INT_REG,1                        ;Usando el r18 como flag de interrupcion externa 0, comparo dicho registro con "1"                    => 1 Clk    +
            brne       loop_senial                           ;Si no es igual Z=0 (Flag Zero) => salta                                                            => 2 Clk    
                                                             ;                                                                                                    ------------                                                
            ret
```

Y lo que yo traduje en PIC fue esto (todavía le faltaba el salto condicional):


```
ACUMULADOR_INF	EQU	10h 
ACUMULADOR_SUP 	EQU	11h
PASO_BYTE_1 	EQU	12h
PASO_BYTE_2 	EQU	13h
PASO_BYTE_3 	EQU	14h
DIR_BUFF_ALTA 	EQU	15h   
PORT_SALIDA     EQU   	PORTB

funcion_assembler:
  CLRF 		FSR0L			;Limpio la parte baja del puntero que apuntará al buffer de datos
  MOVF		DIR_BUFF_ALTA,W		;Copio a WREG la parte alta del puntero donde apuntará al buffer de datos		
  MOVWF		FSR0H			;Paso de WREG a FSR0H la parte alta del puntero donde apuntará al buffer de datos		
  CLRF 		ACUMULADOR_INF
  CLRF 		ACUMULADOR_SUP
  
  loop_principal:
    MOVF 		PASO_BYTE_1,W		;Copio el Paso byte 1 en WREG
    ADDWF 	ACUMULADOR_INF,F        ;Sumo el Paso byte 1 en el Acumulador INF
    MOVF 		PASO_BYTE_2,W		;Copio el Paso byte 2 en WREG - El carry no se toca!	
    ADDWFC	ACUMULADOR_SUP,F        ;Sumo el Paso byte 2 en el Acumulador SUP teniendo en cuenta el carry	 		
    MOVF		PASO_BYTE_3,W		;Copio el Paso byte 3 en WREG - El carry no se toca!	
    ADDWFC	FSR0L,F        		;Sumo la parte baja del puntero con el Paso byte 3 del buffer y lo almaceno en FSR0L
    MOVF		INDF0,W			;Copia el contenido del puntero del Buffer en WREG
    MOVF		PORT_SALIDA,F		;Manda al puerto el contenido del puntero del Buffer
    GOTO		loop_principal		;Empieza el ciclo de nuevo
  
    ;8 ciclos + 2 ciclos del GOTO = 10 ciclos.
```

La diferencia es que AVR requiere de 9clks del oscilador para completar un loop y ese PIC requiere de 40 clks (al parecer c/ciclo son 4 clks del oscilador). 

Si bien el PIC lo compensa trabajando a 48MHz vs 16MHz del AVR, el AVR sigue siendo más rápido y sin necesidad de tener un clock elevado en el PCB (aunque el PIC "tampoco" lo tendría ya que ese clk sería interno).

*Edito:*

Hablamos de un Atmega16 vs PIC18F2550, que si bien tienen periféricos distintos (el PIC sobresale por el USB), la comparativa apunta al Core más que nada.


----------



## TRILO-BYTE (Feb 2, 2014)

yo tengo una pregunta por que los americanos usan mucho los AVR y en algunas empresas es muy importante que sepas AVR si son aplicaciones de solo mover un RELE y unos leds

y los pic son famosos en comunidades de habla hispana 
estoy consiente de que los AVR son mas poderosos por su set de intrucciones en el reloj 

¿que hiso que ganaran los PIC con los AVR en el habla hispana?
¿la documentacion?
¿que son aveces mas baratos?
¿el soporte tecnico?

ahora yo he manejado freescale ,me dejaron un sabor amargo en la boca pues hay muy poca documentacion tanto hispana como inglesa , aparte de que el code warrior tiene muchas funciones bloqueadas en vercion estudiantil


----------



## Meta (Feb 2, 2014)

Una de las ventajas que tiene PIC es que a pesar usar memoria segmentadas o bancos de memoria, es uno de los que proporciona 25 mA a la salida de cada pin, corriente alta comprada con las demás marcas, otro dato bueno, que su ensamblador es más cómodo y puede usar los tiempos muy precisos escrito en asm que en AVR o otras marcas son más engorrosos.

De ahí el uso de usar mucho los PIC.

Ahh, famosos en el habla hispana no, es a escala mundial.

Uno de los motivos también es porque hay mucha información y ejemplos en su Web y muchos idiomas, libros en español, en aVR no lo hay, si lo hay si usas Arduino con AVR. En las universidades también se usan mucho los PIC, y Motorola o FreeScale.

¿Por qué los PIC con todas las marcas que hay?

*Microcontroladores*



ARM
Atmel
Cypress
Digi
Diodes
Ember
Energy Micro
Fairchildsemi
FreeScale
FTDIchip
Fujitsu
Hitachi
Holtek
IDT
Infineon
Intersil
JMicron
LSI
Maxim-IC
Micrel
Microchip
Microsemi
National
NEC
Nuvoton
Oki
On Semi
Parallax
Philips
Picaxe
Rabbit
Renesas
Rohm
Samsung
Semtech
Silabs
STMicroelectronics
TI
Toshiba
Winbond USA
Xmos

Saludo.


----------



## cosmefulanito04 (Feb 3, 2014)

Meta dijo:


> Una de las ventajas que tiene PIC es que a pesar usar memoria segmentadas o bancos de memoria, es uno de los que proporciona 25 mA a la salida de cada pin, corriente alta comprada con las demás marcas



Yo diría que la mayoría de los uC modernos permiten suministrar altas corrientes, solo uC viejos como el 89S52 suele ser un problema eso. Por ej. un Atmega 16 te permite 40mA por pin, sin exceder los 200mA en total.



Meta dijo:


> otro dato bueno, que su ensamblador es más cómodo y puede usar los tiempos muy precisos escrito en asm que en AVR o otras marcas son más engorrosos.



Por lo expuesto arriba, diría que el assembler de PIC es muchísimo más engorroso, todo el tiempo trabajando sobre la RAM.

Cada vez estoy más convencido que PIC es fuerte en el mercado, por el soporte post-venta que hace a diferencia de otros fabricantes, ya que te dá en mano muchísimo código para que el usuario menos experimentado tenga una curva de aprendizaje más suave.


----------



## locodelafonola (Feb 3, 2014)

hola gente... bueno yo soy nuevo en el tema....pero estoy entrando en AVR......por la cuestion de DMX...y viendo los equipos comerciales son todos con atmega (o microprosesadores parecidos ) ...nada con pic...y no son todos de origen americano...hay muchisinos  alemanes...rusos..y algunos de tailandia..pero pic nada de nada..la razon debe ser otra ( no se cual sea )....todos lo esquemas que encuentro en la red y desarrollos.no cumplen con las funciones de uso...o sea los desarrollos con pic no se asemejan al uso ni forma de ningun equipo...y eso en DMX...esta estandarizado....no por norma,,sino por uso cotidiano...no se porque algunos se empeñan en diseñar con pic algo que no tiene uso practico en DMX


----------



## Meta (Feb 3, 2014)

cosmefulanito04 dijo:


> Yo diría que la mayoría de los uC modernos permiten suministrar altas corrientes, solo uC viejos como el 89S52 suele ser un problema eso. Por ej. un Atmega 16 te permite 40mA por pin, sin exceder los 200mA en total.
> 
> 
> 
> ...



*El manejo de banco de memoria no es tan complicado, si es muy cansino leer todo el día los registros de la hoja de datos, por eso es bueno tener imprimido en papel esa parte para no volverte loco.

Lo bueno del AVR que tiene memoria unificada, es decir, en un mismo segmento de una pasada, lástima que no se use mucho su asm, es muy engorroso y hacer lo mismo que los PIC, requiere más tiempo y muchas más intrucciones.

Saludo.*


----------



## seaarg (Feb 3, 2014)

cosmefulanito04 dijo:


> Yo diría que la mayoría de los uC modernos permiten suministrar altas corrientes, solo uC viejos como el 89S52 suele ser un problema eso. Por ej. un Atmega 16 te permite 40mA por pin, sin exceder los 200mA en total.
> 
> 
> 
> ...



Lo que sucedio en mi caso es que la informacion para iniciarme en microcontroladores (soy programador de PC de muuuuuucho tiempo) estaba disponible en PIC. Entonces, una vez que haces todo lo que queres con PIC, cuesta adoptar otra plataforma.

Sin embargo, las ventajas de AVR sobre PIC me parece que son importantes cuando queres hacer algo de alto rendimiento ej: me hice un osciloscopio con el 18F2550 y hubiera simplificado bastante el hardware si hubiera conocido cosas que ahora voy conociendo de AVR. (gracias cosme!)

Todo tiene su lado oscuro. Odiaria tener un Atmega16 y tener que poner un conversor serial - USB y encima no disponer de HID.


----------



## cosmefulanito04 (Feb 3, 2014)

Meta dijo:


> No, no lo es, engorroso lo que dices es todo el día cambiando de banco,



No es eso, digo engorroso porque por c/operación con dos datos, una la tenés que trabajar con el WREG y la otra con la RAM.

Ejemplo, para sumar dos número:


```
MOVF dato,W
ADDWF resultado,F
```

En cambio en avr, simplemente te manejas con cualquiera de los 32 registros generales que posee:


```
add registro1,registro2
```

Siempre es más rápido trabajar con registros dentro de la ALU que con RAM. Por otro lado c/ciclo del PIC representan 4clks del oscilador, dándote una diferencia de 8clk (PIC) vs 1clk. Incluso con un oscilador de 48MHz el PIC se queda atrás.



Meta dijo:


> lo que quiero decir que es más fácil es las instrucciones del ensamblador del PIC que es mucho más fácil, sencillo de hacer aplicaciones comparado con otras marcas y está demostrado mundialmente.



Primero, hoy en día programar en assembler es de cavernícola, solo útil en casos donde se requiere máxima optimización.

Segundo ¿en qué resulta más sencillo? ¿programaste en AVR? compará las instrucciones tanto de PIC como de AVR y vas a ver que no hay mucha diferencia, la diferencia que destaco son los registros de uso general que tiene el AVR y PIC no (32 vs 1). Por otro lado ambos son RISC, no hay demasiadas instrucciones que aprenderse.



Meta dijo:


> *Lo bueno del AVR que tiene memoria unificada, es decir, en un mismo segmento de una pasada, lástima que no se use mucho su asm, es muy engorroso y hacer lo mismo que los PIC, requiere más tiempo y muchas más intrucciones.
> 
> Saludo.*



¿En base a que decís eso?

Te aseguro que todo lo contrario, yo justamente no soy muy amigo del assembler, si puedo evitarlo lo hago, pero si una cosa debo decir de los AVR es que su assembler es tan sencillo que no requiere mucho tiempo para entenderlo, más si se viene de arquitecturas mucho más complejas como la x86 (ahí si agarrate con las instrucciones que tiene, un lindo CISC tenés ahí).



			
				seaarg dijo:
			
		

> Todo tiene su lado oscuro. Odiaria tener un Atmega16 y tener que poner un conversor serial - USB y encima no disponer de HID.



Ese es el plus que destacó de PIC y seguramente debe tener muchísima información del propio fabricante para sacar andando el puerto sin demasiadas complicaciones.


----------



## Meta (Feb 3, 2014)

Buenas:

El asm no es de cavernícolas, . Lo que tengo que leer, jajajajajajjjajaj.

El asm se enseñan en institutos, universidades y hasta autodidacta con el fin de entender paso a paso la arquitetura interna de una tecnología con un microcontrolador PIC. ASM es más bien para trabajar cosas pequeñas, la mayoría que programas en C bajo 16F no caben. El lenguaje como C está mejor por su tiempo de desarrollo, para esto está, más potente y cómodo, te olvida de los bancos de memoria y otras cosas.

El tema de tener una línea para sumar arriba como el ejemplo que usaste, siento decirte que se puede hacer igual como dices en los PIC de gama alta 18F, los de 16F no se puede.

He estado trasteando el asm de PIC y asm de AVR, la mayoría de las cosas se usan más instrucciones en AVR que los PIC. EN 16F se usan más porque solo maneja 14 bits, los de gama alta 16 bits, ya pueden hacer las cosas directas.

Eso que hago de PIC de 8 bits, si comparas los PIC o dsPIC de 16 bits, rompen a AVR en el mismo terreno. Total, si vas a coger un buen microcontrolador, el mejor mirado son la firma ARM.

Una pena que ARM no esté tan espandido para los hobbistas como los PIC y AVR.

Antes que se me olvide, asm para hacer cosas pequeñas y C para cosas grandes. Hay personas que se empeñan en complicarse demasiado con el asm para cosas muy grandes, te pegas media vida,ajjaajjajajaja. Eso si, el rendimiento es impresionante.


----------



## locodelafonola (Feb 3, 2014)

la verdad que con lo que plantie...no me dieron respueta.....y la realidad muestra que con pic NADA....con AVR muchisimo  ¿¿¿¿¿ porque ?????


----------



## cosmefulanito04 (Feb 3, 2014)

Meta dijo:


> Buenas:
> 
> El asm no es de cavernícolas, . Lo que tengo que leer, jajajajajajjjajaj.



La verdad que si, es de cavernícolas usarlo sin justificación. 

Hoy en día no tiene ningún sentido su uso salvo en caso de necesaria optimización, porque incluso con los uC modernos se pueden acceder a una buena memoria Flash/SRAM a bajo costo.



Meta dijo:


> El asm se enseñan en institutos, universidades y hasta autodidacta con el fin de entender paso a paso la arquitetura interna de una tecnología con un microcontrolador PIC.



Pero amigo, una cosa es enseñar como funciona una arquitectura y otra lo que resulta más práctico.



Meta dijo:


> El tema de tener una línea para sumar arriba como el ejemplo que usaste, siento decirte que se puede hacer igual como dices en los PIC de gama alta 18F, los de 16F no se puede.



Pero mirá que los AVR que mencioné, Atmega 16 incluso el 8, no son gamas altas  .



Meta dijo:


> He estado trasteando el asm de PIC y asm de AVR, la mayoría de las cosas se usan más instrucciones en AVR que los PIC. EN 16F se usan más porque solo maneja 14 bits, los de gama alta 16 bits, ya pueden hacer las cosas directas.



Insisto, los registros generales te marcan algo muy importante de la arquitectura, es poco práctico tener solo un registro de uso general en la ALU.



Meta dijo:


> Eso que hago de PIC de 8 bits, si comparas los PIC o dsPIC de 16 bits, rompen a AVR en el mismo terreno.



No tiene mucho sentido comparar naranjas con manzanas, de última compará PIC32 vs AVR32, pero si me mudo a 32 bits, voy directo a ARM.



Meta dijo:


> Una pena que ARM no esté tan espandido para los hobbistas como los PIC y AVR.



Que no encuentres gran información en español no significa que no haya, eso si, insisto que no vale la pena programar estos uC en assembler, más si justamente fueron pensados para usarlos con C.

Mucha de la información la podés encontrar en las hojas de datos (incluyendo notas de aplicación) y en libros sobre ARM.



Meta dijo:


> Antes que se me olvide, asm para hacer cosas pequeñas y C para cosas grandes.



Ni para encender un LED optaría assembler, lejos C es la mejor opción, assembler solo para optimización necesaria donde los clks cuentan y mucho, nada más.



			
				locodelafonola dijo:
			
		

> la verdad que con lo que plantie...no me dieron respueta.....y la realidad muestra que con pic NADA....con AVR muchisimo ¿¿¿¿¿ porque ?????



Cosas con PIC vi, pero es cierto que ese tipo de uC apunta más a fabricantes chicos. 

Como mencioné en este mismo hilo, AVR es muy robusto, conectando en un mismo toma una PC un motorcito de aire comprimido y una placa con un AVR en PCB experimental, cuando arrancó el motor la PC se reinició, el AVR ni se enteró y ni siquiera tenía los filtros que recomendaba el fabricante.

Eso independientemente del Core, te dice algo sobre esa familia de uC.


----------



## Meta (Feb 3, 2014)

Tengo claro que ARM lo programaré en C, ajjaajaja. Me cansé un poco del asm ya que me pego media vida y en C no tanto, a parte que C es más facil exportar códigos para otros mircocontroladores.

En cuanto a PIC y AVR, lo veo poco flojo comparado con los ARM. Así de claro opino.


----------



## seaarg (Feb 3, 2014)

Meta dijo:


> El tema de tener una línea para sumar arriba como el ejemplo que usaste, siento decirte que se puede hacer igual como dices en los PIC de gama alta 18F, los de 16F no se puede.



Meta, puede ser que te estes confundiendo con MOVFF? que es solo un opcode que resume 2 operaciones en 1 pero igual consume 2 ciclos.

Si no es asi, como sumas 2 numeros en una sola instruccion en 18F? Si existe me vendria barbaro pero no lo vi en el datasheet.


----------



## Meta (Feb 3, 2014)

Me refiero ese. Y si, ocupa 2 ciclos máquina a cambio de una línea.

Fentro de poco  me meteré a fondo con Arduino en C, hay dos libros en español para aprender que dicen ser los mejores al menos por ahora. En Inglés son otros.












Saludo.


----------



## locodelafonola (Feb 3, 2014)

cosmefulanito04 dijo:


> Cosas con PIC vi, pero es cierto que ese tipo de uC apunta más a fabricantes chicos.
> Como mencioné en este mismo hilo, AVR es muy robusto, conectando en un mismo toma una PC un motorcito de aire comprimido y una placa con un AVR en PCB experimental, cuando arrancó el motor la PC se reinició, el AVR ni se enteró y ni siquiera tenía los filtros que recomendaba el fabricante.
> Eso independientemente del Core, te dice algo sobre esa familia de uC.


 a eso hiba amigo..pero es indudable..que hay algo alo que se refirio el amigo meta..y es que en español..hay muy pocos manuales...y como algunos saben yo tengo amigos rusos y polacos ( por internet ) todos estudiantes de ingieneria electronica en polonia...y ellos me pasaron varios manuales de AVR...pero en ruso..y al traducirlos entiendo muy poco o casi nada.....y si eso fuera
un factor muy importante..porque se tiene los datos tecnicos del componete..las herramientas de programacion..pero no se tiene un manual de uso...si ya se lo que me van a decir.... "aca en el foro hay un manual de uso del AVR" ... chicos si ... en ese manual esta muy bueno (LO LEEI ) pero para alguien que no maneja lenguajes..las sentencia..los simbolos y espacios de cada compilacion ... es chino basico.....¡¡¡¡ y para colmo es un dialecto !!!!!! asi no aprendo nada 
recien... hace unos segundos..... acabo de recibir unas pantallas mini lcd... asi que voy a crear un post para programar un atmega...pero quiero aprender varias cosas y tratar de ver si se puede mezclar algunas cosas de los .HEX que tengo y como tal funcionan pero todo por separado.... led por un lado... motores pap por el otro... servos por otros lados..matrix en otro ...o sea nada combinado...


----------



## cosmefulanito04 (Feb 3, 2014)

locodelafonola dijo:


> a eso hiba amigo..pero es indudable..que hay algo alo que se refirio el amigo meta..y es que en español..hay muy pocos manuales...y como algunos saben yo tengo amigos rusos y polacos ( por internet ) todos estudiantes de ingieneria electronica en polonia...y ellos me pasaron varios manuales de AVR...pero en ruso..y al traducirlos entiendo muy poco o casi nada.....



En inglés hay mucha información, tenés foros exclusivos como AVR Freaks, etc.

A ver, yo tampoco es que sea un tipo que se sepa al 100% como funciona un uC en particular, para mí creo que no es la forma de aprender o mejor dicho no es práctico especializarte en una familia determinada, ya que el día de mañana no solo te podés quedar sin fabricante, sino que incluso la tecnología c/vez avanza a pasos más grandes que llega un punto que si no actualizaste de familia te quedás en el tiempo.



locodelafonola dijo:


> un factor muy importante..porque se tiene los datos tecnicos del componete..las herramientas de programacion..pero no se tiene un manual de uso...si ya se lo que me van a decir.... "aca en el foro hay un manual de uso del AVR" ... chicos si ... en ese manual esta muy bueno (LO LEEI ) pero para alguien que no maneja lenguajes..las sentencia..los simbolos y espacios de cada compilacion ... es chino basico.....¡¡¡¡ y para colmo es un dialecto !!!!!! asi no aprendo nada
> recien... hace unos segundos......



Primero decidí el lenguaje que vas a utilizar, hoy en día el mejor lenguaje para aprender es C y tiene la gran ventaja que resulta prácticamente igual en todas las familias de uC, es decir es muchísimo más fácil trasladar un proyecto hecho en AVR a uno en PIC y viceversa.  

¿Qué cambia?

Los registros que necesitás configurar en los periféricos del uC al que te trasladás, nada imposible si tu programación es ordenada.

¿Necesitas aprender assembler? 

Si, si bien como mencioné lo ideal es tocarlo lo mínimo posible, hay veces que no hay más remedio y tenés que usarlo, además te sirve entender los pasos que debe realizar el uC en cada operación que hacés y eso también te puede servir para optimizar tú código en C.

Volviendo a C, si nunca programaste en ese lenguaje, mi consejo es que aprendas hacerlo desde una PC, ahí tenés la ventaja de tener un monitor (mostrar resultado), un teclado (ingresar datos), etc que un uC al principio cuesta tener. Linux es una excelente opción que te dá todas las herramienta que necesitas, incluso para que te dés una idea, AVR usa gcc, que es el mismo compilador de linux, obviamente adaptado para la familia AVR.

Una vez que aprendés bien C, simplemente es aplicarlo al uC, es todo igual, solo cambian las funciones que llamás y aparecen los registros propios del uC. En este paso es importante aprender, independientemente del uC, a leer bien su hoja de datos, las notas de aplicación y googlear mucho para ver ejemplos de código.



locodelafonola dijo:


> acabo de recibir unas pantallas mini lcd... asi que voy a crear un post para programar un atmega...pero quiero aprender varias cosas y tratar de ver si se puede mezclar algunas cosas de los .HEX que tengo y como tal funcionan pero todo por separado.... led por un lado... motores pap por el otro... servos por otros lados..matrix en otro ...o sea nada combinado...



Cualquier cosa preguntá en el foro que vamos ayudarte.

Yo a medida que fuí usando uC, fui desarrollando mis propias librerías y por ej. uso las mismas librerías para un LCD 2x16 en un AVR, 8051 o ARM, porque resulta muy sencillo adaptarlo con C y estoy bien al tanto que cosas tocan esas librerías y que no (eso resulta muy importante).



			
				Meta dijo:
			
		

> Me refiero ese. Y si, ocupa 2 ciclos máquina a cambio de una línea.



Ahhh pillín, estás en la misma .


----------



## Meta (Feb 3, 2014)

Hola:

Otra ventaja del ASM, es que si no usas compiladores no oficiales, como el CCS, hay algunos PIC que lo actualizan en un año, es decir, no puedes hacer cambios de un icerto registro en un banco de memoria para cambiar alguna función.

¿Qué hacer?

Añadirle una etiqueta dentro de C para usar ASM dentro de ella, así cambiarás algunas funciones específicas y sin rechistar. Mientras pasa un año y CCS lo arreglan. Lo comento porque ha pasado mucho.

El tema de AVR usaré Arduino. Aprenderé C para PIC a fondo en el futuro y probaré ARM que tanto dicen que es muy bueno.

Usar PIC o AVR habiendo otras marcas, pues...

hoy en día más que gustos si se pregunta a uno mismo qué microcontrolador es mejor. Pues ni uno ni otro, solo el que veas necesitado o el que te haga falta realmente.

Salu2.


----------



## cosmefulanito04 (Feb 3, 2014)

Meta dijo:


> Hola:
> 
> Otra ventaja del ASM, es que si no usas compiladores no oficiales, como el CCS, hay algunos PIC que lo actualizan en un año, es decir, no puedes hacer cambios de un icerto registro en un banco de memoria para cambiar alguna función.
> 
> ...



Solo en PIC pasan esas cosas  .



Meta dijo:


> El tema de AVR usaré Arduino. Aprenderé C para PIC a fondo en el futuro y probaré ARM que tanto dicen que es muy bueno.



Agarrá un AVR y no pierdas el tiempo con Arduino, no es más que un AVR disfrazado con mucha herramientas propias.



Meta dijo:


> Usar PIC o AVR habiendo otras marcas, pues...



Te recomiendo 8051, es una excelente arquitectura, vieja, pero robusta. ¿La marca? la que más te guste, Atmel, Analog Device, etc



Meta dijo:


> hoy en día más que gustos si se pregunta a uno mismo qué microcontrolador es mejor. Pues ni uno ni otro, solo el que veas necesitado o el que te haga falta realmente.



Comparto, usar un ARM para proyectos básicos que no lo requieran no vale la pena, es como matar una cucaracha con una escopeta, perooo va a llegar un punto en que ese ARM tenga un costo tan bajo que da igual si uC 8bit o no.


----------



## Meta (Feb 3, 2014)

locodelafonola dijo:


> la verdad que con lo que plantie...no me dieron respueta.....y la realidad muestra que con pic NADA....con AVR muchisimo  ¿¿¿¿¿ porque ?????



Te doy una respuesta.

http://www.sindominio.net/ayuda/preguntas-inteligentes.html

Un saludo.


----------



## locodelafonola (Feb 3, 2014)

michisimas gracias : cosmefulanito04 y Meta.... .....  de antemano..es un placer.... y muy educativo e intructivo estar en este foro con ustedes  ..... bueno  lo explicado por cosmefulanito04 para mi es magistral y me esta orientando muchisimo.... todo lo mio esta orientado a la parte de las luces...y como dije.... soy un novato en esto..... pero mi primer comienzo con microprosesadore fue con pic...(tuve que construir programador y aprender a usar el winpic (18F2550 )..pero de programar nada cargue el .hex  y de atmega  fabrique el si-prog..y  apendi  amanejar el ponyprog (o el menos eso creo ) y a cargar el .HEX en el atmega8515-16pu..y la razon que me inclino por los AVR.es que tengo muchisimos esquemas..hex.ams.y ejemplos de C.... ya probe algunosy funcionan de maravilla..en cuanto aquedar desactualizado lo se.... ¡¡¡¡¡¡  pero  mi gente !!!!! soy un tipo de 51 años..que lo que quiere es entretener su cabeza haciendo cosas...las luces me encantan y los laser tambien.....pero lo que quiero hacerlos bien.... y aprender como..... esa es la razon.....y no otra...y para un perito mercantil... QUE NUNCA ESTUDIO ELECTRONICA.... creo que no me asusta el desafio ...quiero que lo que logre.... se vea.... y se pueda compartir con los amigos del foro... juan PD:si es con PIC o AVR ....eso es lo de menos .... el asunto es que se pueda construir y sea manejable....


----------



## Nuyel (Feb 3, 2014)

cosmefulanito04 dijo:


> Comparto, usar un ARM para proyectos básicos que no lo requieran no vale la pena, es como matar una cucaracha con una escopeta, perooo va a llegar un punto en que ese ARM tenga un costo tan bajo que da igual si uC 8bit o no.



Eso me pasa a mi, aquí solo venden PIC y aparte de que a un precio bastante elevado no me agrada por que solo son las gamas bajas, para encender LEDs o si el cliente lo demanda los puedo usar, pero para otras tareas prefiero usar los MSP430, me es más fácil programar ese chip, el asunto es que aquí no los venden y si tengo que importarlos... un MSP430G2553IRHB32R  cuesta 2.93 y un MKE02Z64VLC2 (Freescale Cortex-M0+ con mismo número de GPIO) 2.69  por cosas como esas me pongo a pensar, por ahora tengo mi FRDM-KL25Z para probar los chips Cortex-M0+ de Freescale


----------



## Meta (Feb 3, 2014)

@cosmefulanito04

Arduino no es perder el tiempo como piensas, aunque tengas verdades de ciertas cosas, no está tan limitado como crees y está bien. Si pierdo el tiemo en AVR desde 0 porque PIC ya no quiero estar al menos mucho tiempo, para ello voy a microcontroladores m´sa potentes como ARM.


----------



## TRILO-BYTE (Feb 4, 2014)

concuerdo don cosme el arduino es solo un AVR travestido

es que cuando estudiaba muchos se indignaban que usaba el PIC por que les gustaban los AVR 
mi maestro no le gustaban ninguno de los 2 el preferia los freescale

y los que no daban una en programacion deplano usaban el descarado arduino ami la verdad me daria verguenza decir que uso arduino

el CCS es casi casi usar arduino tambien se burlaban de mi en el trabajo por usar CCS y me rehabilite usando el C18 

pero no entiendo por que tanto afan con esos 3 micros en particular
si la diferencia ni es notable usando C

en ASM ni loco para un proyecto ni prendiendo un led, solo lo uso como pasatiempo en la construccion de una maquina Z80


----------



## Meta (Feb 4, 2014)

Hola:

Si te llevan por los pensamientos de los demás, en este caso de burla, no aprenderás a ver todo por ti mismo, te quedarás limitado a juicio de los demás. No solo en microcontroladores, sino en todo.

Arduino está bien para hacer coss rápidas y para empezar. 

AVR en C o PIC en C, solo em micro, te darás cuanta que son muy simples y limitados comparado con ARM hablando claro. 

Nunca he visto reírse de nadie por escoger una opción contar de aprender algo.

Cada uno con lo que má le atrae. En cuanto a ASM, lo suelo usar más bien para hacer decodificadores o codificadores mediante tablas de la verdad, que es muy fácil. Total, muchos PIC16F no se propgraman en C porque no cabe, si en asm.

ASM es un lenguaje desafiante y si quieres para vacilar encendiendo luces, jajaaja. Hay más ejemplos en asm que en C desde hace años. Ahora C sube mucho.

Cosa grandes y serias, C sin duda.

Escoger el más que te guste.


----------



## Nuyel (Feb 4, 2014)

No se de que se quejan de Arduino, solo es una tarjeta preensamblada como varias, te ahorra el hardware básico y deja los pines accesibles, de la forma de programación, pues hasta donde se Arduino usa GCC, la única cosa extra es que tienes las librerías como cualquier otro entorno, pero eso no significa que no puedas usar el acceso directo a registros y programar como tu deseas, ¿quieres más control? usa un programador y conectalo al header ISP, puedes ir aprendiendo con las funciones integradas e irte pasando al acceso a registros a tu propio ritmo.

Ahora hay ARM en Arduino y otros compatibles con el lenguaje como las tarjetas Maple de leaflabs o la LaunchPad Tiva C de Texas instruments, y tambien la plataforma Freedom de Freescale posee el mismo factor de forma compatible con arduino, estas dos ultimas opciones incorporan un debuger/programer así tienes más control al chip usando el Code Composer Studio o Code Warrior entre otros compiladores para ARM como Keil, GCC, Mentor, IAR.

No vas a hacer un proyecto final con una placa Arduino, pero sí para desarrollarlo. No es para quejarse tampoco de usar un compilador u otro, es el problema de usar librerías integradas y no programar directamente el chip, si usas cualquier función que no hayas programado, entonces no te puedes quejar de usar Arduino.


----------



## R-Mario (Feb 4, 2014)

Yo no me quejo, pero esto del arduino no me gusta, se que dicen que te ahorras el hardware basico, pero ¿cual basico? si para usar un avr solo necesitas el programador y el micro bueno y una fuentecita de celular y obvio mas caro porque comprar un programador usbasp te sale a 40 pesos y comprarte 10 atmegas8 te sale en 150 y mira que tienes para practicar un buen rato, como sea cada quien agarra lo que mejor le acomoda, yo ahorita sigo feliz con atmel studio 6 el prog usbtiny y con el attiny24 jejeje


----------



## locodelafonola (Feb 4, 2014)

hola....estoy de acuerdo con lo que dice anja... Nuyel... DVT.. y ...cosmefulanito04.... yo no se mucho porque recien empiezo... (ya lo explique.. mas arriba )...y sin ser un genio en electronica..me di cuenta que el arduino,,es un programador usb + un atmega 32 + una fuentecita (sin trafo )...yo para los atmegas me fabrique este programador que por lo que vi en internet...la mayoria usa con el ponyprog..(este es el SI-PROG )..y si tengo problemas con el cable le cambio la placa superior..y programo sin cable ISP...y como soy una persona de pocos recursos economicos..mi maquina que es viejita tiene puerto serial..entre USB y ESTE programador .... no encontre diferencia ...Ver el archivo adjunto 104871 Ver el archivo adjunto 104872 y armarlo es baraticimo...


----------



## TRILO-BYTE (Feb 4, 2014)

bueno no me burlo del Arduino 
pero un detalle que veo es que hacen que el ingeniero o estudiantes de ingenieria no piensen como verdaderos ingenieros es como si un chef usara sopa instantanea , cafe soluble, y arroz precocido

es que me doy cuenta que ahora la gente piensa en arduino y los arduinos son muy caros como para mover un relé y prender un led en comparacion de un pic16f716 que tiene ADC , una buena memoria y un bajo costo

y locodelafonola
te felicito que hagas tu propio hardware eso te da mucha experiencia en le diseño de dispositivos electronicos en un futuro.


----------



## Meta (Feb 4, 2014)

Hola:

Entiendo lo que piensas de arduino y es verdad. Al menos para empezar está bien, claro que no usaré el proyecto para final con esa placa, es para entrenar. Si paso de PIC y voy a otro marca, precisamente no iré a la competencia directa como AVR que son uC muy similares entre uno y otros.

Para eso me paso a ARM que está que se sale.






¿Qué hay detrás de ese gran botón?





Un conjunto de leds empoderado por un microcontrolador NXP LCP11U24F 32-bit ARM Cortex-M0

Fuente:
http://www.neoteo.com/steam-machine-por-dentro-galeria/

Con todo ello digo que la sempresas optan hasta para circuitos sencillos que este, ARM y de 32 bits. De paso que se metan con los de 64 bits, total, parece que no les importa en algunos sentidos matar moscas a cañonazos.

Saludo.


----------



## TRILO-BYTE (Feb 4, 2014)

apoco si haz movido micros de esa magnitud

supongo que son muy caros y sobretodo la poca documentacion, yo conoci a un chavo que movio un micro grande sin ayuda del compilador pero debo aclarar que esta medio tocadiscos de la cabeza 

yo tengo por ahi arrumbado un freescale kinetis kwistik aver si me decido a moverlo

ahora no se que tan complejo es mover los nucleos ARM veo que las FPGAS spartan 3 tiene nucleos ARM 

ahora que si admiro a los que mueven micros de baja documentancio


----------



## Meta (Feb 4, 2014)

Buenas foreros:

Por eso no he tocado los ARM, por su falta de cocumentación. En realidad tiene pero en Inglés y sitios específicos. Hay libros en Inglés. Lo que en Internet abundan muy sobrado documentaciones y siguen con ello sobre PIC y Arduino en español, Arduino aunque no te guste, tiene más documentación en español que el propio AVR. Y más con el tema de la manía  como amigos inseparables de Raspberry Pi como ordenador y Arduino como actuador.

En mi caso no usaré Arduino com proyecto final, sino cojo el AVR que viene incorporado y hago mi propia PCB.

Para hacer cositas con PIC tampoco está mal. No me voy a meter con un uC Philips, vi un libro en español hace tiempo, era complicadillo entenderlo.

Saludo.


----------



## R-Mario (Feb 4, 2014)

Eso que comenta DVT es muy cierto, esto de las placas entrenadoras cada ves estan haciendo mas programadores y menos electronicos jejejeje.

Por otro lado Meta, usar un ARM para encender unos led's son cosas que los fabricantes hacen para justificar el tremendo precio de las cosas eso lo podria hacer cualquier micro con 8 patitas jajaja

He insisto

Programador chino USB usbasp $3 dlls
Micro atmega328 $1.5 dlls
Fuente china de 5V y 3.3V $2
Protoboar chino $3 dlls

Ver todo un desm@dr3 de cablecitos en tu protoboard no tiene precio.


----------



## Nuyel (Feb 4, 2014)

DVT dijo:


> yo tengo por ahi arrumbado un freescale kinetis kwistik aver si me decido a moverlo



 estoy igual con mi FRDM-KL25Z, no entendí nada del Code Warrior, el Keil me mareó, por ahora lo he usado un poco gracias a mbed pero es un compilador online así que sin internet no puedo trabajar, ahí tengo la placa y no la uso para nada, la que más he usado es la LaunchPad de Texas Instruments, tengo la Stellaris(ahora descontinuada ya que cambiaron a Tiva C) que es un Cortex-M4F, usarla no es tan simple, si no fuese por la libreria de drivers no le entiendo nada.


----------



## TRILO-BYTE (Feb 4, 2014)

mejor dicho no pude decirlo

AGNA :estan haciendo mas programadores y menos electronicos
eso es una completa realidad los electronicos nos devaluan dia a dia con las placas entrenadoras y prefabricadas 
algunas son razonablemente mas economicaz como es el caso de los lectores SD plug and try de los arduinos valen $4 dolares que destripar un lector de memorias para conectarlo a un micro

y respecto a los micros de 8 patitas aveces no es tan cierto 
hay micros de 32 bits que valen mas economicos que el 18f4550 
almenos yo no suelto el 4550 ni el 2550 por el puerto USB pero veo que hay genios que hacen su puerto USB con micros de 32 bits o con el Atmega 8

¿como le hacen?
supongo que leyendo el protocolo USB de USB.org

bueno META hay cosas que valen la pena y otras que no 
si en verdad te gustan los micros lo mejor seria ir probando arquitecturas nuevas , lo malo es que algunos no pasan de placas de desarrollo y queda en nula documentacion

como es el caso de los freescale y sus placas de entrenamiento 
y otras que no pasan de moda y la documentacion sube como el caso de las Spartan FPGA y los nucleos ARM



Nuyel

no te sientas mal , yo si he movido mi freescale Kinetis Kwistick , le entendi bien pero no le hayo uso practico digo si quiero prender un led y un  rele me voy por un pic pequeño
si quiero usar el puerto USB que lo trae , en ese caso uso el 2550

el Freedon KL25 si lo he usado pero el codewarrior es de prueba y muchas opciones estan bloqueadas 
asi que aprogramar a mano limpia 

todo es cuestion de voluntad como lo hace el colega META


----------



## cosmefulanito04 (Feb 4, 2014)

Una cosa es entrenarte o empezar con un nuevo uC y otra diseñar en el producto final.

Yo no veo con malos ojos usar un uC en ese tipo de placas, pero lo que si critico es el hecho de hacerte dependiente de las herramientas que te da arduino sobre un hard que no requiere ningún tipo de ciencia como dice *locodelafonola*, tan simple como tirar una par de diodos a un puerto serie.

Ok, es cierto que comprás comodidad, no es lo mismo programar en usb que en puerto serie (hoy en día cuesta conseguir PC modernas con este puerto), sin embargo para AVR creo que hay opciones muchísimo mejores como un JTAG por usb, ejemplo:






Ese aparatito en ebay sale solo u$d 10 (ahora se complica traerlo a Argentina ), pero la gran ventaja es que no solo trabajas con usb, sino que tenés JTAG que es una herramienta impresionante que tienen los AVR (al igual que los ARM).

Obviamente eso se puede hacer gratuitamente usando un puerto paralelo (sin usar otro uC como intermediario), pero bue... un puerto paralelo es molesto. Otra opción es usar otro AVR para trabajar con el puerto serie, ejemplo:

http://amtek.wordpress.com/2011/07/20/make-your-own-avr-jtag-debugger/

No quiero ser malo, pero si estas en la electrónica necesitas saber leer en inglés, sino estas en el horno. Ojo yo soy un queso en inglés, pero leer inglés técnico no es difícil.


----------



## TRILO-BYTE (Feb 4, 2014)

eso es verdad el ingles es basico yo creo por eso el pic y el arduino es tan popular en el habla hispana
por que es la documentacion en español que hacen.

yo creo que es por mercadeo al haber necios que solo quieren todo en español, haciendo que la documentacion en español y ganando mercado, algo que no hacen otras compañias.
como los micros de sunplus son documentacion en koreano cosas que uno ni a chochos entendera

bueno esa es una suposicion


----------



## locodelafonola (Feb 4, 2014)

cosmefulanito04 dijo:


> No quiero ser malo, pero si estas en la electrónica necesitas saber leer en inglés, sino estas en el horno. Ojo yo soy un queso en inglés, pero leer inglés técnico no es difícil.


...... es cierto eso don cosme....





DVT dijo:


> eso es verdad el ingles es basico yo creo por eso el pic y el arduino es tan popular en el habla hispana
> por que es la documentacion en español que hacen.
> yo creo que es por mercadeo al haber necios que solo quieren todo en español, haciendo que la documentacion en español y ganando mercado, algo que no hacen otras compañias.
> como los micros de sunplus son documentacion en koreano cosas que uno ni a chochos entendera
> bueno esa es una suposicion


 y imaginen lo que a mi me cuesta....ya no fui a ningun colegio tecnico...yyyyyy menos a una facultad..de ingles tecnico..menos... el ingles que estudie en la secundaria era comercial o normal (me la lleve 4 veces )..imaginen..lo unico que aprendi lo aprendi en el foro..(gracias a todos por eso )..y menos mal que se escribe.... y no lo tengo que pronunciar..jajajajajajaja..por alli estamos en el "horno"... ahora lo que dicen del arduino..es muy cierto..e visto un monton de montajes el la red..por ejemplo vi un velador que le colocaron arduino uno..para que cambie los colores y haga mezclas  RGB ... la verdad un desperdicio y falta de inteligencia aplicada....(un estudiante de ingieneria electronica ).... y yo que en mi pueblo a veces no consigo resitencias..imaginen lo demas...


----------



## Meta (Feb 4, 2014)

Soy el necio que quiere todo en eespañol porque on se Inglés ni tengo por qué aprenderlo. Me contradigo. En realidad si tengo poraue me lo piden en los trabajos, en el cual debo reforzar condo me toque en el curso para escapar.

Cuando hay alibros en español de AVR hablamos. lo más gracioso que si está aRduino, he visto unlibro en español de un microcontrolador Philips en la época cuando sacaron el www.pic16f84a.org







Este de abajo no lo sabía, ajjajjja, estoy desactualizado. Por el 2008/09 no lo encontré.





Otro de Freescale que no sabía.





Libros en español de Arduino hay muchos y muy recientes y eso que se preparan más unos muy básicos y otros más complicados, otros solo se centran en proyectos otros en la _programación_ que es lo que me interesa.

Arduino muy básico de lo básico, esti si que no lo compro. PAra novatos muy novatos está  muy bien.










De PIC muchos libros más viejo que el tiempo y siguen en ello, no para de sacar libros. El má reciente que compré es este que te habla de programar en ASM y en C del CCS.





No pongo más porque hay muchísimos para escoger, eso si, el mejor para ASM es este.






Y en C los mejores están en Inglés, en español no tengo idea, al menos por ahora. El libro que compraría ahora sería de C para PIC bajo el compilador del XC8 para el nuevo MPLAB X, ya lo harán, eso seguro.

Siempre he deseado libros de AVR y ARM puros y duros. Por lo que he heblado con algunos autores de libros en español, prefieren *perder el tiempo* en hacer un buen libro con tecnologías muy conocidas y muy fáciles de adquirir en las tiendas directamente que recurrir a Internet en locales on-line.

Buscando más a fondo, encontré este libro que aún o he visto en librerías, menos mal que hay Internet.





http://www.utm.mx/~fsantiag/Libro_Micros_AVR.htm

Un libro de ARM. ¿Este es español?




No lo es pero lo parecía.
http://aliatron.pt/e-biz/product_info.php/cPath/3/products_id/781

Ya no encuentro el libro de Philips en español, está ya en desudo, una lástima.

Una cosa le comento.

*1)* Apreder microcontroladores solo por Internet, al menos empezar el aprendizaje con PIC que es el más recomendado y me lo han recomendado muchas personas hace años. Hay muchos tutoriales de todo tipo. Cuando llegas un momento de soltura, sientes que te faltan conocimientos profundo sea parte de la electrónica y sobre todo de la programación.

*2)* Aprender microcontroladores solo en libros y de los buenos, no cualquier libro, sientes que tienes todo machacado, bien aprendido la programación de base que es lo importante para seguir con las cosas complejas, en este sentido tendrás solturas, por otro lado, sientes con ganas de aprender más, pro ejemplo, viendo tutoriales por Internet, proyectos y más cosas.

*3)* ¿Conclusión bajo mi experiencia? Mejor observar antes de entrar en este mundo, leer de que va el tema por Internet, probarlo. Si quieres parneder de verdad desde labase, libros, para continuar con más conocimientos, Internet, la combinación es lo mejor. Muchos no se gastan dinero porque están limitados y si lo tienen es como que se sienten estafados o creen arrepentirse.

Me gusta tener un cirucito con variso microcontroladores como PIC, AVR, FreeScale, ARM y otros más todos juntos, jejejjejejee. He tenido esa manía desde el siglo pasado. Al menos algunos de los microcontroladores se centra en dar información en una LCD 20x4, otros hacen de decoder o code para una tabla de la verdad, otros se centran en periféricos y cosas así. Es una locura, pero  me llama la atención. Locura en sentido que no hace falta usar todo eso para hacer lo mismo con un solo µC, en mi caso me da igual. Se que hay que gastarse programadores para varias marcas. Si, hay que tener dinero y tiempo para aprender de todo un poco y centrarte mucho en una marca.


----------



## cosmefulanito04 (Feb 4, 2014)

¿PIC tiene JTAG para hacer debbug o es necesario una herramienta super especial de Microchip?


----------



## R-Mario (Feb 4, 2014)

Yo no compro libros de microcontroladores por una simple razon "La mayoria de esa informacion esta disponible en internet o bien fue robada de internet y puesta en esos libros" juajuajua Como sea y aunque nos duela y odiemos tener que hablar ingles, mi estimado Meta tendras si o si que entrarle al ingles, pues todo apunta a ese idioma. Diablos porque no se hizo mas popular el español, asi estariamos del otro lado y tendriamos a los ingleses usando sus traductores para entender nuestro foro jajajaja


----------



## cosmefulanito04 (Feb 4, 2014)

Porque mal que nos pese el inglés es un idioma mucho más sencillo de aprender que el español. 

Comparto la mejor información la sacás de las hoja de datos del fabricante y foros.


----------



## Meta (Feb 4, 2014)

Muy cierto, hay que meterse en el Inglés, ajjaajjajaj. La escuela de idiomas está muy ocupada y es cara. No es tan simple, por ahora me conformo aprendiendo poco a poco en leer y traducir cosas que no se. No es una forma d eprender pero se aprende algo, que es mejor que nada. No me queda otra.

En cuanto a los libros, depende que libros, que si está sacado en Internet, pue si, como que está bien comprobado antes de publicarlo en un libro. Está bien elaborado, sobre todo la parte de la programación, eso si, comprar uno bueno (o conseguirlo en PDF), no basuras que te quedas a medias.

Por cierto, en cuanto el habla en español, se está extendiendo hasta en China y se a anunciado que se incrementará en más países como otra lengua optativa, ya que esta habla aunque sea más dífícil que el Inglés se usa cada vez más, incluido en Internet. Se que el Chino mandarín se habla más que el Inglés tengo entendido, pero no me va esa lengua.

Un saludo.


----------



## cosmefulanito04 (Feb 4, 2014)

Tanto para *Meta* como para *locodelafonola*, si queren un buen libro de lenguaje C (incluso está en español ), les recomiendo "El lenguaje de programación C" de Kernighan y Ritchie, busquenlo en su tienda electrónica favorita que la van a conseguir fácilmente .


----------



## Nuyel (Feb 4, 2014)

cosmefulanito04 dijo:


> ¿PIC tiene JTAG para hacer debbug o es necesario una herramienta super especial de Microchip?



Usa ICD (In-Circuit Debugger) el PICkit basta para lo básico, pero no todos los PIC lo soportan y hay otros que requieren una variante especial que da acceso los pines de debug como el 16F675


----------



## TRILO-BYTE (Feb 4, 2014)

el libro de sistemas enbedidos en C para microcontroladores
ami se me hiso un fraude lo lei pero no ayuda en nada a la hora de programar
el libro de pic16f84a igual no me fue de ayuda en nada

un libro para C de microcontroladores pues yo creo que ninguno en especial la buena programacion C
es el ANSI C o el MISRA C
un libro de C para computadora de escritorio y la ayuda del compilador es mas que suficiente para hacer una buena programacion


----------



## Meta (Feb 4, 2014)

@cosmefulanito04
Pensaba que era para PIC,pero gracias.


----------



## cosmefulanito04 (Feb 4, 2014)

Meta dijo:


> @cosmefulanito04
> Pensaba que era para PIC,pero gracias.



Haceme caso *meta*, C lo aprendés mejor desde la PC, en linux bajate gcc y un entorno tipo Code::blocks que va de una.

Ese libro lo escribió el creador de C, Ritchie.


----------



## TRILO-BYTE (Feb 4, 2014)

como dice don cosme

el C lo aprendes de C para PC yo aprendi a usar el C del borland C 
y mucha informacion la puedes sacar de paginas de programacion C y de libros de C para PC

te sirven muy bien en cualquier tipo de microcontrolador

el C18 microchip solutions toda su ayuda esta en MISRA C y ese codigo comentando los registros especiales del micro puedes usarlo tanto en AVR ,ST ,TEXAS ,etc.


----------



## Moyano Jonathan (Feb 4, 2014)

Yo empecé a programar en C utilizando TURBO C, en el año 2004. Luego aprendí assembler para PIC en 2007 y en el mismo año le agarré la mano al C de CCS para PIC.
Más adelante el paso a otras plataformas como AVR, me resultó muy sencillo pero lo mejor es aprender en la PC y luego aplicar el conocimiento en los sistemas embebidos.


----------



## Meta (Feb 4, 2014)

En PC empecé con ASM del 8085, 8086, 8088. Ahora lo tengo olvidado, un poco de Borland Delphi (pascal), C++ por el aire. Más tarde en autómatas con lenguajes de todo tipo, el más complejo es AWL, nada ver con PIC. Más adelante en ciclo superior que hoy endía sigo es Python, no me gusta, Java no es mi alago aunque sea el más usado del mundo desde hace años, Visual Basic .net 2010 y lenguaje de cuarta genración que es SQL Server y MySQL. El C# antes que VB. Sin contar con proceso por lotes como VBS, BAT, entre otros. He probado muchos, ningulo los manipulos.

Ahhhhhhh, el asm del PIC16F84A lo sigo usando y no lo domino, siempre estoy con ejemplos, libros para recordar cosas que se me olvidan si dejo pasar el tiempo.

En fin, mejor probar de todo un poco.

Saludo.


----------



## Nuyel (Feb 4, 2014)

DVT dijo:


> el libro de sistemas enbedidos en C para microcontroladores
> ami se me hiso un fraude lo lei pero no ayuda en nada a la hora de programar
> el libro de pic16f84a igual no me fue de ayuda en nada
> 
> ...



Exacto  si aprendes a programar en el PC usando ANSI C ya con eso basta, programar el chip es solo asignar valores a los espacios de memoria de los periféricos y un par de funciones, destellar un LED en mi MSP430 lo haría:

```
#include <msp430.h>
#include <intrinsics.h>
//noten que las variables están definidas en la cabecera
void main(void) {
	WDTCTL = WDTPW + WDTHOLD;
	BCSCTL1 = CALBC1_16MHZ;
	DCOCTL = CALDCO_16MHZ;
	BCSCTL2 = SELM_0 + DIVM_0 + DIVS_0;
	BCSCTL3 = 0;
	P1DIR = BIT0;
	P1OUT = 0;
	while (1){
		P1OUT ^= BIT0;
		__delay_cycles(8000000);
	}
}
```
Eso es ANSI C, la única cosa extra es la función __delay_cycles(), y de la misma forma programo los PIC, a excepción de que necesitan el #pragma config mientras que en el MSP430 solo la asignación a la memoria (bueno, los MSP430 necesitan el #pragma para las interrupciones).
Tanto que mencionan ensamblador que me ha interesado aprender, pero no me gusta la sintaxis, solo me he leído las instrucciones y entiendo los programas, pero no puedo crear los míos propios, de igual forma no está de mal aprender las instrucciones que soporta el chip, por ejemplo mi MSP430 tiene 27 instrucciones y otras 24 simuladas (el compilador las traduce en las primeas 27), lo importante es que aunque no programes en ensamblador leas el conjunto de instrucciones y lo introduzcas en tus costumbres al programar en C, por ejemplo no uses un for(i=0;i<100;i++) y en su lugar usa for(i=100;i!=0;i--) para que el compilador pueda usar la instrucción de "saltar si cero" que tienen todos los procesadores.


----------



## TRILO-BYTE (Feb 5, 2014)

bueno si el CPU del micro aunque sea muy rapido o su set de instrucciones sea muy amplio

no importa la velocidad ni el set de instrucciones para checar el estado de un boton o prender un led

pero cuando es critica la velocidad como la comunicacion USB o generar audio con un DAC o generar video lo mejor es usar un timer y los ciclos for soy malo en los ciclos for
prefiero los ciclos condicionales While 
alomejor la estoy cajeteando corrijanme si no pero creo que usar el while es como una funcion de subrutina como un CALL o un GOTO , haciendo similar en codigo el for

la ventaja del ANSI C es que el codigo es un 90% portable a diferencia del CCS que el 60% del codigo es portable 
sobretodo sus librerias que no son de tan codigo abierto , por que muchas de las funciones estan en el preprosesador del mismo compilador 
un ejemplo son #use fast io ,#use RS232 , eprom(); ,etc.
y si uno migra ese codigo a un compilador truena #use no es parte de el compilador

#pragma es leido como comentario o etiqueta en un compilador estandar
eso es lo que MISRA C o ANSI C hacen que el codigo sea compatible entre diferentes compiladores

un ejemplo es el Hitec C , C18 ,AVR Studio ,Code warrior con sus ejemplos que viene en MISRA C
y si uno agara un pedazo de codigo hay la ventaja de modificar unas cuantas lineas
al CCS que hay que modificar varios cientos de lineas o si no el codigo entero para que funcione en otra plataforma


----------



## Nuyel (Feb 5, 2014)

DVT dijo:


> al CCS que hay que modificar varios cientos de lineas o si no el codigo entero para que funcione en otra plataforma


Me ha pasado, me llega a desesperar a tal punto que prefiero hacer el programa desde el comienzo :cabezon:


----------



## Meta (Feb 5, 2014)

Hola:

Antes que nada, si optas por usar el asm por cualquier motivo, que puede ser descompilar un .bin hecho en C y por fuerza te quedas con el asm si o si.

Antes de hacer programas, un buen diagrama de flujo, como que también se hace en C. Luego escribir línea por línea en papel, pasarlo a asm. Una tarea que te pegas media vida. Con PIC es el más fácil de lograr que otras marcas, está demostrado.

Tener claro sus equivalencias en ASM con el C, por ejemplo, los btfss con los if-else, cosas así. 

En mi caso voy a  optar por C de Arduino y XC8 de los PIC, son microcontroladores que encuentro muy fáciles en los locales o tiendas de electrónica. ARM hay que pedirlo a ellos y no todos te hacen caso, más bien comprarlo por Internet.

ASM lo sigo estudiando y me da pena avandonarlo con el tiempo que he empleado, pero ahy peros, me quita mucho tiempo y es difícil hacer pequeñas actualizaciones.

Antes no podía ver ni de lejos Arduino, luego me fue gustando hasta un punto, tiene muchos apoyos y mucha documentación de todo tipo y en español. Siiiiiiiiiiiiii, en Inglés está que se sale, no hay duda.

Por probar no pasa nada, eso si, los proyectos finales con Arduino prefiero hacerlo con placas hechas por mi, no con la entrenadora. Por ahora es lo único que me ahorra mucho tiempo.






Proyectitos como este aún se usa asm, aunque no te guste.
http://www.inventable.eu/2012/10/03/llave-electronica-universal/#comments

Un saludo.


----------



## cosmefulanito04 (Feb 5, 2014)

Nuyel dijo:


> Tanto que mencionan ensamblador que me ha interesado aprender, pero no me gusta la sintaxis, solo me he leído las instrucciones y entiendo los programas, pero no puedo crear los míos propios, de igual forma no está de mal aprender las instrucciones que soporta el chip, por ejemplo mi MSP430 tiene 27 instrucciones y otras 24 simuladas (el compilador las traduce en las primeas 27).



Yo creo que lo recomendable es que puedas hacerte rutinas básicas, manejar los condicionales, las operaciones suma/resta (y si el uC es CISC multiplicación y división, hoy no creo que encuentres esto en RISC) y los loop.

Ya que por ej. si en algún momento tenés que realizar un filtro digital, haciendo esa rutina en assembler queda muchísimo más optimizada que haciendola en C y son muy pocas líneas de código lo que se tiene que implementar, es cuestión de pasarle los argumento desde C al assembler y trabajarlo desde ahí.

En x86 (PC), la diferencia de hacer esos filtros en C vs assembler es muy grande, ya que al ser el procesador CISC, la transformación C a assembler no es tan buena debido a que tenés muchísimas instrucciones de las cuales se encuentran las MMX (de las viejas pentium).

En cambio en una arquitectura RISC es más fácil que el código C quede más optimizado.


----------



## Nuyel (Feb 5, 2014)

Pero te digo que yo uso más los MSP430 no los PIC, mi MSP430F5510 es RISC de 16bits, tiene multiplicador en hardware que soporta operaciones de 8, 16, 24 y 32bits, y cuesta lo que sus PIC18F4550, y si no, pues ahí tengo el Cortex-M4F con instrucciones de DSP y computo de punto flotante, ahí son como 115 instrucciones que me dan pereza leer.


----------



## cosmefulanito04 (Feb 5, 2014)

Recién me fijé y los AVR también tienen las instrucciones que te permite multiplicar, incluso permite multiplicar números fraccionales (y le toma solo 2 clk's  ).

Sobre el DSP, insisto hay que ver como lo compila C, pero casi siempre vas a lograr una mejor performance en assembler que en C, en el peor de los casos lo empatás. Si estás corto de tiempo, lo mejor es ir directamente a assembler, de lo contrario si la optimización no es del todo necesaria, se puede resolver en C.

Por cierto, la instrucción de división es la que siempre se complica tener, por ej. un 89S52 si la trae


----------



## R-Mario (Feb 5, 2014)

Con los sistemas electronicos cada ves mas complejos el asm esta desapareciendo del repertorio de habilidades de un electronico-programador, yo aprendi el asm en los C51 pero cuando conoci el C en los AVR, ya no volvi a el asm.

Ya se que diran que asm aqui y asm allá, pero a mi en lo personal no le veo mucho caso aprender asm, por el simple hecho de que hasta con cada micro aunque sea de la misma familia va haber diferencias.

Esta es mi muy personal punto de vista y no esta a discusion jajaja


----------



## george.manson.69 (Feb 5, 2014)

Por defecto las compañias que venden microcontroladores ya te venden librerias para cada microcontrolador, las librerias me refiero son a los registros que tiene el microcontrolador y listo, dicen que el C es lento a comparacion del ASM, pero hoy en dia los microcontroladores ya operan hasta 100 Mhz o mas, se trata de hacer proyectos rapidos para vender, un desarrollador debe de sacar un producto rapido entonces opta por programar en C.

El ASM el que quiera aprender esta la puerta abierta, pero el proyecto puede tomar mucho tiempo dependiendo de la complejidad, y en C el tiempo se reduce drasticamente.

El motivo de aprender C es desarrollar rapidos productos, eficientes en cuestion de migrar a otros microntroladores el mismo codigo y ahorrar tiempo.

Saludos!


----------



## Nuyel (Feb 5, 2014)

Mejor sigo con lo mismo de siempre, elijo el chip adecuado para la aplicación adecuada, no haré un complejo controlador con un PIC, como les dije, aquí son carisimos, es más barato si importo, y si tengo que pedirle a Newark los chips ¿por que no mejor elegir el chip más adecuado?, un PIC16f819 me costó cerca de 7USD, eso cuesta mi MSP430F5510, y las capacidades no tienen comparación, multiplicador de hardware, DMA, USB..., otro ejemplo, un PIC18F2550 me lo venden como a 15USD, por ese costo a Newark le pido los ARM.


----------



## cosmefulanito04 (Feb 5, 2014)

Ajna dijo:


> Con los sistemas electronicos cada ves mas complejos el asm esta desapareciendo del repertorio de habilidades de un electronico-programador, yo aprendi el asm en los C51 pero cuando conoci el C en los AVR, ya no volvi a el asm.
> 
> Ya se que diran que asm aqui y asm allá, pero a mi en lo personal no le veo mucho caso aprender asm, por el simple hecho de que hasta con cada micro aunque sea de la misma familia va haber diferencias.



Depende de la aplicación, hay rutinas (no el proyecto, sino rutina que las podés llamar como funciones) que lamentablemente con C te quedás corto, por ej. sintetizar una señal mayor a 100kHz. Después veo si subo la nota de aplicación de Atmel con un tutorial simple para hacer esto.

Por otro lado estamos todos de acuerdo que lo mejor es hacer el proyecto en C, por sencillez y portabilidad.

Una cosa importante que se pierde de vista desde el punto de la electrónica, a mayor frecuencia de clock mayor consumo y a la vez se agregan más problemas para eliminar los ruidos en el PCB, ojo con eso, no siempre la escopeta es la mejor solución .


----------



## TRILO-BYTE (Feb 5, 2014)

antes de caer si es ASM o C
es mas bien logica de programacion

como decia cosme hace unos comentarios atras es como hacer un filtro digital
una FPGA no usa instrucciones por asi decirlo mas bien es hardware con arrays de compuertas

y no se usa ASM ni C se usa VHDL pero hay interpretes C que igual el codigo VHDL lo hace aun mas grande

pero uno con buena logica de programacion puede entender el ASM ,C ,C++ ,C# ,VHDL ,etc.
y como digo no hay libro alguno que te diga como interpretar AVR ,ARM ,Arduino ,PIC para entenderle a todos al mismo tiempo

digo los nintendo DS traen de nucleo el ARM7 y para programarlo basta con usar ANSI C y descargar el compilador Dev kit Pro 
en pocas palabras no es una gran ciencia programar diferentes plataformas mas bien lo que cuenta

como dice Cosme es la eficienecia tanto en memoria y reloj


----------



## Meta (Feb 5, 2014)

Hola:

Mejor aprender C que asm a estas alturas si quieres hacer algo rápido y medio fácil.

Mi lenguaje favoritoes C#, hay cosas como Arduino que aún no está extendido, lo que pasa que usa ARM lo bueno, y lo que la gente no le hace gracia es a Microsoft.







http://www.netmf.com/showcase.aspx?ShowcaseID=1&id=140

Más que pelearte con el asm, antes de usaba muchísimo, los nuevos se estresan exceptuando al que le guste el desafío. Siempre hay de todo.






Saludo.


----------



## Nuyel (Feb 5, 2014)

cosmefulanito04 dijo:


> Una cosa importante que se pierde de vista desde el punto de la electrónica, a mayor frecuencia de clock mayor consumo y a la vez se agregan más problemas para eliminar los ruidos en el PCB, ojo con eso, no siempre la escopeta es la mejor solución .



Entonces con más motivos un chip correcto en lugar de forzar otro, y menos PIC ya que son famosos por solo trabajar a 1/4 de la frecuencia y reiniciarce aleatoriamente 



DVT dijo:


> antes de caer si es ASM o C
> es mas bien logica de programacion
> 
> como decia cosme hace unos comentarios atras es como hacer un filtro digital
> ...



Si yo me voy más por eso de la lógica, empecé programando en VB.net, luego conseguí un libro de C#, aprendí el C cuando intenté usar un PIC18F4550 que fue el primero que usé, luego ya me cambié a los MSP430, pero todo es igual, la sintaxis cambia, lo importante es escribir bien tu lógica, pensar en bits no en números, yo tiendo a reciclar mis variables boleanas por que no existen en el chip una variable que solo de 1 o 0, no se como lo toma el compilador, si las fusiona o como un byte completo y desperdicia memoria, prefiero generar una variable y usar bitwise para controlar los if o while y reusar la memoria, veo una rutina y si siento que cambiando de lugar una función por otra se puede reducir los procesos que se tienen que hacer lo hago, programo en C, pero con la mayor eficiencia que me es posible, tomo el proyecto y lo divido en múltiples funciones, programo mi código principal hasta hacer que funcione y luego voy optimizando cada función lo más que sea posible.


----------



## Meta (Feb 5, 2014)

Hola:

Esa es la ventaja del C. De todas maneras en Microchip, ya usan hasta el C++, ya iba siendo hora, es má potente y flexible, lo que nadie está acostumbrado.

A usar C para lo que sea, esa es la gran ventaja.

Saludo.


----------



## cosmefulanito04 (Feb 5, 2014)

Nuyel dijo:


> Entonces con más motivos un chip correcto en lugar de forzar otro, y menos PIC ya que son famosos por solo trabajar a 1/4 de la frecuencia y reiniciarce aleatoriamente



No esa la idea. Con assembler usás menos clk para obtener el mismo resultado que en C (independientemente del uC), esto insisto en caso en los que requiera esa optimización, cosa que en la mayoría de los proyectos no suceden. 

Lo que si es cierto, es que no podes tampoco pedirle a una carreta hacer el trabajo de un avión, pero volviendo al ej. que puse del AVR, ese código es C requiere más clk para completar lo mismo que en assembler, lo que reduce la frecuencia de salida que se puede obtener de un generador de señales.

Sobre PIC, es una gota en el océano, particularmente me parecen lo peorcito en cuanto uC, caro, arquitectura pobre, etc. Lo que destaco de ellos es el post-ventas como ya mencioné, el usuario tiene todo al alcance de la mano. Incluso aprender su arquitectura super bizarra termina confundiendo más .


----------



## TRILO-BYTE (Feb 5, 2014)

sigo creyendo que los pic son famosos por mercadeo y documentacion en español
que otros micros que son de poca documentacion o la documentacion solo esta en ingles

ahora VC++ es lo mismo que C# solo cambias puntos por flechas y viseversa 
C++ pues es que en C++ puedes mandar llamar clases y estructuras 

dudo mucho de quienes programaron desde siempre VB y que pasaron a C#
y digan que C++ para micros es mejor que C si no saben usar C++ ni el ANSI C

eso se lo creeria de quienes iniciaron con Turbo C o Dev C o similares
y C es solo el ANSI C


----------



## Meta (Feb 5, 2014)

Holas:

VC++ dejó de usar Windows Form desde el 2010, el 2012 y 2013 ya no lo incluyen, por algo será. Solo VB y C#.

VC++ no es solo lo que dices, lo he probado desde hace tiempo, es más engorroso de programar que C#.

C++ está por encima de C, de la plataforma que sea. VC++ me ha decpcionado.

Quiero pasar este código de VC# o VB a VC++ para el Visual Studio 2013, ya no se puede, habrá que usar modo consola de Win32 o el CLR. No se ni cual es más aconsejable.

*VC++*

```
System::Void Button_Generar_Click(System::Object^ sender, System::EventArgs^  e)  {     try     {         textBox_Password->Text = Calculo_Password(textBox_seedNumber->Text);     }     catch (Exception^ ex)     {         MessageBox::Show("Los números deben ser de 12 cifras hexadeximales [0-9, A-F, a-f]", "Error", MessageBoxButtons::OK, MessageBoxIcon::Error);     }  }  String^ Calculo_Password(String^ seedNumber) {     int num = Convert::ToInt32(seedNumber->Substring(0, 6), 0x10);     int num2 = num + 0x10f0a563;     int num3 = Convert::ToInt32(seedNumber->Substring(10, 2), 0x10) & 7;     int num4 = (num2 >> num3) | (num2 << (0x20 - num3));     num4 ^= num;     return num4.ToString("X"); }
```
*VB 2013*

```
Public Class Form1

    Private Sub Button_Generar_Click(sender As Object, e As EventArgs) Handles Button_Generar.Click
        Try
            textBox_Password.Text = Calculo_Password(textBox_seedNumber.Text)
        Catch ex As Exception
            MessageBox.Show("Los números deben ser de 12 cifras hexadeximales [0-9, A-F, a-f]", "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
        End Try
    End Sub

    Private Function Calculo_Password(seedNumber As String) As String
        Dim num As Integer = Convert.ToInt32(seedNumber.Substring(0, 6), &H10)
        Dim num2 As Integer = num + &H10F0A563
        Dim num3 As Integer = Convert.ToInt32(seedNumber.Substring(10, 2), &H10) And 7
        Dim num4 As Integer = (num2 >> num3) Or (num2 << (&H20 - num3))
        num4 = num4 Xor num
        Return num4.ToString("X")
    End Function
End Class
```
*VC#*

```
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ZyXEL
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button_Generar_Click(object sender, EventArgs e)
        {
            try
            {
                textBox_Password.Text = Calculo_Password(textBox_seedNumber.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Los números deben ser de 12 cifras hexadeximales [0-9, A-F, a-f]", "Error",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
            } 
        }

        private string Calculo_Password(string seedNumber)
        {
            int num = Convert.ToInt32(seedNumber.Substring(0, 6), 0x10);
            int num2 = num + 0x10f0a563;
            int num3 = Convert.ToInt32(seedNumber.Substring(10, 2), 0x10) & 7;
            int num4 = (num2 >> num3) | (num2 << (0x20 - num3));
            num4 ^= num;
            return num4.ToString("X");
        } 
    }
}
```

En el telediario en España, se dice hace un año que Java es el lenguaje más utilizado, en ciclo superior de programación que estoy cursando en estos momentos, que ya acabé Java, nos cuenta lo mismo, es lo que te pide las emrpesas, y por encima de Visual studio.






Saludo.


----------



## cosmefulanito04 (Feb 5, 2014)

Todos esos lenguajes tienen una carencia que C no tiene y por eso se usa en uC, puede apuntar a memoria sin ninguna limitación, tanto C++ como Java, eliminaron el concepto de puntero a propósito para que el programador no se mande cagadas. Además están las interrupciones, en Java tenés que crearte librerías propias llamadas JNI (que no son más que librerías hechas en C) si las liberías propias que traen no te sirven.

La evolución lógica de C, es usar RTOS y seguramente en algún futuro no muy lejano los uC serán casi una PC integrada con distintos tipos de periféricos, donde se podrán incluir SO con todas sus API y System call's y ahí si seguramente se usen lenguaje orientados a objetos.


----------



## Meta (Feb 5, 2014)

cosmefulanito04 dijo:


> La evolución lógica de C, es usar RTOS y seguramente en algún futuro no muy lejano los uC serán casi una PC integrada con distintos tipos de periféricos, donde se podrán incluir SO con todas sus API y System call's y ahí si seguramente se usen lenguaje orientados a objetos.



Lo veo lejano, no en los SmartPhone e incluso hasta router van a toda leche en los menús, al menos los nuevos.






PIC32 está el de 80 MHz y los más nuevos a 200 MHz, se puede programar en C de toda la vida y en C++ con más opciones de hacer cosas según he leído por Internet. Por algo han invertido en C++ tiempo y dinero para PIC. Total, con C parece que la gente se conforma, hasta con Linux, jejeje.

*Linus odia C++.*
http://www.theinquirer.es/2007/09/24/linus_odia_c.html

Saludo.


----------



## cosmefulanito04 (Feb 5, 2014)

Lo que planteo no necesariamente debe tener entorno gráfico, simplemente las APIs y los System Calls.

Sobre Linux, la verdad ni idea sobre ese odio a C++, pero por ej el kernel está hecho en C (obviamente no usa assembler por compatibilidad, además de lo difícil que sería implementarlo). Por lo tanto en C resulta muy sencillo agarras las APIs y los System calls del SO, eso es una gran ventaja.


----------



## Nuyel (Feb 5, 2014)

Ahora que lo menciona Meta, con razón ya no entiendo un carajos de VC++ :cabezon: solo lo usé en la 2005 y 2008, recuerdo que podía hacer forms, pero ahora no encuentro por ningún lado esas opciones, pero bueno, como encontré un libro de C# en una feria a 4USD pues me quedé con ese lenguaje .net



> No dices más que gilipolleces. C++ es un lenguaje horrible. E incluso es más horrible por el hecho de que un montón de programadores de segundo nivel lo usan, hasta el punto de que es aún más y más fácil generar basura sin utilidad con él. Sinceramente, incluso si la decisión de haber usado C no tuviera *nada* más que ver con el hecho de mantener a los programadores de C++ fuera del proyecto, esa hubiera sido una gran razón para usar C.



jajajaja XD pues no se que tiene el C++, se que es C pero orientado a objetos, aún así yo no programo en C++ por que al menos en microcontroladores el C alcanza para todo, el C++ estaría bueno si la aplicación recurre a bastantes instancias de las mismas tareas, ahí es donde la POO brilla, pero estamos programando un pequeño chips o una simple tarea no cientos, entonces no hace falta.

Siendo honesto ni a mi me gusta usar el concepto de clases cuando programo en C# por que raramente los necesito, pero era C# o VB y la sintaxis del VB ya me revuelve  de todas formas los dos son iguales al compilarse.

Genial!!, mbed ya corrigió el problema al exportar el código, ahora ya puedo compilarlo con el GNU GCC, mi mayor problema con no usar IDEs es que no entiendo como hacer el makefile :cabezon:


----------



## R-Mario (Feb 5, 2014)

desgraciados makefile, como odio eso, cuando me mude un rato a linux makefiles por aqui makefiles por alla y me volvia loco jejeje.

Eso del C++ para microcontroladores creo que le quedan grande para micros de 8 y 16 bits, como bien dices con C alcanza y sobra, no obstante todo eso que tiene que ver con los ARM ahi si usan mucho el C++, yo hace mucho que no uso en C++, hamm pero todavia me acuerdo de class, private, public protected, friend, los :: hamm virtual etc etc. condenado C++ se ma hacia tan confuso hasta que encontre un buen libro de un tal luis de jujuy o algo asi ya no recuerdo su nombre, era un libro bien sencillo pero bien explicado y por desgracia lo preste y fue de esos prestamos que nunca regresaron

El libro era con portada azul con el C++ hecho con cuadritos como en 3D, el autor era luis joyanes creo, haber si alquien lo ubica


----------



## TRILO-BYTE (Feb 5, 2014)

bueno si VC++ y C# son decir microsoft pues C# es una creacion de microsuave

yo uso VC no por necio ni nada de eso si no por retrocompatibilidad con los viejos sistemas operativos y maquinas de bajo rendimiento "asi lo piden en mi trabajo".

el C# para hacerlo correr en otra maquina hay que descargar varias cosas instalarlas y hacer que la maquina pentium 3 saque su ultimo aliento

otra cosa los ejemplos ahora estan casi en C# y cuando uno quiere hacerlo correr en VC++ solo cambia uno los puntos por flechas y eso es todo.
no hay diferencia notoria a grandes rasgos

si es cierto que hay micros que soportan ya en C++ y los que dicen AIFONS no tienen un microcontrolador si no un CPU y una arquitectura mas parecida a una PC

por eso soportan JAVA ,C++ ,USB OTG ,ETC.
un dia llegaran microcontroladores que soporten todo eso ahi si creeria la programacion en C# para un microcontrolador 

pero como digo prender un LED y un RELE es absurdo seria matar una mosca con ametralladora


----------



## Meta (Feb 6, 2014)

Microchip.com aunció el C++ par sus PIC, lo que no recuerdo si es para todos o solo para lso de 32 bits.

Total, da igual, presume que C++ hace más cosas aunque sea matando moscas a cañonazos. ¿Por qué y para qué hacen C++ para PIC?

Se que habrá también para otros microcontroladores.

El C# para ARM que hizo Microsoft no está nada extendido como Arduino. Ojalá se extienda, que C# es mi languaje favorito.

Si quieres programar C/C++, Python y cosas de esas pues a por RaspBerry Pi, y en sus salidas Arduino como actuador o otros microcontroladores.

Hay muchos lenguajes de programación, ahora ya no es por necesitades, sino el más que te guste.

Ah, aún se siguen programando en todo el año ASM en los cursos, FP o ciclos y universidades. El C o Java lo usan para PC como es lógico.

¿Por qué se empeña en las clases a enseñar a los alumnos en santo ASM? 

Algunos les parece gracioso y pérdida de tiempo. Ahora me lo parece, es engorroso y cabrea, jajajaja.


----------



## cosmefulanito04 (Feb 6, 2014)

Usar C para desarrollar aplicaciones en PC es como usar assembler en uC, de cavernícolas.

Son contados los casos en que C puede ser útil en ese entorno, por ej. Linux para alguna aplicación de servidor o que requiere tomar recursos mediantes las System call de ese SO, Matlab y alguna aplicación que requiera manipular el hard y use a C como intermediario (símil a usar assembler desde C).

Para lo demás, sin dudas el paradigma orientado a objetos es lo mejor, por un tema de seguridad, nadie se mete con estas variables si yo no lo permito y todo queda encapsulado.

Trabajar con Java, C++ y supongo que los demás lenguajes como C# es una ventaja de orden frente al lenguaje estructurado de C que a medida que avanza el proyecto (a mucho mayor escala que en uC), cuesta mantenerlo.


----------



## Meta (Feb 6, 2014)

cosmefulanito04 dijo:


> Usar C para desarrollar aplicaciones en PC es como usar assembler en uC, de cavernícolas.



 me hace gracia la expresión. Si es cavernícola jajaajjjjajaa, ¿Por qué enseñan C con turbo C en institutos?

Por algo será. ¿Concepto de programación?

Un saludo.


----------



## cosmefulanito04 (Feb 6, 2014)

Meta dijo:


> me hace gracia la expresión. Si es cavernícola jajaajjjjajaa, ¿Por qué enseñan C con turbo C en institutos?
> 
> Por algo será. ¿Concepto de programación?
> 
> Un saludo.



No, porque los cavernícolas lol de los docentes no saben utilizar las excelentes herramientas que te dá Linux y GCC, por eso.

Turbo C era muy lindo para la década del '90, ya estamos en 2014 .... 

Que preferís, esto:







O esto:






Incluso en windows funciona el codeblocks, pero ahí puede que tengas problemas para acceder a las interrupciones.

Ojo, yo aprendí C también con TurboC, lo digo por experiencia.


----------



## R-Mario (Feb 6, 2014)

El buen turbo C, yo tambien aprendi ahi, no es que sean cabernicolas, al menos aca es muy dificil que en las escuelas se tenga el sistema linux en las PC, y en gran medida se debe a que hoy por hoy no venden equipos oem sin sistema operativo y obvio la escuela tampoco se va preocupar por estar cambiando el SO a los tambaches de PC que compran.


----------



## Nuyel (Feb 6, 2014)

Como que esto ya cambió de Atmel VS Microchip a un debate de lenguajes de programación.


----------



## locodelafonola (Feb 6, 2014)

Nuyel dijo:


> Como que esto ya cambió de Atmel VS Microchip a un debate de lenguajes de programación.


 no se si es un debate de programacion... pero lo que uno aprende sobre ellos. en sus comentarios.... aplicados a los PIC y ATMEL.... es algo que no se discute.. los leeo chicos... no aflojen es muy intructivo... y didactico....    ..merece mis felicitaciones.....


----------



## TRILO-BYTE (Feb 6, 2014)

es verdad se desvio tanto como un carrito de supermercado con llantita chueca

la pregunta es por que los americanos usan AVR y en empresas de origen americano piden que sepas programar AVR.
si uno dice Pic en ASM casi casi te dicen estas despedido 

bueno cuando se trabaja con C es muy o casi nula la diferencia entre una arquitectura a otra cuando se trata de prender un led o un rele


----------



## locodelafonola (Feb 6, 2014)

bueno amigo.... TRILO-BYTE..eso nosbria decirte..pero en lo que yo e buscado..para lo que nesesito...la mayoria delos montajes..son con AVR..y tanto uno como el otro ( PIC )...los ejemplos que me pasaron son asm y c ...lo curioso que en todas las aplicaciones como ejemplo 
	

	
	
		
		

		
		
	


	




 a esto que hace lo mismo Ver el archivo adjunto 104197 son comerciales... y  las con dos asm y c


----------



## TRILO-BYTE (Feb 6, 2014)

casi no te entendi estas como mi novia que escribe una cosa por otra 
ahora cuando buscas una cosa la puedes encontrar en ASM, C , basic ,pascal
pero tanto como AVR y PIC el diseño varia deacuerdo a quien lo diseño
alomejor el que lo desarrollo en AVR era buen programador y no nesecito usar mas hardware esterno

y el que lo diseño en PIC era un chavito taringuero que no sabia ni que e hiso una porqueria pero a fin de cuentas tubo un resultado satisfactorio

no se sabe aun asi creo que no hay que hablar mal de PIC o de AVR 

mas bien la ineptitud es de uno mismo


----------



## Meta (Feb 6, 2014)

TRILO-BYTE dijo:


> si uno dice Pic en ASM casi casi te dicen estas despedido



No, te preguntan si también sabes C. Si sabes C y asm muy bien, te contratan a ti antes que solo uno de C. El de C y asm sabe más, se defiende mejor, hace más cosas, y resuelve más problemas.

Si el de C solo sabe mucho y el de C y asm no tanto, pues cogen al de C, eso si, está buscando a otro que sepa un poco de todo.

Lo comento porque estuve aprndiendo asm del 8085, 8086 y 8088 que ons obligaban en electrónica, también asm para PIC. El tema de C si lo quieres aprender es por tu cuenta, en plan autodidacta.

En cuanto a Turbo C, recuerdo que unos amigos se quejaban en la universidad ese compilador del año de la pera. los profesores dicen que es lo que hay, ajajjajajaj.

En nuestro caso nos obliga a usar Python, Java, Visual Basic .net 2010 y lenguaje de cuarta generación como SQL Server y MySQL.

Yo quería aprender C/C++ y C#, no tube suerte en ese aspecto. Estoypor comprar un buen libro de C# en el futuro, ahora quiero comprar el Arduino y algunos de sus libros. Si, se que comprar libros para muchos es de tontos, pero están mejor detallados en algunos sentidos como guía para los que no saben nada. Con ayuda de Internet ya eres un bestia, jajajajaja, buscando infirmación, claro.

Ya de un avez por todas, quiero hacer circuitos complejos, usando memorias Micro SD, control de disco duro, por poner un ejemplo tonto, controlar Samsung Galaxy S4 con Arduino, que haga de Interfaz y controle dispositivos hasta por Internet e incluso Wi-fi, bluetooth o lo que sea, cosas así. Por eso del ASM solo lo quiero para cosas sencillas. C para todo.

Arduino bluetooth.
https://play.google.com/store/apps/details?id=com.app.control&hl=es

Vídeo tutoriales Arduino. (Sólo pongo el primer vídeo).





Dejaré un poco asm y C para PIC y me centro ya con AVR de una vez por todas. Eso si, probaré AVR con fundamento que no sea la placa para probarlo. Y sobre todo los ARM de las narices.

El que me llama los libros en Inglés son los PIC32 el de 80 MHz,  no sabía que sea tan fácil de programar más que los PIC de 8 bits en algunos aspectos. PIC32 a 200 MHz es muy nuevo pero se recomienda. 

Hay PIC32 del encapsulado DIP para ponerlos a protoboard de 28 y 40 pines , lo han probado pero para mi me parece que tener esos PIC32 habiendo PIC18F no hace mucha falta, solo Microchip lo hizo porque se lo han pedido muchos usuarios y de hecho se vende. 

Total, PIC32 está bien si usas pantallas a color con tratamiento de imágenes.

A experimentar con AVR que no pasa nada.

Saludo.


----------



## cosmefulanito04 (Feb 7, 2014)

locodelafonola dijo:


> bueno amigo.... TRILO-BYTE..eso nosbria decirte..pero en lo que yo e buscado..para lo que nesesito...la mayoria delos montajes..son con AVR..y tanto uno como el otro ( PIC )...los ejemplos que me pasaron son asm y c ...lo curioso que en todas las aplicaciones como ejemplo



Yo creo que es como dice *TRILO-BYTE* (que se cambio el nick... ), es más por quien lo diseño y que resultado quería obtener (el diseño PIC maneja más canales).

Dos cosas que me llaman la atención del diseño en PIC:

1- El uso de los TDA para el manejo de los mosfet no se justifican, segurante podría usar los puertos del PIC directamente, ya que esos mosfet con 5v en gate conducen bien.

2- Tal vez el segundo PIC se podría evitar si se usa shifters/codificadores o algo similar para obtener los puertos restantes, incluso me animo que podría multiplexar y eso resultaría más sencillo.  



			
				Meta dijo:
			
		

> En nuestro caso nos obliga a usar Python, Java, Visual Basic .net 2010 y lenguaje de cuarta generación como SQL Server y MySQL.
> 
> Yo quería aprender C/C++ y C#, no tube suerte en ese aspecto. Estoypor comprar un buen libro de C# en el futuro, ahora quiero comprar el Arduino y algunos de sus libros. Si, se que comprar libros para muchos es de tontos, pero están mejor detallados en algunos sentidos como guía para los que no saben nada. Con ayuda de Internet ya eres un bestia, jajajajaja, buscando infirmación, claro.
> 
> Ya de un avez por todas, quiero hacer circuitos complejos, usando memorias Micro SD, control de disco duro, por poner un ejemplo tonto, controlar Samsung Galaxy S4 con Arduino, que haga de Interfaz y controle dispositivos hasta por Internet e incluso Wi-fi, bluetooth o lo que sea, cosas así. Por eso del ASM solo lo quiero para cosas sencillas. C para todo.



Ven, es el autor del hilo el que hace off-topic con otros lenguajes, después yo me prendo .


----------



## Meta (Feb 7, 2014)

Si, ajjaja, del 2008.

Em cuanto a la tecnología de los PIC, a estas alturas han cambiado muy poco por temas de compatibilidad.

Así que escojas el µC que escojas, al final conseguirás lo que quieres.

¿Cuántos de aquí solo están aprendiendo sin hacer proyectos sencillos como final y ser usado a diaro?

Saludo.


----------



## R-Mario (Feb 7, 2014)

La cuestion no es el microcontrolador, la cuestion es el programador, he visto cada cosa tan bien hecha y con un mugroso pic16f84, por otro lado todo debe ser a la medida, por ejemplo el PIC12C508, la mayoria diria "Y un micro con 6 patitas disponibles para que me sirve" y ahi esta el famoso chip de la PS1, cuantos micros de estos se habran vendido para dicha aplicacion, por otro lado tengo el mano varios circuitos de las baterias de la marca HP y cada circuito trae un micro attiny13, tambien hace poco destape una xoom de motorola y tambien encontre varios micros de atmel, lo cierto es que he visto mas aplicaciones "comerciales" donde se usan los AVR que aplicaciones comerciales donde se use PIC.

Ya deberian cerrar este tema, esa eterna pelea entre microchipm, atmel, texas, y cuanto fabricante exista, nunca nunca va terminar, sencillamente porque cada quien elige el que le va mejor y por ese motivo lo defiende.

Yo sigo con AVR y me gusta, tambien la serie 430 de Ti.


----------



## Meta (Feb 7, 2014)

Con hay que cerrar nada, vendrán más personas en el futuro.

No peeles, solo se dan opiniones respetables te guste o no.

De todas maneras, me quedaré con dos marcas. PIC y AVR por ahora bajo Arduino.

Los programadores ahora que los mensionan, también cuentan.


----------



## TRILO-BYTE (Feb 7, 2014)

insisto arduino es un avr travestido asi como mi nick que se cambio 
pues arduino como digo un colega mio es como programar en CCS

pero cuando se inician con arduino no saben programar C con un compilador de los facilitos

y como dicen 

es cuestion de programador que el hardware
yo use el Codewarrior sin hacer uso del prosesador experto y debo decir que no es la gran ciencia solo es cuestion de tener fuerte los fundamentos de C

usando el prosesador experto yo creo que asesina el arduino solo que las placas de freescale son aun menos conocidas 

otra cosa que me doy cuenta cuando alguien adora el pic16f84 , o el atmega 8
y mas cuando aman el ASM
es por que sus maestros de la escuela, univercidad , etc. les enseñaron a programar y se quedan con los grabadores y el compilador
ademas que cuando uno es estudiante no puede comprar mas y te quedas con lo que te sobro. 

asi que pienso que creen que esos micros son lo maximo bueno eso me paso con el pic18f4550 aunque mi primer micro como tal fue el 16f84 y lo odio


----------



## ByAxel (Feb 7, 2014)

No es novedad, para Atmel AtmelStudio + Arduino, combinación que agrada y el lenguaje es C estandar. Almenos así se pueden programar AVR travestidos y normales en un solo IDE  y para microchip PIC, bueno ya tienen el MPLABX multiplataforma. 
En mi opinión con esos dos basta y al igual que muchos, cuando se programa en C no se nota taanta diferencia.



Sobre el hardware, bueno eso ya depende después de todo son totalmente diferentes, temas que ya se han tratado anteriormente.


----------



## locodelafonola (Feb 7, 2014)

cosmefulanito04 dijo:


> Yo creo que es como dice *TRILO-BYTE* (que se cambio el nick... ), es más por quien lo diseño y que resultado quería obtener (el diseño PIC maneja más canales).
> 
> Dos cosas que me llaman la atención del diseño en PIC:
> 
> ...


 eeehhh amigo..bueno los ASM y C que me pasaron manejan 8 canales los dos en el esquema del ATTINY2313 (sobran puertos ) estan cuatro PERO.en el montaje son 8 yo no se los puedo mostrar..( es una lastima ) pero los dos montajes hacen lo mismo o sea el mismo efecto... pero lo que queria desmostrar con eso... es que los dos estan desarrolados con C y ASM


----------



## Nuyel (Feb 7, 2014)

Eso, no importa si dicen que el Arduino es un AVR disfrazado, eso serán los PICAXE y peor por que te venden el mismo PIC pero más caro, al menos el Arduino incluye "accesorios" que cuestan considerablemente más para una persona que intentara recrear una sola placa que comprar una hecha y tienes todo el código fuente a tu disposición, si quieres subirte al siguiente nivel puedes trastear directamente esas funciones y lo que aún no entiendas lo manejas en lenguaje Arduino.

El año pasado tuve un proyecto en el que no tenia tiempo para aprender a controlar el chip ARM Cortex-M4F de la LaunchPad Stellaris, la programé inicialmente en lenguaje Arduino (usando Energía) y más adelante cuando fui corrigiendo mis funciones reemplacé varias del lenguaje Arduino por las indicadas en la Stellaris Peripheral Driver Library, pero eso fue gracias a que aún me quedó tiempo de aprender a emplear algunas funciones, cosa que me hubiese desesperado si desde un principio me hubiese puesto a programar el ARM de esa forma y probablemente no me hubiese quedado tiempo para entregar el proyecto.

Ahora Energía es tan popular que hasta Texas Instruments está implementando el soporte para importar los sketches en la nueva versión de Code Composer Studio 6, podrás usar las mismas funciones simples de aprender pero conservando toda la ventaja de su IDE y el debug incorporado en las LaunchPads.


----------



## TRILO-BYTE (Feb 7, 2014)

mientras sean peras o manzanas "pic o avr"
este tema se salio de control o almenos se desvio


----------



## cosmefulanito04 (Feb 7, 2014)

locodelafonola dijo:


> eeehhh amigo..bueno los ASM y C que me pasaron manejan 8 canales los dos en el esquema del ATTINY2313 (sobran puertos ) estan cuatro PERO.en el montaje son 8 yo no se los puedo mostrar..( es una lastima ) pero los dos montajes hacen lo mismo o sea el mismo efecto... pero lo que queria desmostrar con eso... es que los dos estan desarrolados con C y ASM



Es cierto en el esquemático no se ve, incluso al igual que los Atmega podrías usar el oscilador interno a 8 MHz obtenés 2 puertos más.

Pero bue... habría que comparar el precio de ese ATTINY con el PIC usado, tal vez un PIC con más puertos y santo remedio.


----------



## Meta (Feb 7, 2014)

JEjejejje, con las maneras de hablar de Arduino y disfrases o travestidos.

Para probarlo no está mal, se que es mejor usar el C natural de su compilador oficial. Ya que estoy hasta las narices del ASM, y la primera vez usando código binario para sumar, restar y cosas de estas casi me da algo. jajajajaaj. 

Arduino, aunque use sistema disfrasado o travestido _(como se nota el desprecio de Arduino)_ lo llaman software con capa para fasilitar la entrada al mundo de los microcontroladores casi cualquier persona. Si realmente les gusta y quiere un control total del AVR o cualquier otra firma, mejor usar el C estandar.

CCS antes se usaba mucho y últimamente le están dando por todas partes meterce con C18, ahora XC8, XC16 o el XC32 en C o como nuevo para PIC el C++.

ASM y binario lo he probado, un poco de C18 para probar y tengo un libro de ASM y C del CCS. No tengo que dejar de curiosear como es realmente Arduino para hacer proyectos muy rápidos y no pegarme media vida con asm de las narices. Me gusta pero para cosas pequeñas, proyectos grandes es una locura.

Total, tengo intención d eaprender Arduino y CCS (aunque este no me guste). Más adelante XC8 porque tiene más documenteción y ejemplos en la propia Microchip. En el futuro no es de extrañar que squen libros en español como tienen asm y CCS.






Estoy cansdo de parneder un lenguaje y hace poca cosa con el hardware porque hay algo que me atasco. Jejeej, con C o Arduino se hace muy rápido. Cosa que hoy en día si trabajas, no tienes tiempo.


----------



## Hellmut1956 (Feb 7, 2014)

En mi PC este hilo tiene actualmente 28 páginas. es buena técinca de esconder información en un mar de datos. El tema original del hilo tiene su justificación para un electrónico que quiere iniciarse en microcontroladores, escuche y lee de estas 2 familias de controladores y busca información. Ustedes creen que leer al momento 28 páginas y centenares de respuestas en un hilo va ser de ayuda para el lector? Si así lo vreen, adelante!

Pero si Ustedes como yo tienen un tiempo limitado, el título del hilo siuena como que vale hecharle una mirada, to do lo que hacen, al menos eso hago yo, es mirar en la útima y quizá en la primera página del hilo.

Yo creo que es de primordial importancia separar contribuciones al tema original de un hilo de los comentarios.

Habiendo escrito esto y por creer que un novato tiene el derecho de encontrar argumentos para hacer su propia decisión educada por que camino ir, quiero agregar mi dato a este hilo.

Atmel o PIC son equivalentes, decidete por una de las familias de controladores dependiendo de para cual en tu entorno encuentres personas que te asistan durante tu aprendisaje inicial y porterior.

Un controlador de una de las 2 fuentes nombradas aquí es adecuado para milllares de uso y en el internet se encuentran ejemplos para casi todo tipo de usos.

Si la intención es iniciarse de forma seria, quizá con ambiciones para una carrera, es mi opinión, que ambas familias de controladores y las variantes utilizadas son cosa del pasado y no las consideraría adecuadas. Ay, aquí me caen a golpes! 

Porque tengo esta opinión? vayamos paso por paso a analizar esto!

Costo y disponibilidad:
Tradicionalemente controladores de uno u otro tipo discutido aquí son de bajo costo y tienen buena disponibilidad.

Herramientas:
Las herramientas son disponibles de forma gratuita y en lengua cristiana, lo que para aquellos no tan familiares con el inglés hace el aprendisaje mas facil. 
Las herramientas consisten en tales para la programación y para la busqueda de errores y la verificación del programa que se está desarrollando. Aquí las herramienttas discutidas en el hilo consisten básicamente de 3 tipos:

ASM, o Assembler:
Esta herramienta de programación usa directamente las sentencias del controlador escogido. Buena práctica es escribir "subrutinas" para cosas que siempre se vuelven a necesitar y usar estas en vez de programas a nivel de las sentencias del controlador, muy cercano a lo físico del controlador.
Porque escribo lo de las subrutinas? Pues en cierto sentido esto significa crearse su propia lengua de programación y así ASM se vuelve algo entre lo que usualemente se nombra programación en assembler y el uso de una lengua de programación, que en cierto sentido no es mas que esto, un nivel de abstración entre las sentencias físicas del controlador. Que ventaja tiene esto?
Pues por un lado se vuelve mas sencillo leer un programa escrito en assembler y que usa de forma sistemática subrutinas con nombres que autoexpliquen la función de esta subrutina.
Por otro lado una subrutina que ha demostrado funcionar bien, reduce la probabilidad de errores de programación al usarse estas.
Tercero usando tales subrutinas e ir ampliando la base de subrutinas aumenta la productividad del programador por permitir programar mas rápido y con menos probabilidad de error.

Habiendo escrito esto quizá entendemos que lenguas como "C", Basic u otros no son mas que el resultado de programadores que llevaron la técnica del desaroolo de subrutinas a un nuevo nivel.

Herramientas de programación que no son assembler, se definen por un nombre, sea basic o C como ejemplos, consisten históricamente de 2 tipos:

Lengua de interpretación y lengua de compilación!

Una lengua de programación del tipo interpretador, y Basic era una tal, son escritas con una semántica que fascilita la lectura y el entendimiento, pero que cuando se ejecuta traduce en este momento los elementos de la lengua a un formato que la hardware del controlador entiende, una serie de "0" y "1" en organisaciones de 8, 16, 32 o mas bits por unidad. Para mas facil leer tal código se describen las 16  permutaciones posibles de 4 bits, 4 "0" y "1", también llamado "nibles" con algo que se llama "hex" que consiste de 16 posibles valores de "0" a "9" y de allí "A", "B", "C"" ... hasta "F".

Un compilador hace esta traducción anteriormente a su ejecutación y el proceso se llama compilación y genera un documento que tiene la extensión "*.hex".

Durante mucho tiempo todo programador se reía de la ineficiencia de lenguas interpretadas y juraba que solo una lengua compilada era adecuada. Esto empezó a cambiar cuando lenguas como "Java" aparecieron.

Queda finalmente el proceso de la verificación de un programa escrito y la búsqueda, a veces tediosa, de los errores en ese programa. Aquí la simulación era y es una parte de las herramientas usadas, donde el programa no ejecutado dentro del controlador, sino en el PC usando la herramienta del simulador. la razón para esto es que una software hace la parte de un controlador físico haciendo posible así un sin fín de técnicas de grandísmima ayuda para la programación. Pero quedaba la incertidumbre, que una simulación no es el original y que en el entrono definitivo efectos son posibles que hacen un programa fallas que funcionó perfectamente en el simulador.

Herramientas para reducir o eleiminar esta discrepancia eran carísimas y fuera del alcanze de muchos!

Habiendo presentado las herramientas de forma muy básica y los criterios para un novata de ir por una u otra familia de controladores del tipo Atmel AVR o del tipo PIC, quiero presentar porqué un novato debería ir por otra ruta si tiene mayores ambiciones dentro del entorno económico y de disponibilidad en cosa de sistemas embebidos, lo que creo poder justamente denominar el tipo de sistemas discutidos.

El futuro en sistemas embebidos no es del tipo de controladores discutidos aquí, sino de de aquellos del tipo "ARM Cortex M*". Controladores de este tipo son controladores para sistemas embebidos a diferencia de "procesadores" como los que funcionan en PC como aquellos del tipo 8086 y/o Pentium! En primera aproximación controladores son unidades de procesamiento con el foco en las funciones periféricas incluidas y que no necesariamente requieren de memoria externa y que no usan sistemas operacionales como Linux o Windows, sino que no usan un sistema operacional o algo que se llama RTOS, Real Time Operating System, sistema de operación de tiempo real. Ejemplo en ARM son FreeRTOS. La diferencia básica entre un RTOS y los sistemas operacionales tradicionales es que estos permiten que un sistema reacione en un tiempo predicible.

ARM es una empresa que no produce controladores o procesadores, pero que desarrolla estos y los licencia a empresas que entonces definen sus productos a base de lo aquirido por tal licencia. ARM es increiblemente exitoso y prácticamente to productor de controladores y procesadores tiene en su portfolio productos que usan tal licencia. Se especula que hasta Intel esta metiendose en esto!

El resultado es que todos los proveedores basan sus controladores en la misma licencia y que como consecuencia de esta licencia están obligados a ofrecer de acuerdo a una especificación llamada CMSIS, una biblioteca para cada función periférica que incluye en sus controladores del tipo ARM Cortex M*. Los elementos de tal biblioteca son algo lejanamente similiar a lo que llamé subrutina cuando presenté el tema "Assembler". Lo bueno de CMSIS es que existe en todo controlador ARM Cortex M* y que todas las periferias del mismo tipo son usadas en la programación por el mismo "API", "aplication programing interface" o "interfaz de programación para aplicaciones". El resultado de esto es, que cualquier programa escrito para el controlador ARM Cortex M* de algún proveedor puede ser portado a uno de otro proveedor que tenga el mismo set de funciones periféricas usadas por el programa con un mínimo de esfuerzo!

Esto es de un imenso beneficio para todos, pero en especial también para personas con menos recursos económicos y a mi opinión decide sobre la alternativa de programación entre assembler o una lengua interpretada o compilada, es el programa compilado. Esto no excluye de crear propias sentencias usando assembler para lograr una realización óptima, pero la justificación será válida en menos y menos casos!

Pero también el procso de miniaturisación en la producción de controladores, por la técnica de los semiconductores, influencia de forma decisiva porque no veo un auge en un futuro para controladores de los tipos tradicionales y que impacta el costo por el cual se pueden adquirir estos controladores!

El problema de los proveedores de controladores no es la complejidad y el tamaño del circuito en una componente que da como resultado un controlador, es el tamaño del pedazo de silicio que resulta del número de pines. La miniaturisación ya ha llegado desde algunos años a tal punto que controladores no llenan con sus circuitos el espacio disponible en el chip! El término que describe esto compara una caracterisación de cicuitos integrados:

"Pad Limited" o "Core Limited"

Pad es el nombre imgles del elemento sobre un chip de silicio al cual se solda un cablecito, frecuentemente de oro, para unir un Pin de un empaque al circuito integrado. este tiene cierto tamaño y en la circunferencia del chip solo cabe un número limitado de estos. de allí, si un circuito integrado define su tamaño a razón del número de pads requerido entonces el diseño se llama pad limited.

El interior del pedazito de silicio lo llaman "core". Debido a la miniaturisación los circuitos requieren menos y menos espacio, por lo cual queda espacio sin usar.

Ahora el costo de producción de un circuito integrado en lo que al silicio se refiere es fijo por wafer, así se llama el disco de silicio sobre el cual se producen los circuits a integrar. Cuando mas pequeño un circuito, mas caben en el disco, wafer y mayor es el divisor que reparte el costo en cada componente. El resultado es que los proveedores usan este espacio para meter cosas adicionales.

Pero sigamos mirando la cuestión bajo el aspecto del costo. Una componente moderna como un ARM Cortex M* usa las tecnologías mas avanzadas en su producción, por lo cual el ancho digital de las extructuiras de 32 bit de los ARM Cortex M* a comparación de los 8 o 16 bit de Atmel AVR o PIC no representa una desventaja desde el punto del costo, pero si la posibilidad de beneficiarse de la enorme capacidad de potencia de procesamiento que resulta de los 32 bits a comparación de las estructuras tradicionales. Un ARM Cortex M0 no cuesta mas que un Atmel AVR o un PIC.

Mientras que los Atmel y los PIC tienen una arquitectura tradicional que ha entrado en los años, los ARM Cortex M* se benefician de los últimos avances tecnologicos en materia de diseño de controladores.

Pero tambien en las herramientas y la calidad de las bibliotecas de acuerdo a la especificación CMSIS se beneficia de esta situación. Como los productos ofertados por los proveedores son reemplazables comparativamente facilmente por los clientes debido a CMSIS, los proveedores requieren esfuerzos especiales para manterner sus clientes.

Un argumento es la obligación de ofertar sus productos a precios competitivos en un mercado muy competitivo. De allí el aspecto del costo y la disponibilidad!

Eficiencia y potencia:
Los proveedores no solo ponen todos sus esfuerzos en definir y crear circuitos integrados que justifiquen para un cliente usar sus productos, sino que también tienen un interés vital en que la calidad de las bibliotecas de acuerdo a CMSIS que están obligados a ofrecer debido al contrato de licencia con ARM asegure que las posibilidades del circuito integrado se manifeste en la aplicación manejada por el programa.
No acaba allí! Lo mismo es aplicable al entorno de programación, la tal llamada IDE. Como ejemplo. NXP, antes Philips, ofrecía como IDE y de forma gratuita una ofrecida por "Code Red" y que se basa en un quasi estandard la herramienta "Eclipse". Pues debido a la importancia estrtégica para NXP, NXP adquirió Code Red, doblo el límite del tamaño de código de la versión gratuita de 256 kBytes a 512 kBytes! Quién aquí a escrito código de mas de 512 kBytes? El costo para ampliar a la versión ilimitada es módico.

Pero también el aspecto de la verificación de un programa y de la eliminación de errores y problemas en estos modernos controladores ha dado un salto revolucionario, y esto de forma gratuita o casi gratuita. En vez de tener que utilizar un simulador, es posible descargar y ejecutar el programa en esta fase en el controlador objetivo y en la placa final. La interfaz mágica que permite esto es la interfaz JTAG.

Para ganar los millares de programadores y ingenieros electrónicos que hoy usan componetes como los Atmel o los PIC, pero también para ganar la batalla por los clientes grandes, los proveedores facilitan cosas fantásticas, las placas de evaluación! STMicroelectronics, provedor del los PIC ofrece por precios bajísimos y regala frecuentemente placas como la STM32F0-Discovery. El STM32F0, un ARM Cortex Mo viene en esta placa de solo aproximadamente 95x53mm con un conector USB y un "Embedded ST-LINK/V2". Yo, que fui mas aficionado a los Atmel AVR después de intensos estudios me fui con NXP y sus LPCXpresso. Una de las razones, y confieso mi inabilidad de establecer las herramientas de programación a base de Eclipse por falta de conocimientos, amé que la IDE no solo es autoconfigurada durante la instalación, sino que conoce las placas LPCXpresso, en mi caso la LPCXpresso 1769. por un precio de solo 19,80 Euros por una placa con un super controlador, un LPC1769, un ARM Cortex M3. Un LPC800 solo cuesta 0.968 Euros, el LPC1769 un Cortex M3 en comparación 7,21 Euros.


----------



## Meta (Feb 8, 2014)

Hola:

Muy bien argumento.







Para personas nóveles.

Lo mejor es tener las cosas claras, puedes encontrar muchas personas que quieren aprender a programar microcontroaldores y te quedas ahí. Luegon lo dejan de hacer porque descubre que no les gusta, solo lo hacen un poco para entregar un pequeño proyecto fin de curso, otros por mera curiosidad, otros se apasionan, otro un largo etc. Antes de empezar, es hacerse preguntas a uno mismo.
*
1. ¿Por qué quiero aprender a programar?*_ (Tener claro si es por curiosidad, te gusta resolver problemas, porque me lo exige los cursos, solo para entregar un proyecto fin de curso, un desafío a mi intelecto, sentir que soy capaz de hacer algo que mis amigos no están acostumbrado a ver ni por mi mismo, por hobby, por profesion que me exige la emrpesa, hacer ciertos proyectos para tenerlo en mi hogar porque me hace falta, vender lo que invento para sacar dinero, me gusta aprender, etc)._

*2. ¿Qué es lo que quiero programar? *_(Programar un ordenador, un movil, un microcontrolador, una página Web, una PLC o autómata programable, un Arduino, tener claro lo que tienes enfocado en tu mente).

_*3. ¿Por dónde empiezo?* _(Se empieza a buscar información de lo que quieres hacer, por ejemplo microcontroladores, leer mucho y ver ejemplos hechos en realidad por youtube para hacer mejor ideas y si realmente tienen intención meterte en este mundo para ver como es)._

*4. ¿Cómo aprendo a programar?* _(Siendo autodidacta a base de libros con mucha pasiencia y dedicación, Internet, la mejor opción es con cursos dedicado a ellos aunque te pegues dos años en un ciclo superior de programación de PC y móviles. También hay cursos del paro para aprender a programar o aumentando conocimientos sobre fundametos de programación)._

*5. ¿Es bueno aprender a programar directamente?* _(No, no es bueno ni aconsejable a programar directamente, es bueno tener conocimientos sobre fundamentos de programación, luego programación, si no es así tendrás problemas en el aprendizaje y capacidad en resolver problemas  entre otras desventajas)._

*6. ¿Qué microcontrolador deseo programar?* _(Hay tantas marcas y modelos de la misma familia para escoger. Normalmente, antes de empezar a correr, se empieza gateando, luego caminando, cuando te sientas con soltura, al ritmo que desees. Las casas se empieza a fabricar desde el suelo, no desde el tejado, hay que tenerlo claro desde el principio).

En centros de enseñansas sea ciclo formativos, Universiades e inclusos cursos privados o del paro, se usa mucho el microcontrolador PIC, especialmente a día de hoy, el famoso y popular PIC16F84A, también Motorola (ahora FreeScale) y rara vez AVR. 

Se escoge al PIC16F84A por ser el más usado, el que más información, documentos e incluso tiene su propio libro que puedes ver aquí. Es el mejor libro de Pic16F84A en ensamblador que hay para aprender a programar. Aprenderás a fondo asm de verdad.

PIC, es el más recomendado para empezar aprender muchas cosas, no solo a programar, sino su arquitectura y el control de dispositivos internos o externos. Luego, cuando ya sepas algo, decides dedicarle más tiempos a otros PIC que más necesites, e incluso abrir los ojos a otros horizontes para ver otras marcas. PIC de la firma Microchip es el más usado, donde hay más información, tiene mucho ejemplos hasta en su propia Web, hay más proyectos sobre ello por todo Internet, hay más ejempmlos en asm que en C sea el país que sea.

Cuando ya sepas asm, si quieres ir más allá sin problemas, mejor usar lenguajes como C, es el más estandar y de adaptarse a muchas marcas. El asm es muy bien distinto para cada marca, no es muy transportable el código aunque sea de la misma familia.

Hay muchas marcas, seguro que se me escapan algunas.
_*7. ¿Por qué enseñan asm en centros educativos? *_(Para que sepas a fondo no solo en teoría sino en prácticas como funcionan por dentro el dispositivo, en españa es por Ley que los profesores te enseñan así. Hay cursos que tienen optativas para aprender en lenguajes de alto nivel como en C. Cuando aprendas, te darás cuanta que en el fondo, vale la pena).

_*8. ¿No es perder el tiempo con ASM habiendo C?*_ (Depende de donde lo mires. Para aprender a fondo y saber mucho más que solo saben C, tienes más soltura e ideas para resolver problemas o ingeiártelas con metodos que solo conoces. ASM es más bien para proyectos pequeños, proyectos grandes se recomienda C, sea porque acabas antes, es más fácil encontrar fallos, es código más transportable y más ventajas. Todo conocimiento es bienvenido).
_*
9. ¿Qué microcontrolador o marca es mejor o me hace falta?*_ (Mejor o no depende de las necesidades de la persona. De una sola marca hay muchísimos para elegir, también hay otras marcas como indica abajo)._
*Microcontroladores*



ARM
Atmel
Cypress
Digi
Diodes
Ember
Energy Micro
Fairchildsemi
FreeScale
FTDIchip
Fujitsu
Hitachi
Holtek
IDT
Infineon
Intersil
JMicron
LSI
Maxim-IC
Micrel
Microchip
Microsemi
National
NEC
Nuvoton
Oki
On Semi
Parallax
Philips
Picaxe
Rabbit
Renesas
Rohm
Samsung
Semtech
Silabs
STMicroelectronics
TI
Toshiba
Winbond USA
Xmos


Muchos me preguntaron como podemos  aprender a programar en algun lenguaje de programación ya sea C++, JAVA,  Visual Basic, .NET, Power Builder, PHP, Javascript, ASP.Net, Python,  Ruby, etc, etc, etc...Hoy te traigo los 5 pasos básicos para hacerlo.[/SIZE]


*1.- Si te gusta resolver problemas, entonces este es tu campo: *Un  programador se hace cuando problemas en la vida tiene y anhela  resolverlos, se ingenia como desarrollarlo, desde un simple calculo de  matematica hasta un problema logico.


*2.- Lo simple, siempre suele ser lo mejor:*  En programación debemos de aprender que lo difícil nunca se puede hacer  a menos que se tenga un cierto nivel de aprendizaje, se comienza de  poco subiendo el nivel, comenzando a desarrollar algoritmos sencillos  hasta resolver los más complicados.


*3.- La Base son los ALGORITMOS:*  Toda persona que quiere aprender a programar siempre empieza buscando la  estructura del lenguaje de programación y todo eso sin darse cuenta que  no lo es todo, DEBES APRENDER A ANALIZAR LA LOGICA, _Un ingreso, un proceso, una salida._  Si tienes en mente lo que tu programa procesará entonces has creado un  algoritmo: conjunto preescrito de instrucciones o reglas bien definidas,   ordenadas y finitas que permite realizar una actividad mediante pasos   sucesivos que no generen dudas a quien deba realizar dicha actividad.


*4.- Programador en 2 horas:*  Dejame decirte que no aprenderas a programar sin antes aprender a  analizar, diseñar y sobre todo conocer la codificación. Es como aprender  Ingles , tu conoces el español pero para aprender Ingles debes aprender  los verbos, la cultura del país, etc. Es por ello que debes aprender  PRIMERO: declarar variables en el lenguaje que estas aprendiendo,  SEGUNDO: Las estructuras de control(IF, ELSE, WHILE, SWITCH, DO, FOR,  CASE ), TERCERO: Ambito de variables(Local, Instancia, Global). CUARTO:  Arreglos y Matrices, QUINTO: Listas, SEXTO: Archivos, SEPTIMO: Base de  datos. etc etc etc, vez que en 2 horas no podras hacerlo todo, se  requiere tiempo y esfuerzo para hacerlo.


*5.- Estar las 8 horas del día programando:*  Una vez que ya tengas la base de algoritmos, es hora de comenzar a  prácticar, primero en papel para que puedas recordar el codigo,  comenzando con una simple suma de 2 numeros, calculo de factorial,  calculo de promedios, calculo del mayor de 4 numeros, el menor de 5  numeros, el numero perfecto, el numero impar, par, etc. asi iras  incrementando tu nivel, en Internet hay muchos ejemplos pero lo más  importante es entender lo que escribes. ENTENDER EL CODIGO ES  IMPORTANTE.


Más información recomendable antes de lanzarse a la aventura.
http://www.aprenderaprogramar.com/i...como-empiezo&catid=23:lo-mas-basico&Itemid=73

A pesar de ello el programador tiene otras tareas que aprender, algo de electrónica.






Un saludo.


----------



## TRILO-BYTE (Feb 8, 2014)

bueno el arduino es como usar una bici con llantitas
para hacer cosas de verdad hay que quitarle a la bici las llantitas 

ahora yo uso el pic16f716 bueno en mi ciudad es muy barato mas barato que conseguir otro micro
ademas para lo que hago usar un termopar, un motor a pasos ,etc.  
me viene como miel sobre hojuelas

a lo mejor a otros no a lo mejor en sus ciudades sale mas barato otro micro de otra marca p fabricante y no los culpo. 
todo se trata a fin de cuentas COSTO BENEFICIO

sigo diciendo el mundo no es plano "Arduino, pic16f84a, pic18f4550, atmega8 " el mundo es redondo 
bueno almenos no es un hot cake es mas como un cilindo  "aun faltan cosas por documentar"

digo algunos programadores hacen maravillas sobre arduino me lo dijo un gran programador que saludo de mano al dueño de microchip inc. este gran programador dijo arduino es facil pero aun asi tiene su chiste y su facilidad se le puede sacar provecho.

aun asi sigo diciendo este tema se desvio como un carrito de supermercado

aparte de fabricantes si ninguno les agrada pues fabriquen su propia CPU no es dificil solo hay que armar el hardware ahi si deben saber ASM del CPU a construir


----------



## R-Mario (Feb 8, 2014)

TRILO-BYTE dijo:


> ademas para lo que hago usar un termopar, un motor a pasos ,etc.
> me viene como miel sobre hojuelas



Que solucion usas para medir termopares?


----------



## TRILO-BYTE (Feb 8, 2014)

Usé un chip que ya venden para el termopar.
¿Imagina hacerlo por puente de wheatstone? Perdida de tiempo.

Vale como $7 dolares, se supone que es preciso "me lo recomendó un colega" yo solo lo hice y vuala.
Me encargaron hacer un medidor para un termopar para un pequeño horno para fundir muestras químicas

Obviamente por la rapidez baje una librería que anda circulando por internet para echar a andar este proyecto.
Y por rapidez y economía lo hice con cosas que encontré botadas en el laboratorio "usé 4 displays de 7 segmentos, un pic16f716 , y un 74ls47" 

Lo único que compré fue el max6675 

Si quieren verlo y simulación en proteus con gusto lo compartiré.


----------



## cosmefulanito04 (Feb 8, 2014)

Una termocupla (termopar) no la podés poner en un puente de Wheatstone, un termistor si.

En la termocupla solo te queda usar un amplificador instrumental por la poca tensión que te tira a la salida, el problema en ese caso está en usar fuente simple, ya que necesitas uasr un rail-to-rail.

Y nuevamente nos fuimos por la tangente... 

Volviendo al tema principal, concuerdo en la mayoría de los puntos que destacó *Beamspot*.


----------



## mamun (Feb 10, 2014)

Buen día a todos.

Ya me mariaron con tanto rollo, jajaja .

Y me dije por que no aventar el mío. 

Yo soy de pueblo y no se me daba lo de la programación, en la escuela el profesor nos enseñó un microcontrolador el más básico de los AVR el AT90S1200, curiosamente de las dos prácticas que nos dejó el profesor a mí fue uno de los que les salió todo bien,  a lo cual me sentí muy bien y fue cuando continúe con todo esto. Leí libros de PIC que se encontraban en español para entender mejor el asunto de los micros, pero siempre insistí con los AVR por verle mejores sus prestaciones.

En Guadalajara los micros AVR son más baratos que los PIC, uno de mis clientes me pidió migrar un proyecto echo con el PIC16F84 a un ATTINY2313 en lenguaje asm ya que le salía más barato ese micro, era un aparato de luces con un par de motores uno de DC y otro a PASOS que ejecutaban varias secuencias de movimientos. El programa llenaba casi en su totalidad la memoria del PIC.
El motor de DC salía algo caro y el cliente me pidió que lo cambiara por un motor a pasos, así es que el micro controlaba dos motores a Pasos hice una copia de las secuencias de movimiento y le agregue otro tanto, utilice el 75% de la memoria del micro y el cliente quedo muy satisfecho.

Después intente en varias ocasiones aprender lenguaje C por mi cuenta y siempre me decía esta mejor ASM y después pasaba al Basic (Bascom-AVR) y de nuevo al C.

En mi trabajo he visto módulos laser controlados con PIC y con AVR’s, se utilizan para telecomunicaciones con fibra óptica, también sé que muchos de los micros que están en los sistemas de un auto BMW son AVR´s.

Siempre he querido programar micros de 32Bits y estuve a punto de comprar un kit con AVR32 pero me di cuenta del poderio y popularidad de los ARM y me decidí por uno de ellos.
Compre el Kit STM32L1-Discovery y el KIT STM32F429I-Discovery son microcontroladores ARM Cortex M3 y Cortex M4 respectivamente, y estoy en el proceso de entender poco a poco a estos mostros. 

Las características de estos Kits son las siguientes:

STM32L1-Discovery
Micro STM32L152RBT6 con 128KB Flash, 16KB Ram, 4KB EEprom, LQFP64, ST-LINK/V2 programador-debuguer incluido, alimentado con el puerto USB, LCD Dip28 24 Segmentos, dos led para controlar y dos botones. El micro parece que se esta descontinuando por que lo están sustituyendo por STM32L152RCT6 (256 KB Flash memory, 32 KB RAM, 8 KB EEPROM).





STM32F429I-Discovery
Micro STM32F429ZIT6 con 2 MB Flash, 256 KB Ram, LQFP144, ST-LINK/V2 programador-debuguer incluido, alimentado con el puerto USB, Pantalla LCD 2.4’’ QVGA TFT, SDRAM 64 Mbits externa, USB OTG, giroscopio, dos led para uso y dos botones.





En resumen los micros de 32Bits se están igualando en precio a los micros de 8Bits y su poderío es por demás sabido por todos es por eso que deberíamos en pensar muy seriamente aprender a usarlos, dejo un ejemplo de los precios que encontré en ARROW, tome este PIC y AVR solo por la memoria flash.

PIC18F4550 $4.47USD DIP40, $4.43USD 44PIN TQFP 32K Flash
ATMEGA32 $5.8USD DIP40, $3.7USD 44PIN TQFP 32K Flash
STM32L152RBT6 $4USD 128K Flash
STM32L152RCT6 $4.45USD 256K Flash
KIT STM32L-DISCOVERY 11 USD
KIT STM32F429I-Discovery 28.71 USD

Saludos....


----------



## TRILO-BYTE (Feb 10, 2014)

pues si exacto es oferta y demanda
actualmente los micros de 32 bits tienen una gran aceptación por por que hoy en día los aparatos modernos tienen micros de 32 bits

de hecho hay diseños que incluyen los micros de 32 bits para aplicaciones de casi casi prender un led y un relé 

el pic16f84a y el atmega 8 es un factor virulento en la comunidad estudiantil y amateur por su documentación en español y sus ejemplos, pero hoy en día son hasta mas caros que otros micros de mejores prestaciones.

pero para proyectos en masa no conviene usarlos. 
pero para proyectos de hobby ,etc.
es comodo ir a la tienda y comprar el mas barato o que este disponible con el numero de pines y memoria, si en las tiendas esta barato el 16f84a por ejemplo exagero  
pues nimodo atorarle para prender un led y una chicharra. 

aveces texas regala la placa del launch pad o las vende a precios de regalo.

pero aveces la gente y me incluyo nos complicamos la vida y compramos micros de pecimas prestaciones "de costo y beneficio" y compramos micros populares a un alto precio 

un ejemplo es el Arduino


----------



## Meta (Feb 10, 2014)

mamun dijo:


> Yo soy de pueblo y no se me daba lo de la programación, en la escuela el profesor nos enseñó un microcontrolador el más básico de los AVR el AT90S1200, curiosamente de las dos prácticas que nos dejó el profesor a mí fue uno de los que les salió todo bien,  a lo cual me sentí muy bien y fue cuando continúe con todo esto. Leí libros de PIC que se encontraban en español para entender mejor el asunto de los micros, pero siempre insistí con los AVR por verle mejores sus prestaciones.
> 
> *AT90S1200 es equivalente a lo más parecido al PIC16F84A. Esa fue la respuesta que me dieron este foro por el 2008 cuando no dabía nada de AVR.*
> 
> ...



*A pesar dl precio de los AVR, donde vivo te lo vende inclusos en algunos locales, más caros que los PIC. Al preguntarle al vendedor me responde:

Política de la empresa. Si no te gusta, hay más sitios. (No nombra ninguno en particular).
Otro responde porque es menos demandado y hay que amortizar.

Total, escojas lo que escojas, si van hacer el mismo proyecto, el que sea, sea PIC, AVR, FreeScale, ARM funcionan de maravilla en proyectos sencillos.*



TRILO-BYTE dijo:


> pues si exacto es oferta y demanda
> actualmente los micros de 32 bits tienen una gran aceptación por por que  hoy en día los aparatos modernos tienen micros de 32 bits
> *
> Deja  que vengan los de 64 bits solo por demada y negocio, no porque  realmenta haga falta, ya verás. Y eso que se centrarán encontrolar Led,  LCD, motores PSP, cosas sencillas con 64 bits. Aunque no haga falta  realmente, la gente es curioso por probar cosas nuevas y me incluyo.*
> ...


----------



## Nuyel (Feb 10, 2014)

Aquí el PIC16F84A es: obsoleto (veamos que solo es un timer y GPIO) y caro, pero lo siguen vendiendo, es más barato tomar por ejemplo el PIC16F628 que cuesta casi la mitad o el PIC16F819, me da un poco de pena que lo sigan usando y para aplicaciones "serias", para practicar está aceptable (por que ni bien lo veo) pero para implementar en un proyecto no lo acepto para nada, si quieren quebrarse la cabeza en asm para programar un chip que no tienen nada allá ellos, pero que al menos se justifique el costo del chip, si no, no importa que estén usando un ARM y sobren pines, lo que importa es que funcione apropiadamente con el menor costo posible tanto en material como en tiempo.


----------



## R-Mario (Feb 10, 2014)

Hola Nuyel, de decirte que un pic16f84 si lo compras por mayoreo te cuesta 5 pesos, la culpa es de los re-vendedores y obvio de los profesores que siguen aferrados a el, pero por 5 pesos se me hace una buena forma de darle solucion a algo sencillo, claro cuando hablamos de un proyecto donde se vallan a producir una buena cantidad, insisto comprar un f84 con revendedores por $40 pesos ya no me causa gracia.

Por cierto ¿en que parte de mexico estas?


----------



## Nuyel (Feb 10, 2014)

Ojala 40MXN los [...] lo venden a 100MXN, y desde entonces prefiero importarlos.


----------



## Meta (Feb 10, 2014)

El PIC16F84A es obsoleto desde cualquier parte del mundo. Precisamente este PIC obsoleto tiene su propia documetación por Internet y su propioi libro dedicado a ello.

http://pic16f84a.org/

A parte de ello, ese mismo PIC se usa en universidades y ciclos superiores. Por algo será tan famoso y popular. Eso si, su sustituto está por ver entre PIC16F628A y el PIC16F88, donde vivo se opta por el 16F88, porque tiene entradas analógicas y no se que más funciones. Por eso lo traen.

Total, mirando las listas de PIC que hay, más de 400 y AVR más de 200, tenemos para escoger el que más nos guste.


----------



## cosmefulanito04 (Feb 10, 2014)

Meta dijo:


> ...A parte de ello, ese mismo PIC se usa en universidades y ciclos superiores. Por algo será tan famoso y popular. Eso si, su sustituto está por ver entre PIC16F628A y el PIC16F88, donde vivo se opta por el 16F88, porque tiene entradas analógicas y no se que más funciones. Por eso lo traen.



*Meta*, no te confundas con lo que dan en ciertas universidades y lo que realmente se usa hoy en día.

Es preferible en términos prácticos que si van a enseñarte algo viejo, por lo menos que sea una arquitectura difundida por la industria como los 8051, un 8051 a pesar de ser viejo le pasa el trapo a ese PIC y dá sólidos conocimientos en cuanto a la programación.

Y si vas a enseñar assembler, hacelo en la peor arquitectura posible, el x86, después de eso todo resulta sencillo.

Hoy en ciertas facultades (universidades) de por acá, ya directamente van a ARM, lo cual es lógico, no tiene sentido enseñarle a los alumnos tecnología que está por quedarse fuera, además si manejas un ARM, un PIC/AVR termina siendo un chiste.

Siempre es mejor nivelar hacia arriba y no hacia abajo.


----------



## ByAxel (Feb 10, 2014)

Pequeña intro online de hace unos años.  ARMando el rompecabezas.
No pretendo coronar a ningún microcontrolador ya que no tiene sentido, después de todo la mayoria coincide y me incluyo a la hora de decidir por uno es a partir del costo, de la cantidad de información, disponibilidad, poténcia para x taréa, si es educativo, gustos, colores, etc... 

Por donde vivo, saber como programar micros es algo irrelevante a la larga y a pesar que lo pinden como requisito en algunos lugares, nunca en todos los años de trabajo se vuelve a tocar un microcontrolador , en mi país es un poco dificil ser desarrollador serio (a la fecha) y generalmente se toma como hobbie... no por eso no hay verdaderos expertos en el tema y algunos han logrado hacer una pequeña empresa.

Saben en que tipos de trabajo uno puede ser más constante con respecto a la programación de micros?? que no sea regrabar el micro dañado


----------



## Nuyel (Feb 10, 2014)

Viva el 8051!!
Es arquitectura vieja pero no obsoleta, y además son cientos de modelos de varios fabricantes diferentes, enseñar el 8051 seria enseñar pensando en diversidad, no atarlos a una empresa, y sería más viable que enseñar ARM en ensamblador, yo he querido probar unos SoC de Texas Instruments con radios (Bluetooth, ZigBee y otros de propietario) que implementan el 8052, pero necesito comprar primero un CC Debugger.

El 8051 sería como el ARM de 8bits, un buen sustituto para cuando 32bits sobran.


----------



## Meta (Feb 10, 2014)

cosmefulanito04 dijo:


> *Meta*, no te confundas con lo que dan en ciertas universidades y lo que realmente se usa hoy en día.



Las Universidades le dices que no quieres saber nada de PIC16F84A para aprobar la asignatura porque te gusta más Philips estás suspendido. Por eso nadie se queja, jaajajja.

En fin de curso puedes opatar por lo que quieras.

PIC es PIC, AVR es AVR, los dos son competencias similares, me da igual usar uno o otro contar de aprenderlos, aunque sea con Arduino y le cojas rabia.

En cuanto a ARM. Le tengo unas ganas de hecharlas las garras....................

En foros internacionales no sabe o no se pone de acuerdo con cual empezar, hasta con grabadoras y demoboard incluidos.

Total, con lo que hay no está tampoco del todo mal si hacemos circuitines de encender y apagar estados lógicos simples apenas sin usar protocolos como RS232, i2C, SPI, etc. Con tratamiento de imágenes se sale los ARM. 

Gracias a Arduino, se ha impulsado un poco AVR, incluyendo bajo coste.

Un saludo.


----------



## TRILO-BYTE (Feb 10, 2014)

pues los arduinos no son nada baratos, los ST y los texas tienen precios de regalo tanto que ofende comprar un NE555

y un arduino tiene precio a de me vieron la cara y dice uno prefiero llevar a cenar a mi novia 2 dias seguidos con el precio de un arduino 

los Avr son por lo que veo muy usados en los EUA mas que en otros lugares del mundo

y si en las universidades enseñan el 16f84a es por que aveces los maestros son tan ineptos que agarran el libro Rosa "que por desgracia fui victima del 84a" y hacen los que llamamos un copy paste de enseñanza.

es una realidad que pasa en todo el mundo por lo que veo en este foro


----------



## Meta (Feb 11, 2014)

Buenas:

Arduino vale caro porque la placa vale cara, la gente por lo que veo, les da igual, se compran hasta Raspberry Pi incluido, más caro todavía. Se espera la versión nueva a lo largo de este año.

Lleva desde el PIC16F84A todavía, ajjajajaj, aprendí con él entender la estructura interna y como se programa asm en él. Por supuesto que usará un PIc o otro también por sus patillajes, 28 y 40.

Usaré el AVR ATMEGA328P, sea con Arduino y para aprovechar las aventuras a ciegas, a su lenguaje de C natural, lo que se programa AVR relamente.

ASM está bien con PIC16F84A y veo que los novatos en otros foros lo buscan con ansias, no le hables del 16F88 ni nada, si acaso el 16F876A porque tiene entradas analógicas. Dicen que hay mucha documentación para PIC16F84A y en la uni le hace falta, bla, bla, bla.

El que quiera aprender de verdad como autodidacta busca lo que sea. 

Frente a la competencia...

¿Por qué centrarme solo PIC?

¿Por qué centrarme solo en AVR?

¿Por qué centrarme solo una marca o familia?

¿Por qué no me dedico a aprender ciertas marcas, no quedarme solo con una?

Si quiero un PIC fuerte, pues usar el PIC32 nuevo de hasta 200 MHz, ahora los menús de pantalla a color me van fluidos.

Está ARM, pero es que tengo que aprender todo otra vez, gastar dinero en nuevas grabadoras, me cuesta menejarlo por el tema de falta documentación.

Sea lo que sea, el que reinda desde hace décadas en PIC de la firma Microchip. AVR de la firma Atmel es su competencia muy fuerte. ARM siempre ha sido muy bueno y cada vez noto que lo usan más y más, no a nivel de AVR pero ahí está, hasta que salga más documentación.

Por parte de los fabricantes, que hagan compiladores gratuitos, foro especializado para los usuarios, que den muestras a las universidades, que incluya muchos ejemplos de todo tipo. ¿ARM lo hace?

Dicen que un microcontrolador ST son buenos, hay gente que los usa, pero donde vivo, el que se pide es PIC y AVR, si quieres ARM pagas por adelantado, luego te busca la vida.

Total, nos quedamos con lo fácil de usar, en sentido de tene la posibilidad de comprar un 16F84A y no mendarlo a pedir.

Mira que antes era ciergo solo para PIC y un poco para AVR, que es lo que veía en revistas de electgrónica desde la infancia. ARM, ST, Philips muy poquito, difícil de conseguir.

En cuanto a Arduino, está bien como entrenadora y nada más, para hacer placas para algún circuito, usaré mi propia PCB y los componentes que haga falta realmente.

Saludo.


----------



## Nuyel (Feb 11, 2014)

echase las META, yo ahora mismo ando jugando con mi FRDM-KL25Z, la estoy haciendo un AirMouse usando el acelerometro integrado y el slider touch, solo necesitas sacarla de la caja y cargar el programa, ni si quiera necesitas los headers soldados para correr mi código  no son para nada caras las tarjetas de evaluación de los ARM, son muy recomendables para el inicio por que necesitas soldar un montón de componentes para disfrutarlos, desde el regulador de 5V a 3,3V, el chip ya que no es DIP, algunos headers, cristal para el reloj principal, cristal auxiliar de 32,768kHz, algunos LEDs, botón de reset,..., las placas de evaluación salen económicas y te incluyen un programmer/debugger, que incluso puedes adaptar para programar chips fuera de ellas (claro que no te garantiza soportar todos los chips pero al menos con el que trabajas en la placa).

Por ahora como no tengo tiempo de aprender a usarla pues solo estoy jugando a hacerla un ratón aéreo usando las librerias de mbed.org, ese sito es bueno para introducirte en el mundo de ARM asistido, lo mejor es que puedes exportar a varios IDEs y compiladores, yo por ejemplo estoy usando GCC, solo uso el Notepad++ para escribir el código y para compilarlo tengo que ejecutar el make, ya cuando lo exporté me hicieron el fastidioso makefile que tanto me desespera :cabezon:

Tambien tengo la LauchPad Stellaris (ahora descontinuada y reemplazada por la Tiva C), esa igual la programo usando GCC y la libreria, pero como dije antes, cuando no tenia tiempo de aprender a usarla usé el IDE Energía que es idéntico al de Arduino, hasta trae los archivos de Arduino adentro  así que vas con el mismo lenguaje pero con un ARM Cortex-M4F, así que podrás probar el ARM igual  ahora que piensas introducirte a AVR con Arduino. O las plataformas Freedom de Freescale, no son del mismo lenguaje pero si de la misma forma que un Arduino UNO, con mbed esa cosa se programa en C++

Planeo aumentar mi colección con unas LauchPad Hercules(Cortex-R4) pero probablemente primero compre la próxima LauchPad TM4C129x esa cosa tiene Ethernet integrado, habrá que esperar para ver cual va ser el precio cuando esté lista.



TRILO-BYTE dijo:


> pues los arduinos no son nada baratos, los ST y los texas tienen precios de regalo tanto que ofende comprar un NE555
> 
> y un arduino tiene precio a de me vieron la cara y dice uno prefiero llevar a cenar a mi novia 2 dias seguidos con el precio de un arduino



 ciertamente he pensado en conseguir una de ST por que maneja altas frecuencias y el costo no está nada mal, las veo buenas para aplicaciones multimedia (obvio que no verás una película ahí), mi LaunchPad Stellaris costó 13USD, la FRDM-KL25Z 18USD, y una copia china de Arduino UNO R3 en DealExtreme como 15USD y eso que es copia  , ahora esos precios incluyen todos los gastos pero la diferencia de las dos primeras es que llegan por paqueteria privada (FedEx y UPS) en menos de una semana mientras que el Arduino llegó después de 2 semanas con el cartero 



Meta dijo:


> Si quiero un PIC fuerte, pues usar el PIC32 nuevo de hasta *2000* MHz, ahora los menús de pantalla a color me van fluidos.
> 
> Está ARM, pero es que tengo que aprender todo otra vez, gastar dinero en nuevas grabadoras, me cuesta menejarlo por el tema de falta documentación.
> 
> ...


Se te fue un cero de más 

ARM tiene GCC que es gratuito  el compilador online de mbed.org tambien, ¿quieres IDE? está CooCox que compila con GCC (honestamente lo tengo instalado pero no lo he usado), ejemplos y comunidad, la hay, los mismos fabricantes te dan ejemplos, especialmente TI, te da una guía que te introduce, múltiples ejemplos de código y un libro guía para usar la librería de periféricos, el asunto, es que hay que saber inglés 

ARM asusta al comienzo, especialmente por que tienes que prepara el archivo de inicio con la tabla de vectores o el "Blink a LED" ni siquiera compila  como me peleé con ello la primera ves que quise iniciar un proyecto en blanco en el CCStudio  después que le entiendes se vuelve... complicado  para que te engaño  con tantas opciones para configurar, preparar todo cuesta pero luego controlarlo es más simple.


----------



## Meta (Feb 11, 2014)

Sí, se me fue un cero demás.  Las ganas de mucho haber un microfontrolador a esa frecuencia, digo microcontrolador, no microprocesador que son m´sa potentes. jejejejeje.

En cuanto a Texas, ni me acordaba de ella. Veo que han probado de todo con ARM incluido. 

¿Tienes fotos o vídeos de sus pequeñas pruebas?

Por ahí se empieza.

Microchip.com tiene todo tipo de documentación en su pripia Web, sin contar con los datasheet, hablo ejemplos completos o partes de ello tanto en asm o en C. Si es en C solo me da igual, es el recomendable para no coger estrés postraumático.

¿AVR, ARM, ST, Texas, FreeScale...?

Saludo.


----------



## Nuyel (Feb 11, 2014)

Pues TI tiene una Wiki, la introducción a lauchpad su mini curso con ejemplos y el code composer studio tiene acceso a más como los enfocados en USB, video pues de mis pruebas solo tengo dos, una de hace mucho con la FRDM-KL25Z del AirMouse y otra de un sensor reflexivo de cuando trabajé en el carrito con la Stellaris, pero no muestran mucho, ahora estaba modificando el AirMouse para mejorar la respuesta de movimiento y ya he agregado clic sostenido, ahora quiero implementar un gesto de scroll usando el touch


----------



## vrainom (Feb 11, 2014)

Nuyel dijo:


> necesitas soldar un montón de componentes para disfrutarlos, desde el regulador de 5V a 3,3V, el chip ya que no es DIP,



Saludos, yo estoy acostumbrado a utilizar la plataforma avr, attiny24, 25 y 261 principalmente, pero ya me dió curiosidad por comenzar a utilizar la plataforma ARM y resulta que hay uno de NXP que es DIP8 y otro DIP28, funcionan a 5v y ¡son muy baratos! Perfectos para comenzar a conocer la plataforma y darles una probada en proto.

Algo que me ha evitado utilizar otros micros como los de freescale que me parece que tienen buenas prestaciones es que no hay documentación por ejemplo para hacer tu propio programador, como atmel o microchip que te dan las instrucciones y los retardos para hacer la programación, pero al parecer con estos ARM es muy fácil, voy a darles una prueba.


----------



## Meta (Feb 11, 2014)

Hola:

http://mx.mouser.com/ProductDetail/...021FN8FP/?qs=sGAEpiMZZMtmz9NzafXQyhIvAjwTEyrk

Impresionante y de 32 bits.

Voy a ver si compro un libro hoy en las librerías incluido Arduino UNO. jejeje. Eso de aprender PIC, AVR, ST, Philips, FreeScale, ARM sin centrarse en uno. Tampoco quiero ser esto:

Mucho de apreniz y poco de Maestro.
http://cvc.cervantes.es/lengua/refranero/ficha.aspx?Par=58243&Lng=0

Saludo.


----------



## cosmefulanito04 (Feb 11, 2014)

Meta dijo:


> Hola:
> 
> http://mx.mouser.com/ProductDetail/...021FN8FP/?qs=sGAEpiMZZMtmz9NzafXQyhIvAjwTEyrk
> 
> Impresionante y de 32 bits.



Se ven muy interesante para empezar con ARM, yo los había visto pero no los recordaba.

Especificaciones

Los ARM de nxp por experiencia les digo que son buenos y tienen el JTAG accesible, es decir pueden armar uds. fácilmente la herramienta, pero requiere de puerto paralelo.

Sobre los integrados SMD, no les tengan miedo, soldarlos parece cosas de ciencia ficción, pero si el PCB casero está bien hecho y se usa flux, hasta se puede soldar usando un soldador convencional (no es lo ideal, porque no podés controlar la ºT y podés dañar el componente, pero si son cuidadosos no pasa nada).

Obviamente en producción solo tenés que preocuparte que el PCB este bien hecho para que el armador pueda soldarlo sin problemas.


----------



## Nuyel (Feb 11, 2014)

Meta dijo:


> Mucho de apreniz y poco de Maestro..



A menos que aprendas ensamblador, no le veo el problema, es decir, solo los registros tienes que aprenderte, una ves que lo haces el resto de programación en C es igual, claro que si no sabes programar bien en C pues no llegarás a maestro de ninguno  y si dependes de librerías no estandarizadas de X compilador pues menos 

De los SMD no le temo, he metido el soldador barato de 35W a mi notebook, primero tienes que llenar de estaño los pads, luego limpias bien los puentes usando maya desoldadora y flux, colocas el chip encima con flux y le das una pasada a los pines, con el estaño que quedaba en los pad basta para que se suelden bien y como es rápido no se calienta mucho, con el que uso mi micro cautin es cuando sueldo el USB micro, esa cosa si es demasiado pequeña para meter la punta hasta el fondo, pero igual generalmente uso la temperatura alta. Bueno, mientras tengan patitas por que si es un QFN esa es otra historia.


----------



## Meta (Feb 11, 2014)

Mucho de aprendíz, poco de maestro.

Ocurre en cualquier cosa que te metas.

En cuanto a ARM, hay nuevas noticias como estas.






El fabricante británico ARM ha anunciado su nuevo diseño de núcleo Cortex-A17  con la gama media como objetivo. La nueva propuesta irá encaminada  hacia dispositivos móviles a partir de 200 euros pero aproximando la  eficiencia a la gama alta. El nuevo A17 no llegará al mercado general  hasta 2015 pero MediaTek ya ha anunciado que lo incluirá en su nuevo procesador _octa-core_ MT6595.

Los  teléfonos inteligentes y tabletas que utilicen el Cortex-A17 ofrecerán  una mayor autonomía y mejorarán el rendimiento en un 60% respecto al  actual Cortex-A9. Los _chips_ correrán a velocidades de hasta 1,5GHz y con capacidad para 1TB de memoria RAM.

El  A17 utilizará un proceso de fabricación de 28 nanómetros, pero el  fabricante de Cambridge asegura que para el año que viene comenzará a  utilizar procesos de 20 nanómetros para este modelo. El _chip_ soporta las últimas APIs de computación para GPUs, incluyendo Open GL ES 3.0, Open CL y Render Script. 

Pese  a que el mercado de los dispositivos móviles está avanzando  inexorablemente hacia la arquitectura de 64 bits, ARM ha desarrollado el  Cortex-A17 como un procesador de 32 bits. La compañía asegura que la  demanda para los 32 bits en la gama media sigue en auge y que la nueva  arquitectura ya la cubren los existentes Cortex-A57 y A53.

Durante  el presente año MediaTek estrenará el nuevo diseño en su procesador  MT6595 con conectividad LTE y ocho núcleos, cuatro A17 y cuatro A7. El  fabricante taiwanés intentará desafiar con su nuevo modelo a Qualcomm y a  su Snapdragon 805, especialmente teniendo en cuenta que MT6595 será un  procesador más económico.

Fuente:
http://www.elotrolado.net/noticia_arm-anuncia-el-procesador-de-gama-media-cortex-a17_23481


----------



## TRILO-BYTE (Feb 11, 2014)

a lo que dijo Don cosme 

que se requiere un puerto paralelo 
aca hay un proyecto que usan un pic18f2550 para hacer el jtag

lo queria probar por que una placa de un ploter se murio y queria revisar una FPGA que contiene y clonarla bueno ya me explaye 

el chiste es que aca les pongo el link de la construccion de un Jtag USB

http://electronicia4u.blogspot.mx/2011/07/dangerousprototypes-ir-infrared-toy-as.html

no lo probe por que descubri que la falla era una EEPROM que se borro que le daba las instrucciones al Chip puente de la placa del Ploter  por desgracia no se que instrucciones llevaba esa EEPROM asi que la tengo en espera de ser operada


----------



## vrainom (Feb 11, 2014)

cosmefulanito04 dijo:


> Sobre los integrados SMD, no les tengan miedo, soldarlos parece cosas de ciencia ficción, pero si el PCB casero está bien hecho y se usa flux, hasta se puede soldar usando un soldador convencional (no es lo ideal, porque no podés controlar la ºT y podés dañar el componente, pero si son cuidadosos no pasa nada).



Flojera, no miedo, con pistola de calor es fácil soldarlos, también está el método del horno tostador para que la tensión superficial acomode a los componentes en su lugar. Pero para hacer un hello world y pruebas sencillas y rápidas nada mejor que un protillo. También del DIP28 me sacó de onda que puede llegar a los 50mhz con un oscilador interno de 12mhz y pll, ya me estoy imaginando tu generador de señales con uno de esos.


----------



## Meta (Feb 12, 2014)

Pues mira que he leído noticias que iban a dejar de fabricar IC tipo DIP, solo se quedarán componentes superficiales.

De todas maneras, para hace pruebas, hacesmuchos PCB con pines para la protoboard y en la plaquita lo sueldas.


----------



## vrainom (Feb 12, 2014)

Pues si para allá va el mercado, ni hablar, habrá que hacer adaptadores o break out boards para hacer pruebas.


----------



## Nuyel (Feb 12, 2014)

Para pruebas nada mejor que esas tarjetitas, te evitas enredos de cables, interesante eso del JTAG con PIC, claro que como se tan bien japones para leer lo que dice la página  話をできるだけど漢字がまだ読むできません  la traducción de Google marea, preferiría otro PIC que pueda trabajar a 3,3V el PIC18F2550 y hermanos si no mal recuerdo necesita mínimo de 4,2V para operar a los 48MHz necesarios para el USB,
Estaba probando los ejemplos de la Stellaris, según uno del uDMA ejecutandose a 50MHz realizó una transferencia de memoria de 39.4MB/s y UART de 23kB/s con 4% de uso en el CPU, interesante lo que hace este chip, es la primera ves que se me ocurre ver para que es el uDMA


----------



## Meta (Feb 12, 2014)

Hola:

El PIC18F4550 si es a 5 V como tensión normal. Puedes conseguir otros PIC equivalente. Desde hace un tiempo, los PIC de la misma marca están los de 5V, otro de 3.3V y otro de 1.8 V, cada vez más se usa el 3.3V para casi todo. No es tan estandar como los 5V pero lo será, también en 1.8V.

Si optas por usar el 18F4550 porque te da la gana, no lo niegues o pases de él, hay conversores de 5V a 3.3V para ello. AVR también pasa lo mismo.

Ejemplo.





Los más usados son estos.
74HC4050

HEX4050BP o el 75LVC245.

También te vale para el protocolo I2C de 5V a 3.3V.

Por mi parte, prefiero un PIC similar pero que use directamente los 3.3V. Con demás marcas ocurre lo mismo, incluido ARM.

Un saludo.


----------



## Ardogan (Feb 12, 2014)

Nuyel dijo:


> ... preferiría otro PIC que pueda trabajar a 3,3V el PIC18F2550 y hermanos si no mal recuerdo necesita mínimo de 4,2V para operar a los 48MHz necesarios para el USB,



Estan los pic18f14k50 que trabajan a 3.3V sin problemas.
Pero sí, para aprovechar al máximo el ancho de banda del USB (o de cualquier puerto: i2c, spi, uart, can, i2s, paralelo,etc) el DMA es imprescindible.


----------



## Meta (Feb 12, 2014)

Hola:

¿Qué es DMA?

Un cordial saludo.


----------



## Nuyel (Feb 12, 2014)

Meta dijo:


> Hola:
> 
> ¿Qué es DMA?
> 
> Un cordial saludo.



Direct Memory Access, permite transferir los datos reduciendo la intervención del CPU y mejorando la velocidad, este chip solo soporta de periferico a SRAM y SRAM a SRAM, pero es interesante por que permitirá capturar datos y transmitirlos a altas velocidades, me pregunto cual seria la tasa en el USB


----------



## cosmefulanito04 (Feb 12, 2014)

Acceso directo a memoria (*D*irect *M*emory *A*ccess).

La idea es que los periféricos puedan acceder directamente a la memoria RAM sin necesidad de que el Core del uC deba intervenir, de esta forma conseguís que esos componentes puedan trabajar con grandes cantidades de datos en forma más veloz.


----------



## Nuyel (Feb 12, 2014)

Me encontré esto está barato, más que intentar el JTAG con el PIC.


----------



## cosmefulanito04 (Feb 12, 2014)

Yo le tenía ganas, pero desde que por estos pagos nos cerraron las importaciones de "paquetitos", no llegué a traerlo.

Algo con lo que te enfrentás con los cortex, es que por el momento no hay modelo para simularlo en el proteus, por lo tanto si vas hacer un proyecto grande, si o si necesitas una herramienta para hacer el debug (incluso con Proteus y todo).


----------



## Ardogan (Feb 12, 2014)

Meta dijo:


> Hola:
> 
> ¿Qué es DMA?
> 
> Un cordial saludo.



Ya respondieron antes, pero para dar un ejemplo práctico y no quedarse en la definición... 

Supongamos que tenemos un micro con el que medimos 8 variables a través del conversor analógico digital y las enviamos a la PC a través de un puerto UART.

En micros sin DMA habría que escribir un programa para que mueva byte a byte los resultados del CAD al UART.
Pero en un micro de más recursos con DMA (no hace falta que sea de 32 bits, uso los msp430f5510 que son de 16 bits y traen 3 canales DMA) lo que se puede hacer es establecer un canal DMA entre los resultados del conversor CAD, y la transmisión por UART; y todo puede funcionar sin que el programa ejecute ningún otro código aparte de la configuración inicial.
En el msp430f5510 uno podría hacer:


Configurar el conversor AD para que muestre las entradas analógicas A0 a A6 en secuencia cada 20 milisegundos (el trigger de inicio de conversión lo daría un timer cuya salida se conecta al CAD).
Configurar el puerto UART con el baud rate deseado.
Configurar el canal DMA0 (hay DMA1 y DMA2 también) para que la fuente de datos (source address) sea el registro donde se guarda el resultado del CAD, el destino de los datos sea el registro donde se escribe para transmitir el dato por UART, y que las direcciones de origen y destino no se incrementen. El trigger de la transferencia se configura para que sea la señal de fin de conversión del CAD.
Una vez configurado eso se arranca el timer y ualá!!!!, tenemos un flujo de datos sin que sea necesario ejecutar nada de código en el micro, uso mínimo de ram y flash, sin interrupciones, nos queda un gran ancho de banda para ejecutar el resto de la aplicación (atender entrada de usuario por botones y actualizar un LCD, ejecutar filtros, etc).
Estamos transfiriendo 8 variables de 10 bits (pongamos 16 porque el tamaño de registro del CAD se lee como 16 bits) cada 10 ms prácticamente gratis:
8*16/10e-3 = 12.8 Kbps (ya no nos alcanzaría los típicos 9600 bps del uart, lo tendríamos que poner a 19200 mínimo).

Respecto de las incrementar/decrementar las direcciones destino y fuente, está para transferir datos desde/hacia un buffer hacia/desde un puerto serie u otro buffer.
El trigger puede ser en general señales de interrupción de cualquier tipo (de un puerto serie uart/spi/i2c, de una señal externa, timers, etc).

////////////////////////////////////////////////////////////////////////////////////////////////////////

Por ejemplo, otro caso de uso: tenemos lo mismo que antes pero funciona a baterías (por lo tanto es importante tener al micro durmiendo lo más posible) y guardamos los datos en una memoria flash externa.
Las memorias flash manejan bloques de 256/512/1024 bytes, supongamos que es de 512 (como las tarjetas SD), y también se pueden poner en bajo consumo (a través de comandos o si no tienen esa funcionalidad cortando la alimentación con un mosfet P) (sino en reposo pueden consumir cientos de uA, lo que para bajo consumo es mucho).

En este caso conviene juntar uno o más bloques para enviar a la memoria, y energizar/despertarla solo cuando hayamos juntado varios segundos/minutos de datos. Claro que para esto tenemos que tener micros con varios KB de ram, el msp430f5510 tiene 4/6 KB así que podría usarse.


La configuración del CAD sería igual
Configurar el SPI para manejar la memoria
Canal DMA0: origen = CAD; destino = buffer en memoria RAM; trigger = fin de conversión CAD; cantidad de datos = 4096 bytes (8 bloques); incrementar dirección origen = no; incrementar dirección destino = sí
Canal DMA1: origen = buffer en RAM; destino = puerto SPI para mandar los datos a la memoria; trigger = manual; cantidad de bytes = 4096; incrementar dirección origen = sí; incrementar dirección destino = no
Acá sí precisaríamos un mínimo de código en interrupciones y bucle principal. Cuando se active la interrupción de DMA0 (al tener ya 4096 bytes en buffer) va a haber que despertar la memoria (por comandos) o energizarla si no tiene funcionalidad de bajo consumo <10 uA (y en tal caso habrá también que inicializarla). 

Luego enviarle los comandos para escritura de múltiples bloques, y cuando ya esté lista para aceptar los datos iniciar la transferencia de los 4096 bytes a través de DMA0 (acá ya podríamos apagar la CPU de vuelta para ahorrar energía).

Finalmente cuando nos despierte la interrupción del DMA1, enviamos los comandos para que empiece a grabar, esperamos durmiendo el fin de grabación; y luego apagamos/mandamos a dormir la memoria.

En resumen los estados serían (CAD y DMA trabaja siempre, no lo incluyo):


Llenando buffer RAM: memoria apagada + CPU durmiendo
Buffer RAM lleno: todo trabajando, encender memoria y enviarle comandos.
Inicio vaciado RAM: empezamos transferencia buffer a memoria por DMA, CPU apagado, memoria encendida
Grabación memoria: enviamos comando grabación, la memoria queda encendida un tiempo hasta completar tiempo de grabado, la CPU está la mayor parte del tiempo apagada
Repetir...
 Hay detalles que no contemplo porque se hizo muy largo y se trata de dar una idea más que una implementación.
En este último para guardar 4KB tendríamos despierto al micro la fracción de tiempo necesario para iniciar la transferencia de datos a la memoria, y para terminarla. Para dar un número, algo entre 10 y 50 milisegundos. Pongamos 25 ms.

Para juntar 4096 bytes (32Kbits) a 12.8Kbps tardamos 2.56 segundos. Ok... es poco tiempo, una aplicación portátil maneja tasas de muestreo más bajas normalmente, pero no importa.
Entonces con el DMA tenemos el micro con un ciclo de trabajo de 25e-3 s / 2.56 s < 1%.
Sin usar DMA el ciclo de trabajo podría ser algo del orden de 50%.

El consumo del micro en reposo (no en el modo de potencia más bajo porque precisamos tener los sistemas de reloj trabajando para usar el DMA) sería =
sistemas reloj siempre activo + el CAD trabajando continuamente con la referencia interna + el SPI cuando tenemos los datos listos para transferir + etc... seamos generosos y digamos 400 uA.
En modo activo corriendo a 8MHz consume aprox 3 mA

Consumo con DMA: 1% (activo + reposo) + 99% * reposo = 0.01 * 3 mA + 0.99 * 0.4 mA = 0.42 mA = 426 uA
Sin DMA: 50% (activo + reposo) + 50% reposo = 0.5 * 3 mA + 0.5 * 0.4 mA = 1.7 mA  -> 4 veces más
Si es una pila botón de 220mAh con DMA: 21 días; sin DMA: 5 días

////////////////////////////////////////////////////////////////////////////////////////////////////////
Se me fué la mano escribiendo , pero quería dejar claro que en algunas aplicaciones donde el micro maneja un buen volumen de datos el DMA hace la diferencia.

Edito: aparentemente exageré mucho con el consumo en reposo, que estaría más cerca de los 100uA, así que la diferencia sería más tirando a 80 días vs 6 días


----------



## mamun (Feb 13, 2014)

Buen día Amigos.

El KIT STM32L1-Discovery tiene incluido el programador y puedes hacer debug con el, todo en UNO.

Les anexo un proyecto de titulación que encontré en la RED sobre este Kit, esta en Español pero se ve algo mal.

También tengo otro en Ingles por si les interesa.

Saludos...


----------



## george.manson.69 (Feb 13, 2014)

Yo he estado pidiendo material de ARM CORTEX M0-M3, por ahora tenego el STM8 y ARM CORTEX M3 en esta pagina.

http://www.wvshare.com/product/index.htm

y me llegan hasta la casa, claro prefiero pagar mas de envio para tener el trucking number,
ya que te lo envian por ordinario y te llega en un MES dependiendo de donde eres.

Saludos!


----------



## Nuyel (Feb 13, 2014)

cosmefulanito04 dijo:


> Yo le tenía ganas, pero desde que por estos pagos nos cerraron las importaciones de "paquetitos", no llegué a traerlo.
> 
> Algo con lo que te enfrentás con los cortex, es que por el momento no hay modelo para simularlo en el proteus, por lo tanto si vas hacer un proyecto grande, si o si necesitas una herramienta para hacer el debug (incluso con Proteus y todo).


La tienen difícil por allá en estos tiempos.

No tengo dinero para comprar Proteus, por eso me enfoco en compilar tambien con GCC, el Code Composer Studio está bien para los kits de TI y me da un par de limitaciones pero suficiente para probar segmentos de código, y como generalmente evito las librerías restrictivas no tengo problemas al portar el código de un compilador a otro, aún no he trabajado en un proyecto grande como para requerir un debug avanzado.


----------



## R-Mario (Feb 13, 2014)

Comprar proteus??? Wua eres el primero que oigo decir eso "bueno escribir eso",


----------



## Nuyel (Feb 13, 2014)

Ajna dijo:


> Comprar proteus??? Wua eres el primero que oigo decir eso "bueno escribir eso",



Oyes tengo que parecer legal  de todas formas instalé la demo una ves y no me gustó, la verdad simplemente no me interesa simular, lo que sucede en la computadora es perfecto, pero el mundo real no lo es, prefiero enfrentarme a los problemas del mundo real y corregirlos a diseñar en simulación y que luego todo salga mal cuando se ensamble


----------



## cosmefulanito04 (Feb 14, 2014)

Proteus es la mejor herramienta que podés tener en cuanto a simulación de uC (también es útil en digitales).

Resulta muy útil para detectar errores en el código, por ej. para trabajar con SPI, podés hacer un análisis de trama para ver donde le erraste, lo mismo con el puerto serie, usar displays, etc.

En otras palabras sirve para hacer verificaciones rápidas del código, para luego probarlo realmente ahorrándote bastante tiempo. 

Sin embargo el debug en tiempo real es otra herramienta que te permite corregir el código, el problema es que para una prueba completa, necesitás tener todo el hard disponible.


----------



## Meta (Feb 14, 2014)

Recuerdo que Proteus 7.10 tiene el módulo de Arduino UNO. ¿Cómo se llama para encontrarlo?

No se llama arduino. Si encuentro el AVR como vacío, el ATmega328P.


----------



## R-Mario (Feb 14, 2014)

Ni tanto, mugroso proteus, a veces hace funcionar cosas que en la realidad no funcionan o lo opuesto, creo recordar que en uno de los micros de avr la salida de la usart la tiene invertida en el proteus y me di de cocasos porque no encontraba el detallito


----------



## cosmefulanito04 (Feb 14, 2014)

Ajna dijo:


> Ni tanto, mugroso proteus, a veces hace funcionar cosas que en la realidad no funcionan o lo opuesto, creo recordar que en uno de los micros de avr la salida de la usart la tiene invertida en el proteus y me di de cocasos porque no encontraba el detallito



Un simulador trata de acercarse lo máximo posible a la realidad, hay veces que no lo logra.

Eso no quita que Proteus sea una excelente herramienta de aproximación, luego está en probarlo en la realidad. Los que llegué a usar 8051/AVR y ARM7, en un 80-90% no se equivoca.


----------



## R-Mario (Feb 14, 2014)

Pero no me negaras cosme que a veces mas que ayudar te mete mas problemas, hay tienes a unos alumnos flojonosos que nomas no les quedaba en el simulador, hasta que uno menos flojo se le ocurrio armarlo y wuala funciono, el detalle, el opamp no estaba simulando correctamente. Pero bueno tambien tiene sus pros no lo niego.

Cual es la diferencia entre simular y emular?? Se me olvida!!


----------



## cosmefulanito04 (Feb 14, 2014)

Ajna dijo:


> Pero no me negaras cosme que a veces mas que ayudar te mete mas problemas, hay tienes a unos alumnos flojonosos que nomas no les quedaba en el simulador, hasta que uno menos flojo se le ocurrio armarlo y wuala funciono, el detalle, el opamp no estaba simulando correctamente. Pero bueno tambien tiene sus pros no lo niego.



Por eso, el Proteus para electrónica analógica apesta y mal, solo es útil para uC y digitales, no le pidas más.

Si querés simular el comportamiento de algo analógico, lo mejor es Pspice, Multisim, Ltspice, etc.

Particulamente creo que en una etapa de diseños los pasos a realizar son los siguientes:

1- Lapiz y papel.
2- Simular la monstruosidad del punto "1-".
3- Llevarlo al mundo real, si es posible con protoboard, de lo contrario con plaquetas de prueba.
4- Medir los parámetros necesarios para comprobar su correcto funcionamiento. 



Ajna dijo:


> Cual es la diferencia entre simular y emular?? Se me olvida!!



Me imagino que la simulación implica modelar matemáticamente comportamientos físicos reales y emular aplicado al soft sería crear el mismo entorno donde se ejecutará una cierta aplicación, es decir en este caso simular el entorno de un uC.


----------



## TRILO-BYTE (Feb 14, 2014)

eso si

la simulacion analogica es una porqueria 
yo no lo uso para simular lo analogico para eso esta multisim o el electronics workbench

el proteus simula muy bien los microcontroladores 
no llega a exelente por sus obvias limitaciones pues nos ahorra mucho tiempo de armar un proto o grabar cada minuto

los Scripts de proteus por lo que veo son modificables

curioso encontre un simulador del Z80 Cpu para el Proteus bastante malo pero para alguien que lo escribio diria que es bastante admirable


----------



## R-Mario (Feb 14, 2014)

Jajaja yo si programa cada minuto el microcontrolador, total que me han de quedar como 50,000 ciclos de los 100,000 ciclos que garantiza el fabricante jajaja


----------



## Ardogan (Feb 14, 2014)

Adhiero a programar el microcontrolador a cada rato... no quiero gasta plata en el proteus y ya hace varios años que decidí hacer todo legal, nada crackeado.

Pero aparte de eso, una cuestión que creo que el simulador puede ser peligroso:
Estás haciendo un proyecto, para seguir con mis ejemplos anteriores supongamos que medimos algunas variables analógicas y queremos mandarlas a la pc, y ver algunos datos en un LCD con teclas para navegar y presentar más información en la pantalla.

Lo haces con proteus, ponés un micro, un lcd, un teclado de membrana, comunicación con la pc por uart, escribís el código, llegaste al punto en que el código funciona, nada elegante, funciona con lo justo.
Perfecto, ahora enchufas todo en un protoboard, programas el código y no funciona (que pasa el 99% de las veces).
¿Donde está el problema?, es el hardware?, ¿es el firmware?. Quizás hay alguna interrupción que no salta (por ejemplo al apretar una tecla del teclado), o el cristal que tiene los capacitores con valores inadecuados, o nos olvidamos de conectar alguna pata de alimentación del micro, quizás el simulador no tenía exactamente el micro que estamos usando y agarramos el más parecido, o que no simulaba el periférico al 100% sino que dejaba algunas características afuer... suele pasar que en el simulador algunas cosas funcionan sin haberlas configurado bien (sin escribir los registros de configuración correctamente).
En otras palabras el error se puede deber a decenas de cosas distintas, ¿cómo saber ?

Ojo!!!, no es culpa del simulador, sino del usuario.
Pero el simulador puede dar una falsa sensación de seguridad de que todo funciona, y al final llega ese punto en que enchufaste todo y no funciona nada, y te pasas el día revisando posibles causas hasta darte cuenta que en el simulador había un flag de interrupción que se limpiaba solo y en el micro real no :cabezon:. O que hacía falta poner un resistor en serie en una patita del uart por una errata del silicio (siempre revisar las erratas !!!!). O por algo mucho más tonto por haber dejado cortocircuitada una pata del micro (la configuraste como salida escribiendo un 1 y en la proto la conectaste a GND porque quedaba cómodo para conectar los cables  uuuppssss). O quizás el LCD tiene una rutina de inicialización distinta a la del proteus...

Otra vez, no es culpa del simulador sino del usuario, pero de ninguna persona/grupo en particular, sino que es un comportamiento atribuible a la naturaleza humana.

¿Como se trabaja sin simulador?:


Enchufás el micro solo, con un led, se arranca de entrada con la protoboard (o la placa de desarrollo... en el mundo físico me refiero)
Escribo el código para encender 1 led. ¿Enciende?, si no revisar -> volver a 1. Esto que parece poco es un paso enorme, porque ya estás probando si el compilador y el enlazador funcionan bien, si el programador funciona, si incluiste las librerías del micro correctas, si no hay problemas de drivers con la pc, si el micro ejecuta el código!!! (y por lo tanto está bien alimentado y tiene alguna señal de reloj de algún lado)
¿Me anda el depurador, puedo ejecutar paso a paso?.
Veo si la configuración del timer anda, ¿el led enciende y apaga cada 1 segundo?, si no revisar los cristales, configuración de reloj del micro, etc
Pruebo si puede detectar la pulsación de 1 tecla del teclado, ¿salta bien la rutina de interrupción? -> se ve ejecutando paso a paso, manejo bien el rebote de las teclas (cosa que en el simulador no existe), puse bien los pull-up/pull-down?
etc, etc
Y sí, en cada paso programaste el micro 10 veces en promedio, es más trabajo (pero solo en apariencia!!! ), y si tenés 50 pasos para el proyecto se llega fácil a las 500..1000 veces dependiendo de la complejidad y los problemas en el camino (cuidado con las erratas !!!, ya lo dije no?).

Esa forma de trabajo (paso a paso) también se puede hacer con el simulador, pero TODOS los errores de hard/modelo del micro/erratas son invisibles.
Si uno trabaja sin simulador no queda otra que hacerlo de esa manera y está 100% asegurado de que el error va a estar visible.

Entonces, no abusar del simulador. SÍ lo utilizaría para ver si me calcula bien un filtro, o un algoritmo de control (PID por ej), o ver si el flujo general del programa es el esperado (al presionar la tecla salta la interrupción -> seteo un flag -> lo chequeo en el main -> llamo a la función de actualizar LCD -> ...).
Pero eso incluso lo podés probar escribiendo código en C en la PC usando gcc, que también es riesgoso!!! (la pc tiene 64 bits, el micro 8; en la pc llamás a una función desde otra función desde otra función mientras en el micro se te termino el espacio en la pila... y vuelta a empezar con que acá funciona y allá no).

Pero un microcontrolador interactúa todo el tiempo con el mundo físico - esa es la gracia de usar un microcontrolador, no? - y el simulador actúa en el mundo lógico, y este último no puede representar las infinitas variantes del 1ro.

Es mi opinión nada más, usar cada herramienta para lo que fue diseñada, no usar un destornillador paleta para un tornillo phillips, o una llave de 1/2" para una tuerca 3/8" (a menos que uno no tenga herramientas, pero esa ya es otra historia).


----------



## Meta (Feb 15, 2014)

Holaaaaaaaaaaaaaaa:

Hace tiempo fui legal en muchas cosas, hasta que lo dejé de hacer en muchas cosas otra vez.

¿Motivos?

Cada vez que pase el tiempo, hay que pagar actualziacoines grandes, no pagaras parches y eso pero si cuando saquen algo nuevo y para Windows nuevos. luego en clases de informática pues, a Linux o cosas que tiene Linux también para Windows como Gimp, MPLAB X, Arduino 1.0.5 para programar microcontroladores. Es una ventaja. 

El Proteus está tiene muchos fallos, lo corregirán con el tiempo pero tiene otros que no corrigen.
Tengo el Proteus 7.10 SP0.
¿Qué versión hay ahora?

Saludo.


----------



## cosmefulanito04 (Feb 15, 2014)

Para mi te dá una interesante aproximación. 

Me resultó una excelente herramienta para desarrollar un protocolo propio de comunición RF, con ack, direcciones, paquetes de datos, etc.

Algo similar cuando usé el ENC28J60 (spi a ethernet) de microchip para un ARM7, me resultó vital para ver donde me estaba equivocando.

Es una herramienta más en la caja, está en uno en como saber usarla.


----------



## Sebastian1989 (Feb 15, 2014)

Me parece que Proteus va en la versión 8.1.
Yo al igual que el resto opino que proteus no es muy bueno en electrónica análoga pero para digital es bastante bueno, una herramienta que uso mucho es COMPIM, este componente de proteus te permite "linkear" un puerto serie del computador con la simulación, esto es extremadamente útil cuando uno esta en un proyecto en donde hay que diseñar algún software en el PC para recibir datos del micro.


----------



## cosmefulanito04 (Feb 15, 2014)

Es excelente para desarrollar el programa en PC, yo también lo uso.

Y el enc28j60, no recuerdo como, también lo podía linkear, y usaba el wireshack para verificar los paquetes.


----------



## Meta (Feb 15, 2014)

No he visto el proteus 8.1.

¿Hay algo nuevo?

Aunque sea una Interfaz gráfica mejorada, alguna función nueva. Algo nuevo tiene que haber. Como que ya corre a 64 bits, cosas así.


----------



## ByAxel (Feb 15, 2014)

Si, la actual versión es Proteus 8.1... desde la 8 a cambiado su aspecto y el modo de trabajo pero no es nada dificil.
El actual ya soporta simulación con Arduino (algunos)... no es novedad solo que ahora no se usan componentes de terceros y es posible programar y compilar en el mismo entorno de Proteus, ver los videos de labcenter. Lo mismo sucede para PICs, AVR, algunos ARM, y demás microcontroladores.
Otro dato, al parecer le han dado más atención a la edición de esquemas y de PCB... hay nuevas características interesantes...


----------



## Meta (Feb 15, 2014)

Hola:

Hasta se puede programar en aRduino directamente.

http://labcenter.s3.amazonaws.com/movies/v8/Arduino.cfm

Saludo.


----------



## Hellmut1956 (Feb 17, 2014)

Perdónenme, pero para que demonios un simulador como Proteus? Yo uso para el desarollo de software en controladores ARM aquellos de NXP y para los cuales por precios muy, pero muy módicos, solo 19,80 Euros + IVA si no se es una empresa, se consigue por ejemplo un Cortex M3 de NXP en una placa llamada LPCXpresso1769. Esta placa consiste de 2 partes, una Interfaz USB con una Interfaz JTAG y la otra parte una placa con el LPC1769. La IDE gratuita hasta un código de 512 kBytes y por una suma módica adicional sin límite de memoria permite hacer el debug con todas las posibilidades que Proteus ofrece para componentes apoyadas, pero no simulado, sino en la componente real!

Como se ha dicho aquí, un simulador es solo una aproximación a la componente real que tenía su justificación cuando las herramientas que permitían ejecutar el programa en la componente real eran prohibitivamente caras. Lo real es siempre superior a la simulación.

Adicionalmente tengo que decir que el costo de hacer una placa que equivale a lo que viene en solo la parte de la LPCXpressoxxx, lo que existe para ARM Cortex M0, M0+ y M3, que contiene el controlador es superior al costo de la placa LPCXpressoxxx. Se suma a esto la ventaja de poder integrar la parte con el controlador de una LPCXpresso* con zócalos con 2,54 mm entre pin y pin y la placa se puede realizar de forma mucho mas sencilla que si se debiera realizar de acuerdo a los requerimientos del LPCxxx! Falta comentar que la parte con el LPC* de una LPCXpresso* es tan diminuta, que comparando esto con el espacio requerido si uno hiciera la placa uno mismo y habría que hacer el routing de ese sin número de pines del controlador y todo esto recibiendo la versión del controlador mas poderosa!


----------



## Meta (Feb 17, 2014)

Pues el simulador de Proteus lo demonio que tienes que puedes hacer pruebas de todo tipo antes de la protoboard, jejejejej.


----------



## R-Mario (Feb 17, 2014)

Y que pasa cuando no esta disponible el integrado que quieres en proteus?? Pierdes mas tiempo en estar añadiendolo que hacerlo en la proto

Insisto cada quien su gusto y es muy respetable, pero de ahi a ponernos a defender a capa y espada nuestro gusto, no le veo el caso, y lo mismo sostengo respecto al tema AVR vs PIC


----------



## Nuyel (Feb 17, 2014)

Lo se, esas placas vienen a precio de regalo, cuando compré mi LaunchPad Stellaris fue en preventa, pagué 5USD por una tarjeta con un chip cuyo MSRP era como de 4,40USD por cada mil unidades, y la placa incluye 2 (el que programas y otro que actúa como JTAG y puente USB-UART), que las puedan vender a precios ridículos es primero por la producción en masa y segundo por que eso les da publicidad a sus chips, TI incluso promociona Energía (un IDE copia de Arduino para las LaunchPad) por que ve que es una forma rápida de introducir a usuarios con sus microcontroladores, además ahora tomó el proyecto del MSP430GCC, por ahora aún no hay una versión liberada pero cuando esté lista eliminará las barreras de los MSP430, su IDE permite compilar hasta 16kB en modo gratuito, el MSP430GCC hasta los 64kB, eso es solo una limitación por no poder usar las instrucciones CPUX (un conjunto que permite usar direccionamiento de 20bits en lugar de 16bits lo que extiende la memoria hasta 1MB), la nueva versión cuando esté lista podrá implementar CPUX y eliminar completamente las barreras en esos MCU.


----------



## cosmefulanito04 (Feb 17, 2014)

Ajna dijo:


> Y que pasa cuando no esta disponible el integrado que quieres en proteus?? Pierdes mas tiempo en estar añadiendolo que hacerlo en la proto



Es una herramienta más, está en vos en saber usarla bien . 

Lo que dijo *Sebastian1989* es algo que se destaca de esa herramienta para los que siguen el desarrollo en PC, sea Java, .Net, etc.

Creo que no dá para mucho más el tema de Proteus, que por cierto es una herramienta que también está pensada para hacer PCB (para mí, particularmente no es la mejor opción).


----------



## R-Mario (Feb 17, 2014)

A mi me gustan los MSP430, solo desearia que sus hojas de datos fueran como la de los AVR, es que pienso que TI le mete muchos datos tecnicos y se vuelve complejo leer su datasheet, por su lado Atmel, de da solo la informacion necesaria para que funcione X cosa, luego tiene una seccion generalmente hasta el final de la datasheet donde detalla todos los datos electricos

Ti primero te dice que los niveles, que las corrientes que los tiempos y cronogramas que X que la Y y cuando recien empiezas te rascas la cabeza mas de una ves.

Cuando recien empeze con AVR parpadear un led fue cuestion de una par de minutos y con los MSP me costo media hora leer muchas hojas para entender


----------



## Meta (Feb 17, 2014)

Hola:

Me he desviado en el triángulos de las Bermudas cuando traspasaba una niebla intensa con la consecuencia de perder el rumbo.







http://www.abc.es/ciencia/20130131/abci-resuelto-misterio-triangulo-bermudas-201301311037.html






Hay más marcas de microcontroladores a elegir que si me llevo por ello pierdo mucho tiempo en...





En Resumen, comentaré en resumen porque cada uno lo miran de punto de vista a pesar de escoger el mismo µC.

He preguntado por ahí en la calle como curiosidad que marca o modelo de microcontroladores le llama la atención y por qué. Sus respuestas son estas.



> ¿Qué me estás hablando?
> ¿Qué es eso?
> Son chip piratas para ver pelis en los antiguos canales digitales de pago gratuitamente.
> ¿Qué es un PIC?
> ...


Más adelante encontré a los técnicos de la vieja escuela, conocen PIC, lesgusta pero no se atreven a meterse a este mundo como Hobby, para ellos es perder el tiempo. La electrónica en España ya no es lo que era, en el mundo laboral claro, en cursos y hobby si.

Los que saben de microcontroladores ya no aceptan ni PIC, ni AVR, ni ARM, solo cómprate PLC. Los PIC para jugar, si quieres cosas serias un PLC que los hay baratos. Lo que tengo que oir. 

El resumen:

Se escoge el más que necesites, el más que te guste, el más que sepas que aprenderás por su gran documentaación, luego te cambias de marca si quieres. El más barato o que lo tengan barato, el más fácil acceso en tu tienda más cercano, el más que te llame la atención, el más que te de la gana y punto.

Eso es todo.


----------



## R-Mario (Feb 17, 2014)

20 euros por hacer un reloj con pic para la uni????? Creo que estoy malgastando mi tiempo libre jajajaja 20 euros es mas de lo que gano en un dia en mi trabajo en mexico


Mira lo que me encontre el el trabajo


----------



## Meta (Feb 17, 2014)

Que placa más chula, pedazo de LCD, 40x2 por lo menos.


----------



## Nuyel (Feb 17, 2014)

Ajna dijo:


> A mi me gustan los MSP430, solo desearia que sus hojas de datos fueran como la de los AVR, es que pienso que TI le mete muchos datos tecnicos y se vuelve complejo leer su datasheet, por su lado Atmel, de da solo la informacion necesaria para que funcione X cosa, luego tiene una seccion generalmente hasta el final de la datasheet donde detalla todos los datos electricos
> 
> Ti primero te dice que los niveles, que las corrientes que los tiempos y cronogramas que X que la Y y cuando recien empiezas te rascas la cabeza mas de una ves.
> 
> Cuando recien empeze con AVR parpadear un led fue cuestion de una par de minutos y con los MSP me costo media hora leer muchas hojas para entender



 si lo se, solo había leído la de los PIC, cuando empecé con los MSP430 la datasheet no muestra nada, es la User's Guide de la familia lo que se tiene que leer, ahí explica detalladamente como configurar cada cosa y como trabajan, la data sheet solo es específica a las capacidades que tiene el chip pero no indica como usarlas, una ves que tienes los dos documentos es bastante fácil usarlos  por eso siempre hay que leer la guía de usuario en lugar de solo conectar y ver que pasa, claro que lo primero que hace la mayoría es mandar el manual lejos y querer ver su nuevo juguete funcionando


----------



## TRILO-BYTE (Feb 17, 2014)

con tantos micros tan avanzados da miedo que va a pasar en unos años

quedare tan fuera de vanguardia como los amantes del pic16f84a

nimodo tendre que entrarle al cochino ARDUINO


----------



## Meta (Feb 18, 2014)

Haz un Arduino tu mismo, del micro que quieras, soo es más cómodo.


----------



## dinoelectro (Feb 18, 2014)

Bueno, permitame dar mi opinión respecto al tema..

ATMEL O microchip?, definitivamente los PIC; por las siguientes razones:


Existe mas documentación
Fáciles de conseguir, en cualquier tienda de electrónica
Mayor cantidad de software para programar, compilar y simular
Un amplia gama de microcontroladores para escojer según la necesidad
Por su bajo costo, son los microcontroladores mas utilizados en el mundo

Yo programo en ATMEL y Microchip, y creedme no hay razón para escoger un microcontrolador mas caro si a la larga los dos hacen lo mismo. (obviamente debemos comparar microcontroladores de gama similar)

Arriba he leido un comentario, donde se decía que los microcontroladores ya no sirven para hacer algo serio que para eso están los PLC, particularmente estoy en desacuerdo... Un microcontrolador puede hacer todo lo que hace un PLC, pero un PLC no puede hacer todo lo que hace un microcontrolador... es mas hay sistemas que por su costo no justifica la compra de un PLC. 

esta es la humilde opinión de un amigo compañero de ustedes, saludos!


----------



## Meta (Feb 18, 2014)

Hola:

De acuerdo contigo, sobre la parte del PLC. Es lo que me dijo un empleado al comprar un PIC. Para jugar será para él, jajajajaj. no te moleste por sus comentarios.

Ahora que estoy con Microchip y Atmel, para mi son similares. Lo que no sabía que Microchip tiene más de 400 PIC diferentes y Atemel más de 200.

Viendo en el fondo, Microchip usa esta técnica que para mi es una tontería. Escoja la marca que sea, son similares unos a otros, así que al final que optes, será por diversos motivos o por gustos, no porque realmente te haga falta.

4 PIC diferentes:


Memoria Flash:|20K|20K|20K|20K
RAM:|512|256|128|56|
EERPOM:|512|512|512|512Más PIC diferentes:


Memoria Flash:|20K|10K|5K|1K
RAM:|512|256|128|5128|
EERPOM:|512|56|56|556Dentro del mismo PIC, solo varían memoria y no funciones. Otras solos funciones. Los precios son similares. Atmel no pierde el tiempo con estos detalles. Microchip lo ve como importante, ya que hay anuncions que dicen:

Microchip es uno de los que más variedad de microcontroladores tienen. Así la gente se fijarán en su marca por esta tontería, tontería entre comillas.

En mi opinión, prefiero Microchip y algo de AVR por:

Tiene más documentación en español y a escala mundial.
Se consigue más PIC casi cualquier lado y más variedad.
Hay muchos programadores  de todo tipo tanto por hardware y por software.
Hay muchos libros en español y siguen haciéndolos, tanto de 8 y 16 bits. 32 solo en Inglés, al menos por ahora.
Me alegra que hayan PIC32 de tipo DIP de 28 y otro de 40 pines para los protoboard. _(Por que hay mucha demanda y al final Microchip lo hizo)_.
AVR estoy empezando con arduino, luego comenzaré más a fondo cuando entienda mejor su arquitectura.
AVR y PIC para mi son similares en proyectos finales como usar ultrasonido, LM35, DS18S20, DS1307 y cosas así.

En fin, ahora estoy con Arduino sin avandonar los PIC de toda la vida en asm.

Tengo claro que asm es para cosas pequeñas, XC8 estoy esperando documentación en español hasta que saquen libros que lo harán, ya que hay del C18 y CCS, ¿por qué no XC8?

AVR lo veo que se está impulsado cada vez más, falta ARM. 

Conclusión, escoges el mejor que te guste o puedas aprenderlos.


----------



## dinoelectro (Feb 18, 2014)

Hola Meta, seguramente es un truco publicitario de microchip, para jactarse de son fabricantes de la mas amplia gama de microcontroladores en el mundo, en eso también estoy de acuerdo.

Hay que ver otra ventaja, que no he mencionado, y es la migrabilidad,.. es fácil migrar de una gama a otra, yo empece programando el PIC16F877 y me resulto tan facil migrar al PIC18F4550 y ahora a PIC32.. sin necesidad de acudir a libros... 

Te recomiendo que aprendas PIC CCS, y veras que te da a igual programar sea el PIC16, el PIC18 o el PIC32.. las diferencia en cuanto a programación es mínima.


----------



## Meta (Feb 18, 2014)

Tengo un libro del CCS y asm centrado en el PIC16F886, y si hasta en asm pasas rápido d 8 bits de 16F o 18F, ya en 16 bits y 32 es otro cantar. El CCS como que lo veo que es perder el tiempo haciendo XC8, se actualiza antes, es del propio fabricante y cada vez veo en los foros de Microchip usarlo sin parar.

En estos momentos estoy entrenerido mirando Arduino, se que no es C purto pero aprender la lógica de programar. 

Saludo.


----------



## Nuyel (Feb 18, 2014)

Pues sí Meta, Arduino no es C, es C++  
El XC8 tiene ventaja al ser multiplataforma con el MPLAB X, eso fue bienvenido cuando usaba Mac, podía programar el PIC usando mi clon PICkit2 además de ser gratuito, es un gran impulso para Microchip y el motivo de que muchos usan PIC, no son los mejores, pero sí con los que te sale más barato introducirte, IDE gratuito con compilación sin restricción de tamaño de código y multiplataforma, solo necesitas Java para ejecutarlo, muchos ejemplos y librerías disponibles aparte de programadores de bajo costo y la posibilidad de hacer unos caseros aún más baratos.

Lo que atrae es eso, la baja inversión inicial para introducirse y la mayoría, una ves que probó de esa droga ya no la dejan, pero prefiero mis MSP430, no hay muchos DIP así que toca hacer circuitos impresos para chips con patas miniaturas, no operan a 5V así que no sirve cualquier cargador de celular y los LDO aquí no los venden, son problemáticos para hacer comunicación a la CMOS de 5V,... pero, de todas formas aquí los PIC los venden a precios astronómicos, así que si tengo que traer de otros lados los chips con los que voy a trabajar, no me limito en usar solo PIC.


----------



## Meta (Feb 18, 2014)

Hola:

Está claro que los PIC no son los mejores, clarísimo. Alguien de este foro, por el 2008 ó 2009, en Argentina hacían palcas profesionales para empresas en el mundo de la industria, puso fotos y todo por aquí. Le quedó de lujo. 

Se quejaba que los PIC18F4550 son inestables, se cualgan como Windows y cosas de esas. La empresa optó por otra marca que se programa en C, pero no recuerdo cual, lo que se que el compilador era gratuino también, aunque solo para Linux.

Si te fijsa en otras marcas, para empezar empezamos con PIC, al menos la mayoría, luego te das cuentas que hay muchas marcas de calidad, lo que son caras, dificil de comprar, poca información y no se que más historias.

En cuanto que prueban la droga de los PIC y nadie queire probar otra, con solo probar otra se le abren los ojos, ajjajajaj. Luego no saben que hacer, o se van AVR avandonado al 100 % a los PIC. Del que amaba PIC ahora lo odia, aajajjajja. Antes odiaba AVR y ahora lo ama. Todo ello la misma persona.

El que ve más allá de sus narices, si puede, prueba todo lo que tranque, luego juzga.

Un saludo.


----------



## ByAxel (Feb 18, 2014)

Arduino no del todo es C/C++, lo correcto seria decir "Arduino parecido a Wiring de Processing basado en Java pero condimentado con C++...  " hacen un sintaxis más facilita.


----------



## Meta (Feb 18, 2014)

He oído hablar de processing con ARduino. 

¿Qué es?

Saludo.


----------



## ByAxel (Feb 18, 2014)

El entorno de programación de Arduino es básicamente una cópia del programa Processing (supongo que están ligados de alguna forma).
Conocí processing cuando buscaba formas de realizar gráficos por código y justamente el trabajo de Processing se centra en el diseño multimedia y audiovisual... todo es full código...

Actualmente he visto que usan Processing (entorno gráfico) + Arduino (hardware) para mostrar por ejemplo el valor ADC de arduino en una pantalla creada por Processing.

O controlar Arduino desde un entorno creado con Processing...


En fin, es una opción gratis....


----------



## Meta (Feb 18, 2014)

Que curioso el programa.

¿Uzan Processing para Arduino solo como una interfaz?

Eso me suena a lo que hacía yo con Visual Studio .net, todo a código o generado. Un autor va a dar el tema de processing par Arduino que sale dentro de un año, comunicación con Android y demás temas.

¿Qué utilidad y ventajas tiene processing?

http://blog.bsoares.com.br/processing/pianoduino-arduino-processing-soundcipher

Saludo.


----------



## ByAxel (Feb 18, 2014)

Meta dijo:


> ¿Qué utilidad y ventajas tiene processing?



No he trabajo con ambos pero como comparten casi un mismo lenguaje, es facil implementar algo en arduino y processing como interfáz. Además ambos IDEs son gratis.

En Processing solo escribes, hasta donde se todo el ambiente gráfico (la ventana) se crea por medio de código. En fin, Processing es una máquina (me refiero a la facilidad) cuando se trata de gráficos... y utilizarlo con Arduino es solo un aspecto... http://www.airtightinteractive.com/category/processing/, pero no por eso es de bajo nivel como este proyecto http://letsmakerobots.com/node/35147.

Hecho en Processing.
[ame]http://vimeo.com/1330733[/ame]


----------



## Meta (Feb 18, 2014)

Impresionantes las imágenes. Lo que no le veía sentido Processing con Arduino, ahora viendo el vídeo que la cámara te mira, es muy curioso.

Hará más que eso.

Seguro, ejejje.


----------



## Nuyel (Feb 18, 2014)

ByAxel dijo:


> Arduino no del todo es C/C++, lo correcto seria decir "Arduino parecido a Wiring de Processing basado en Java pero condimentado con C++...  " hacen un sintaxis más facilita.



No, Arduino es C/C++ solo llamas a las funciones programadas en esos lenguajes y la sintaxis son parecidas al processing/wiring, pero eso no significa que no sea C, puedes abrir el .ino y lo que tienes adentro es puramente lenguaje C/C++, implicitamente el compilador llama a Arduino.h y con ello a todas las otras librerías para que puedas emplear digitalWrite(), como esa declaración pasa desapercibida se considera un "elemento del lenguaje" pero no, si de compilador usa el AVR-GCC, con declarar explicitamente las librerías podrías programar en "lenguaje Arduino" usando cualquier otro IDE.

Muchas funciones son semejantes a las de Processing pero este está basado en java y Arduino en C, siempre puedes meter tu código en C para manipular los registros del microcontrolador directamente, hasta ensamblador puedes colar por ahí


----------



## Meta (Feb 18, 2014)

Hola:

¿Puedes mostrar ejemplo de como metes asm en Arduino con el IDE 1.0.5?

No sabía eso.
Saludo.


----------



## Nuyel (Feb 18, 2014)

es usando __asm__(); por ejemplo para un retraso de un ciclo metes __asm__("nop\n\t"); pero yo no programo en ensamblador así que te dejo un ejemplo de Internet para el "blink a LED"

```
void setup() {
  asm volatile (
    "sbi %0, %1 \n\t"           //pinMode(13, OUTPUT);
    :: "I" (_SFR_IO_ADDR(DDRB)), "I" (DDB5)
  );
}
 
void loop() {
  asm volatile (
     "sbi %0, %1 \n\t"          //LED on
     "call OneSecondDelay \n\t" //delay
     "cbi %0, %1 \n\t"          //LED off
     "call OneSecondDelay \n\t" //delay
     "rjmp 4f \n\t"             //exit
 
  "OneSecondDelay: \n\t"
     "ldi r18, 0 \n\t"          //delay 1 second
     "ldi r20, 0 \n\t"
     "ldi r21, 0 \n\t"
 
  "1: ldi r24, lo8(400) \n\t"
     "ldi r25, hi8(400) \n\t"
  "2: sbiw r24, 1 \n\t"         //10x around this loop = 1ms
     "brne 2b \n\t"
     "inc r18 \n\t"
     "cpi r18, 10 \n\t"
     "brne 1b \n\t"
 
     "subi r20, 0xff \n\t"      //1000 x 1ms = 1 second
     "sbci r21, 0xff \n\t"
     "ldi r24, hi8(1000) \n\t"
     "cpi r20, lo8(1000) \n\t"
     "cpc r21, r24 \n\t"
     "breq 3f \n\t"
 
     "ldi r18, 0 \n\t"
     "rjmp 1b \n\t"
 
  "3: \n\t"
     "ret \n\t"
 
  "4: \n\t"                     //exit
 
     :: "I" (_SFR_IO_ADDR(PORTB)), "I" (PORTB5)
     : "r18", "r20", "r21", "r24", "r25"
  );
}
```


----------



## cosmefulanito04 (Feb 18, 2014)

Así se trabaja con el GCC en el Avr Studio.

La otra alternativa (supongo que Arduino también lo debe permitir), es juntar archivos assembler y c, mediante funciones.

De cualquier forma hay que saber bien que registros generales se pueden tocar y cuales no, acá les dejo una nota de Atmel. 

Lo destacado es que una función hecha en assembler llamada desde "C" puede usar libremente los registros r18-r27, r31. En caso de usar el resto de los registros  deben guardarse antes de usar y ser restaurado antes de salir de la función.


----------



## Nuyel (Feb 18, 2014)

Sí debe permitirlo, como he dicho Arduino usa AVRGCC para compilar, de hecho si entras a Arduino\hardware\tools\avr (al menos en la versión Windows) te encontrarás el WinAVR


----------



## R-Mario (Feb 19, 2014)

Una ves aplique un examen a niños de secundaria sobre el lenguaje C y cuando pedia que escribieran las palabras reservadas de C, ponian que printf era una palabra reservada, lo mismo les pasa hoy dia con arduino


----------



## Meta (Feb 19, 2014)

Ajna dijo:


> Una ves aplique un examen a niños de secundaria sobre el lenguaje C y cuando pedia que escribieran las palabras reservadas de C, ponian que printf era una palabra reservada, lo mismo les pasa hoy dia con arduino



Sabemos que no puedes ver Arduino, antes era igual. Solo lo quiero ver cuando vi lo fácil ue es tener una placa con sus componentes bien funcionando al USb para controlar apatatos y desde Internet. Hablo como prototipo. Prefiero hacer el proyecto final con mi porpia PCB.

Lo que no mehace gracia de Arduino que solo usas AVR o ARM que están clasificados, no tienes tanta libertad.  Que pena.

En el fondo prefiero C del XC8 o el de los AVR, lo he estado viendo y haces de todo, lo que es más incómodo para aprender, pero no tanto como el asm.

Saludo.


----------



## Nuyel (Feb 27, 2014)

Interesante, creo que ya les había mencionado el cubo LED que estaba haciendo programando con el Arduino UNO R3, bueno, resulta que no quiero usar el Arduino ni el ATmega328P para controlarlo, planeaba usar uno de mis chips sobre inventario, entonces lo hice para emplear un MSP430, hoy es la primera ves que conecto el MSP430G2553 en la LaunchPad para probarlo, estoy trabajando el el código usando los temporizadores y el SPI en hardware, pero se me ocurre copiar el mismo código que el Arduino en Energía, solo renombré los pines y compilé, el código fue más reducido (Arduino 4 172 Bytes vs Energía 3 460 Bytes lo que no es mucha diferencia si consideramos que Arduino usa un bootloader de 0,5kB mientras que la LaunchPad incluye un programador JTAG SBW por lo que no pierde espacio) y noto que la animación es considerablemente más rápida.
Eso parece demostrar que mis técnicas de programación son mejores con 16bits, realmente el tener una variable de 8bits no siempre me es de utilidad  la ganancia de velocidad debe estar en los cálculos ya que las animaciones están programadas con pseudoaleatorios y los delay aplicados no se tocaron, además ambos operan a 16MHz, de ahí pues el compilador es GCC en ambos casos pero será cosa de optimización, por último el MSP430 es Von Neuman de 16bits y el AVR Hardvard de 8bits.


----------



## Meta (Feb 27, 2014)

Hola Nuyel:

Si te digo l averedad, no se nada del cubo de LEd, por mi puedes hacerlo con Arduino UNO, lo compré hace semanas, ejejejee.

Saludo.


----------



## Nuyel (Feb 27, 2014)

yo tampoco se nada  pero no se si estoy manejando mal el SPI que no logro que funcione la comunicación del MSP430, los LEDs se encienden de una forma inesperada, al menos los niveles se activan pero hay algunos LEDs que no brillan y cuando detengo el debug se supone debería quedar solo un nivel encendido pero quedan los 4 :cabezon: es la primera ves que intento usar SPI,.


----------



## cicloide2 (Mar 13, 2014)

Freescale ó es muy celoso de su informacion o pretende que todo, y cuando digo todo digo: capacitacion herramientas BDM, IDE, e inclucive micros sean distribuidos solo por ellos y nadie mas, en Argentina no encontras info en español ni apalos, y la que encontras es de familias en extincion como lo es la serie 908, es una pena.
 Creo  que Freescale esta apuntando (o mejor dicho, siempre lo hizo, ahora con Freescale antes con Motorola)  directo a la yugular pero del Ingeniero, no al técnico, no al aficiondo , menos al hobbista, yo sin tener a quien prguntar y antes de investigar por la web, me compre un BDM (precisamente el modelo RS-POD, de Edudecices, que es muy buena aclaro), de fabricacion nacional que me costo en su momento unos 300 pesos AR, hice alguna pabadas pulsador con led y mas led pero no sali de ahi, por no tener con quien consultar, es como si tubiera alguien te dijera desde hoy vas a empesar a programar micros y de freescale pero.... en Argentina te vendo todo lo necesario, pero cuando se te presente una duda arreglatelas como puedas, asi que el BDM esta guardado en el cajon y estoy penando seriamente (y miren lo que les voy a decir), adquirir la licencia de NIPLE y un programador economico para no frustrarme mas y comenzar a desarrollar ya que el tiempo es riguroso y no tengo 20 como la mayoria de ustedes (en unas palabras estoy completamente DESILUCIONADO con Freescale y con los que prometen marabillas, comercializando sus herramientas en Argentina). Saludos.


----------



## TRILO-BYTE (Mar 13, 2014)

yo he trabajado con freescale y sinceramente no me parecio malo
su IDE es buena y el compilador el Codewarrior es bastante util a la hora de llamar interrupciones

lo que si vi es que sus puertos para nada son de 8 bits son de 32 bits
y para manejar los pines del puerto hay de 2

usando el prosesador experto "hace el codigo que no pueda cambiarse facilmente"
y la otra es usando mascaras 
es decir enmascaras el puerto para usar los bits a usar

informacion en español

bueno eso seria avanzar hacia atras en la ingenieria, si uno quiere aprender debe meterse seriamente a los manuales en ingles

¿NIPLE?
bueno cada quien hace lo que puede mientras no caigas con ARDUINO todo esta bien


----------



## cicloide2 (Mar 14, 2014)

Hola estaba casi seguro que me iba a responder un colega de Mexico, es mas mis primeras practicas con Freescale fueron asistidas por por el Ingeniero Mexicano Ivan Lara y totalmente sin fines de lucro, el en su momento se encontraba en un puesto laboral, desde donde podia chatear y responder a todas las dudas que tenia, y como dije sin compromiso alguno yo tenia ganas de aparender y a el en ese momento le era facil responder en vivo y en directo.

Pero en fin por Mexico se ve mucho Freescale. incluso en las univercidades aca no, gracias por  los ultimos concejos (a buen entendedor pocas palabras, dicen) y capte tu mensaje.

Pero te pregunto a ti si  quisiera seguir con mis practicas pasar del pulsador y los led y pasar la manejo de un display lcd o bcd, o conectar algun acelerometro y  ver los resultados en un display no se todas las practicas basicas que por lo gral. se realizan con el resto de los micros y no tengo manuales ni simuladores mas  que un MC9S08SH8, y su datasheet, como hago para continuar por donde empiezo? en cambio con PIC, si deseara hacer alguna de estas practicas de seguro tendria mucha mas colaboradores dadome alguna idea de como hacerlo, se entiende?, supon que, supero la barrera del idioma a quien le consulto sobre Freescale, es mas fresscale tiene manuales para principieantes , aunque se en ingles?

De todas formas gracias por responder,


----------



## TRILO-BYTE (Mar 14, 2014)

bueno el ingles es algo que casi casi a la de afuerzas si quieres aprender

los americanos estan metidos en los freescale y los AVR los pic son populares por su documentacion en español

aprender un Freescale es casi como manejar un AVR o un PIC 
bueno pic siempre y cuando no lo comparemos con el CCS que es como andar en triciclo
y los AVR siempre y cuando no digamos Arduino

¿cual es la diferencia?
el IDE el ide de freescale es amigable , pesado , y de paga

¿como aprender? 
bueno yo maneje el Freedom y el Kwistik por cuestiones de que me pagaban mis colegas de la escuela para que les hisiera sus practicas y proyectos

no sabia lo que se llama nada
pero con las bases de programacion en C ve uno claramente que es ANSI C y los fabricantes de Freescale ,Avr Studio y C18 dan ejemplos de programas
en MISRA C

¿que quiere decir?
significa que es un lenguaje C casi casi compatible donde lo que cambia son el uso de los registros
ejemplo DDR en AVR ,ADC ON en el PIC , GPIO en Freescale 
fuera de eso todo es igualito

recomendaciones 
leer mucho sobre programacion en C "no CCS ni ARDUINO" lee mucho de ANSI C

bajar la hoja de datos del micro a usar y ver sus registros y sus puertos , bajar un ejemplito y ya

¿conectores?
bueno las tarjetas Freescale tiene conectores muy poco comerciales como el Kwistic que usa un PCI EXPRESS 
uno puede soldar o mandar traer un conector y los mini jumpers lo mismo

¿Acelerometo, Display ,Uart ,ETC.?

bueno como dije si hay ejemplos en MISRA C una libreria de LCD de un micro diferente te puede servir "SIEMPRE Y CUANDO NO HAGA USO DE REGISTROS DEL MICRO"
un ejemplo es la libreria de LCD de un AVR si uno la escribe pensando genericamente puede que jale en el C18 o el el Codewarrior

si hay que hacer modificaciones pero ya son minimas

leer mucho y saber mas que algo de ingles es algo que no se debe discutir


----------



## cicloide2 (Mar 14, 2014)

El que sea un etorno de trbajo, (ide) de paga, asegura algo?, por ejemplo,(pienso yo) que no lo puedan tener cualquiera, como los micros de TI, ellos tambien tienen su entorno bajo licencia paga, y esto en verdaad asegura algo a la hora de desarrollar, que implica por ejemplo tener ecistencia tecnica por el echo de haber pagado la licencia? creo que es la única ventaja, AVR o ATML tiene el Studio 6 que por lo que me ahn comentado es muy bueno y es totalmente gratuito, conoces que Freescale este inmiscuido en desrrollos verdaderamente importantes, eso seria un buen indicio de por que llegan hasta algunas latitudes si y a a otras no. (esto es simple polemica o debete).

Con respecto a tus consejos lo acepto toditos, ya que acreditas experiencia, muchas gracias


----------



## Meta (Mar 14, 2014)

TRILO-BYTE dijo:


> los americanos estan metidos en los freescale y los AVR los pic son populares por su documentacion en español



Los americanos...

¿Te refiere solo a toda Améica o a los EE.UU. que se creen que están solos? (No cuentan ni con Canadá). Es la mentalidad que tienen los EE.UU. meter esa expresión en sus películas, ahora ya no tanto.

Por eso cuando sacan películas de invasión a la tierra o cosas raras, solo ocurre precisamente en EE.UU como si los demás de la Tierra no existen. 

Si es todo el continente, los americanos usan mucho PIC, lo comento porque me llegan comentarios de la gente de América que le explique cosas de PIC, a veces  aArduino, no AVR a secas.

Eso de FreeScale más bien era antes, porque ahora está con los ARM a toda costa. Incluido EE.UU. que está hasta Microsoft por medio con ARM para hacer cosas como C# para ella a lo Arduino.

Por lo que he visto, Sur y centro de América es más bien de PIC en su mayoría para aprender, en cuanto al Norde de América, le veo fuerte con ARM. Japón todo lo que sea Tecnología, se pasan estas gente programando lo que tranque.


----------



## cosmefulanito04 (Mar 14, 2014)

Meta dijo:


> Por lo que he visto, Sur y centro de América es más bien de PIC en su mayoría para aprender, en cuanto al Norde de América, le veo fuerte con ARM. Japón todo lo que sea Tecnología, se pasan estas gente programando lo que tranque.



En Argentina en ciertas universidades daban 8051 o los Motorolas, ahora se actualizaron un poquito D) y dan directamente ARM.


----------



## Meta (Mar 14, 2014)

Precisamente en Argentina, usan muchos PIC. Hasta para empresas. Y creo que más PIC que 8051 y ARM, ejejjejeje. Lo digo porque muchos argentinos están con PIC por todos lados. Si hay procenstaje alto en 8051 y ARM, PIC habrá mucho más. 

Que más da, total, escojas el que escojas harán las mismas cosas si estás aprendiendo como encender LEd.


----------



## cosmefulanito04 (Mar 14, 2014)

Meta dijo:


> Precisamente en Argentina, usan muchos PIC. Hasta para empresas. Y creo que más PIC que 8051 y ARM, ejejjejeje. Lo digo porque muchos argentinos están con PIC por todos lados. Si hay procenstaje alto en 8051 y ARM, PIC habrá mucho más.
> 
> Que más da, total, escojas el que escojas harán las mismas cosas si estás aprendiendo como encender LEd.



En Argentina como en cualquier lado hay de todo un poco. 

Pero como hiciste incampié en lo que se enseña, yo te dije que hasta hace 10 años se daba 8051 o Motorola, ahora dán ARM.

Después en las aplicaciones, dependerá de lo que se necesite, alguno optarán por una marca o por otra, pero repito no se dá PIC en universidad (o por lo menos no en la UTN), si posiblemente en secundario (escuela media, pero eso ya es otra cosa).


----------



## Meta (Mar 14, 2014)

No me refiero que de PIC en la universidad, si no la gente hobbista a la hora de aprender. AVR está avanzando gracias a Arduino, por eso Microchip apretó las pilas que hasta hizo un nuevo MPALB para Windwos, Linux y Mac. A parte de ello, hizo un buen SDK de USB para PIC que tanto a gente pedían.

Ahora está ARM cogiendo fuerza un poco, le faltan años como le pasó a Arduino, porque sigue creciendo.

Arduino también usa ARM, ejjeeejeje, no solo es AVR, y lo que será en el futuro sobre ARM cogiendo más fuerzaa para hobbistas.

Como dije antes, ARM y Microsoft con su C# por medio.
http://www.netmf.com/gadgeteer/

Saludo.


----------



## cosmefulanito04 (Mar 14, 2014)

Meta dijo:


> No me refiero que de PIC en la universidad, si no la gente hobbista a la hora de aprender. AVR está avanzando gracias a Arduino, por eso Microchip apretó las pilas que hasta hizo un nuevo MPALB para Windwos, Linux y Mac. A parte de ello, hizo un buen SDK de USB para PIC que tanto a gente pedían.



Si, eso si, porque como decís hay mucha más información digerida.

Las otras familias, tal vez no tanto AVR (en inglés hay muchos proyectos similar a PIC), se da por entendido que el usuario posee cierta base y la mayoría de la información la obtiene de las hojas de datos o notas de aplicación del fabricante.


----------



## Meta (Mar 14, 2014)

La gente a la hora de aprender algo nuevo, va a lo más fácil, lo veo mucho en las universidades para entregar proyectos sin tener ganas de aprender cuando lo acabe, solo quiere aprobar, lo primero que miran es, documentación de todo tipo y que sea fácil.

Es lo que estoy viendo mucho en Arduino ahora, hay un sensor como HC-SF04 o similares, pues muchos se copian de muchos y hacen tutoriales a su manera en sus Blog, por eso Arduino crece como loco.

Veo ahora en estos momentos con Arduino que otra cosa, ajjajajjaja, una pasada. AVR en sí no quieren saber mucho por el tema de C++ que no les atrae a la mayoría de los mortales.

Pues si, hay proyectos muy similares sobre PIC y AVR. Entre los PIC Trainer y AVR Arduino no se que hacer. ¿Probarlos todos? 

Ya probé PIC, AVR a secar como hice con PIC bajo asm y un poco de C es diferente que un travesti C de Arduino. ¿Qué vamos hacer?
El que no le guste, que le heche azucar, luego se mete con C++.

Muchos me han comentado que primero aprenda C/C++ en ordenador normal antes de usar XC8 para PIC.
Pues un libro pequeño y barato viene bien como este qu eme llamó la atención.

http://anayamultimedia.es/libro.php?id=950963

Mira lo que dijo Stive Jobs, que todo el mundo debe aprender a programar porque te ayuda a pensar.






Saludo.


----------



## StrySG (Mar 14, 2014)

Para los que usan el sistema operativo GNU/Linux , microchip no tiene nada que sea software libre. 
En eso AVR lleva la ventaja gracias a gcc-avr, avrdude y simulavr, etc. todos estos son libres y no hay necesidad de poseer licencias ni pedir perimiso a nadie para comenzar a dessarrollar sobre AVR en serio.


----------



## TRILO-BYTE (Mar 14, 2014)

que tal meta y cosme

bueno me refiero a los americanos por que aca en mexico le llamanos GABACHOS O GRINGOS
a los norte americanos

lo digo asi por que desconosco la nacionalidad de los que estan en el foro

Arduino sigo sin aplaudirlo

bueno en este caso he visto el trabajo de los GRINGOS que usan mucho los AVR y las FPGAs de xilinx o los Altera

FPGAs pues no le veo mucha utildad a la hora de prender un display o un rele 
 Arduino para usar un rele o un display  hay opciones 52 veces mas economicas de hacerlo

digo cuando se trabaja con un AVR , Freescale o PIC las diferencias son poco notables con el C bueno el ANSI C (no arduino ni CCS)
bueno aclaro para los que se enojen que AVR por su set de instrucciones es mejor al PIC
pero digo en programacion las barreras ya son poco notables
a lo que me refiero es que ya no es tan dificil brincar de una plataforma a otra con el ANSI C

C# 

aun sigue sin gustarme 
de que hay ejemplos hay como si google tuviera diarrea 
pero no deja trabajar con apuntadores facilmente y da problemas de TIME RUN V2.0 a V4

para una solucion de C# hay que darle una gran vuelta para tener el mismo resultado que con VC++

hay que tener programas de ejecucion como VB algo diferente a VC++ que el ejectuable sale y ya!

bueno que alguien me corrija si me equivoco y que me diga que se me hara la boca chicharron por decir tantas tonterias


----------



## Meta (Mar 14, 2014)

Hola TRILO-BYTE:

Gringo si lo sabía, pero no gabachos, jajajajajajajjaja.
En Europa se le llama Yankis, jajajajjjajajajajajaja. En Japón y China no se, jajajajja.

En cuanto a C#, no tienen nada que ver con C/C++ nativo. Estoy cogiendo el truco de C/C++, es más incómodo de trabajar, para eso se creó C#, para tranbajar más cómodo. Eso si, C# está orientado a empresas, C/C++ está orientado  a todo lo que tranque, electrónica, curiosear hasta los procesos de Windows y modificarlos, cosas así. 

Nota:
Hay C++ bajo CLR como C# y VB .net, usa framework, el que digo es el de toda la vida.

Estoy ahora con el C/C++, alguien me aconsejó de este foro aprenderlo antes de meterme con el C de los PIC, AVR o el que sea. La verdad no me agrada mucho, es como más incómodo y complejo, a parte que lo veo más desafiante y puedo hacer lo que me de la gana más que con el uso de framework.

Eso si, estuve traquiniando con Cheat Engine 6.3 con C++ Win32 hecho con Visual C++ 2013. No con C/C++ bajo .net ya que las variables del ejecutable cambian y es por el framework, aunque se puede localizar usando otras técnicas.

Pues la idea de C nativo, quítatelo de la cabeza dentro de unos buenos años, ya que muchas empresas quiere todo en platadorma .net, un Windows en la nube en el futuro, hay noticias que Windwos 9 será el último que usaremos como nativo. Esa es su idea, pero la realidad tardará mucho más años en hacerlo por la gente cabreada como ocurrió con Windows 8 y sacaron el 8.1.

El nuevo MPLAB X, usa Java, que es como el FrameWork .net de Mocrosoft. Poco a poco, con los años, todo el santo con Java en los móviles que pasó ya esa época, algunos con Windows Phone que para mi fue un fracaso y hundió a Nokia (porque ellos confiaron en Microsoft y en realidad, se hunideron así mismo) ahora está Android con Linux y es C, nada semejante máquinas virtuales por decirlo de alguna manera.

En cuanto a MPLAB, no es libre de hacer lo que quieras como modificar el programa, si hacer plugins, siempre se ha podido, pero no modificar como hace AVR. 

¿Por qué no lo hacen libre como AVR? 

Por algo será, un pelín desconfiado parecen. Como que no quieren competencia de su propia aplicación.

Ahora estoy con el C/C++ para hacer una buena dll, con Arduino o PIC, me da igual, es que lea esa dll los datos de los procesos que tienen ejecutado un juego de coches, por poner un ejemplo.





http://www.x-sim.de/manual/tutorial.html

Por ahora me parece difícil, jejeejjee. Precisamante  si ya tengo las variables que deseo, si se hacerlo pasarlo al puerto COM, USB o LTP. Se recuperar variables del proceso, pero no se como COGERLO para una aplicación mía propia para luego mandarlo al puerto.

Estas cosas lo hace bien un PIC, AVR y el que sea medianamente no muy potente de procesamiento, ya que solo lee datos y los visualiza con display de 7 segmentos o una LCD 20x4.

Saludo.


----------



## TRILO-BYTE (Mar 14, 2014)

bueno si C gato no se me hiso la gran maravilla

digo si puedo hacer aplicaciones con C++ las seguire haciendo no hay problema
¿codigo?

pues no pasa de jugar si es publico o privado
cambiar flechas por puntos o viceversa  , bueno ya todo cambio 4 puntos a punto y flecha a punto
jaja 
bueno yo aprendi en borland C e incluso me atrevi a hacer un videojuego , me gustaba mucho
luego pase a DeV C++ pero no dure mucho hasta que conoci VC++
no me gusto por que dije
¿donde esta la dificultad, donde esta el deporte?
pero me gusto programar en modo grafico

¿V C gato?
bueno ya me acomode a los apuntadores , y a las clases - estructuras.
al conocer V C gato se me hiso la misma gata pero revolcada , el codigo es igualito solo que no puedes usar apuntadores a voluntad , deves compilar si es 64 bits o x86 y ver los time run.

¿C ++ en microcontroladore?
bueno el problema es que no todos tienen la memoria suficiente como para soportar algo asi de semejante.

¿ARM o 8 bits?
depende hay muchos que sacan las garras y se arrancan el pelo si uno menciona si yo uso pic16
digo se despierta a las 4 de la mañana diciendo y asi funciona
va uno a la tienda por la obsescion y uno no espera ni 16 minutos en su creacion , lo mas barato que uno encuetra en ese momento que es ¿un pic16f88 o el 716?
pues uno no piensa 2 veces y es lo que uno compra

¿donde estan los micros de 32 bits y los Arduinos?
en el cajon esperando decirle a uno menos brillante que uno y decirle mira yo se usar uno de estos y tu no, el otro vera se queda viendo y dice a ta bonito y de ahi no pasa 

es la realidad en un trabajo les vale un soberano cacahuate si uno sabe o no sabe 
solo te dicen quiero esto para tal fecha , ahi de la cuenta de uno corre ver cuale es la mejor solucion
jaja


----------



## Meta (Mar 15, 2014)

Hola:

Microchip le da por usar C y C++ como novedad desde hace no mucho.
http://ww1.microchip.com/downloads/en/DeviceDoc/50001686G.pdf

En cuanto a Arduino de 32 bits. No te veo muy informado, el la Web oficial los hay.

*Arduino Due*
http://arduino.cc/en/Main/ArduinoBoardDue#.UyRFn4Ws_G0

*Teensy 3.1*
https://www.pjrc.com/store/teensy31_pins.html

*Arduino Tre*

Este aquí abajjo cuando salga caerá a mis manos, depende del precio. .
Tiene un Microcontrolador de 8 bits de AVR y un procesador para Linux de 32 bits de ARM. Será la competencia del Raspberry Pi.


Ahora se usa mucho la mezcla de RaspBerry Pi com servidor y Arduino como actuador. Ahora este Arduino Tre hecho en EE.UU. con acuerdo a Italia para sacarlo como oficial de ellos, no como terceros como Teensy, así será más reconocido y aceptado. RaspBerry Pi corre a 700 Mhz y ´Tre a 1000 Mhz, un pelín más que en Linux se notará un poco mejor.


Estuvimos hablando esta mañana lo que hay, la gente prefieren Arduino cosa que antes odiaba, pero ahora me gusta un poco, solo un poco ya que no tengo la libertad de programar lo que realmente me de la gana como hago con PIC y MPLAB en asm, en C no se casi nada por no decir nada y me tengo que meter.


Atmel está creciendo en ventas gracias a Arduino, si no, se quedan peor. 

Microchip lo sabe y se pone las pilas o se queda atrás. Arduino no es AVR como se tenía esa mentalidad, ahora es ARM también, que está mejor, debería ser así en el futuro más con ARM que veo este camino. 



Parece ser que se están acoplando más a ARM poco a poco, así que AVR puede peligrar en estar en segundo plano.


Saludo.


----------



## Nuyel (Mar 16, 2014)

Arduino a 32 Bits, que tal el Intel Galileo un Arduino de 32bits no ARM como el TRE, a lo x86 tipo Pentium.


----------



## TRILO-BYTE (Mar 16, 2014)

¿usar una vieja x86 serviria igual?
digo abunda por el mundo viejas placas x86 y sacar las señales por el puerto IDE
el mundo de los microcontroladores llegaran al poder de las PC antiguas
jajaja

suena ridiculo pero asi es con los videojuegos primero empezo con juegos simples de batir puntos luego a una mision despues a una historia
y derrepente con los dispositivos moviles denuevo a juegos simples de batir puntos

fue como algo retrogrado

con los microcontroladores pasa casi lo mismo se tienen computadoras medianamente poderosas programandose en C++ o java y derrepente los microcontroladores se hacen comerciales
y a programar en ASM otravez

y ahora se esta llegando al X86 con el ejemplo de NUYEL
bueno un dia llegara al tope esto y derrepente de nuevo a comenzar abajo con otra tecnologia

jaja


----------



## Meta (Mar 16, 2014)

Hola:

Mirando el Z80 que todavía se ¿¿¿¡¡¡vende!!!??? 

Ver enlace

Hablo del Spectrum ZX, tengo uno que reparé ahce meses la salida a TV para verlo en RCA y funciona de maravilla.

Ahora los microcontroladores actuales que funcionan a 32 bits, pueden generar imágenes mejor que un procesador de 8 bits de la época como el Z80.

Tienes razón del tema que dices TRILO-BYTE. Hasta los móviles son más potente que mi HP Mini 110, hasta la cámara más megapíxeles y resolución HD 1080 de los móviles más potente que la reflex que tengo desde el 2009, .

Móviles que puedes controlar un PIC desde su pantalla y mini USB o hasta blouTooth, mil cosas más.

En cuanto al Galileo, fucniona a 400 MHz, no me llama la atención, al menos por ahora. La TRE que saldrá al mismo tiempo que Galileo tiene 1000 MHz. Se que la arquitectuta del procesador de Galileo es superior ya que son del X86, un así, que no sean rácanos y metan en las futuras versionas una de 1 GHz como mínimo.

Saludo.


----------



## Nuyel (Mar 16, 2014)

Es un chip nuevo, apenas se está introduciendo, pero el costo será menor, y ¿para que quieres velocidad si puedes hacer lo mismo con menor consumo? al menos debes considerar esa posibilidad, pero por otro lado pues los celulares ya superan bastante computadoras de hace 5 años, como la mía pero al menos superé a un Galaxy Note 2 

El futuro son CPU x86 Dual-Core capaces de correr Linux con Wi-Fi y Bluetooth en tamaños de tarjetas SD 





Pero no hay que confundirnos estos ya no son microcontroladores, son procesadores de aplicaciones, no es conectar y funcionar, requiere de sus memorias RAM y otro periféricos, el Galileo usa un expansor I2C  para el GPIO, en el caso del TRE se tiene el procesador Sitara y un ATmega32u4 para el shield Arduino, en pocas palabras una BeagleBone Black + Arduino Leonardo en la misma placa.


----------



## TRILO-BYTE (Mar 16, 2014)

exacto 
los celulares con android 3 androids etc.
usan microprocesadores pero un dia cuando la tecnologia nos alcance  habremos retrogradado en otra cosa y acrecer de nuevo.
se dice que la electronica organica y chips que se reparan son el futuro, hoy son un rumor y en este momento nos jalamos el cabello por hablar del pic16f84 y los arduinos.

las FPGAS por ejemplo se programan en VHDL y seudo compiladores C 
es decir empiezan de 0 como empezaron los microcontroladores con el ASM.

para cuando la tecnologia nos alcance deberemos empezar otra vez desde abajo.


----------



## Meta (Mar 16, 2014)

Siempre lo nuevo empezamos desde abajo.

Ya no jalamos del PIC16F84A, es tan famoso y popular como el Z80 del Spectrum.

Hoy me dio por mirar este documental.





Saludos.


----------



## humbertocg (Mar 18, 2014)

He estado leyendo si bien no todo el tema si parte de el, no se que tan activo sea el tema pero queria comentar unas cosas.

Primero para mi la diferencia entre pic y atmel, es que pic esta mas documentado. Atmel no mucho, ademas de eso. Para mi programar a atmel es mas complicado. Es en resumen, mi experiencia.

Segundo, sobre los lenguajes de programacion. Hablando de la programacion en c/c++ me ha parecido un poco ridiculo tener que primero aprender la version "full" por decirle algo a las version para pc a la versiones para microcontroladores. Ya que aunque se manejen igual, simplemente no es lo mismo, es mas "facil" y es por eso que para mi no es necesario.


----------



## Meta (Mar 18, 2014)

humbertocg dijo:


> *Bienvenido al foro.*
> 
> Primero para mi la diferencia entre Microchip y Atmel, es que PIC esta mas documentado. Atmel no mucho, además de eso. Para mi programar a Atmel es mas complicado. Es en resumen, mi experiencia.
> 
> ...



Las diferencias que veo a simple vista son:

PIC tiene más documentación en español y cualquier idioma.
Hay más ejemplos hechos en asm y C.
Hay más proyectos con PIC.
Hay muchos más libros sobre PIC de cualquier idioma. AVR ninguno en español y los que hay en Inglés son muy bueno y pocos.
Hay más programadores para grabar µC.

*Otra nota que añado:*
Microchip saca MPLAB para Windows Linux y MAC. No modificble, solo puedes crear plugins, algo es algo.
AVR su software es libre y modificable, es una gran ventaja.
Gracias a unas personas se creó, se populorizó y cogió fama Arduino, con ello se ha impulsado mucho las ventas de AVR, hay libros a elegir por todas partes en español.
Ahora Arduino está haciendo crecer a ARM, parece que a pesar de empezar con AVR, acaba en segundo plano para cosas pequeñas.

Si se fijan bien, hay muchos proyectos similares entre PIC y AVR, solo es cuestión de gustos, precios, disponibilidad y mil motivos para cual escoger.

Gracias por tu opinión.


----------



## cosmefulanito04 (Mar 18, 2014)

Dejando de lado la parte hobbista (por lo menos yo en este tema no apunto a eso), creo que este tema no dá para mucho más.

Se nota que no hay una objetividad a la hora de comparar las dos arquitecturas, ya que a partir de ese punto la discusión se termina.

¿Es más fácil manejar un auto con un solo cambio que otro con cinco? si, pero el rendimiento no es el mismo. 

Sobre la documentación, nuevamente, hay que buscar bien, no siempre todo esta servido en bandeja de plata, ahora si solo vas a usarlo como hobbista, y sin duda ni te molestes en aprender assembler/C, usá basic y te ahorrás muchos problemas. Por otro lado, cuando se menciona que no hay documentación, ¿me podrían dar un ejemplo a lo que se refieren? yo cuando empecé con AVR, google ayudó bastante.


----------



## Meta (Mar 18, 2014)

Si hay documentación, lo que hayq ue buscar mucho.

En las arquitecturas, ya que las nombras, pues si te refieres a las de 8 bits, por lo que he leído hace tiempo, está mejor en AVR que PIC, lo que no recuerdo que era exactamente. 

Lo que me gusta del AVR, es que tiene memoria unificada, no segmentadas en bancos como hace PIC, en asm te da la tabarra, en C ya no importa.

PIC tiene la ventaja de dar 25 mA en sus pines que otro µC no son capaces.

Hay que hacer una buena tabla de comparativa sobre estas dos arquitecturas. De todas maneras, en rendimiento para pequeñas aplicaciones no importa tanto, si PIC hace una cosa, AVR  lo hace similar con el tiempo. Lo mismo al revés, si AVR hace algo, llega PIC corriendo hacer lo mismo.

Una pregunta para responder aquí.

¿Por qué me gusta más AVR de ATmel que PIC de Microchip o al revés?

¿Qué tiene una que no tenga la otra?

¿Qué me atrae más exactamente?

Otro motivo, es que un µC lo consigo en tiendas al lado de mi casa y la otra no, así que escojo lo que encuentre.

Saludo.


----------



## cosmefulanito04 (Mar 18, 2014)

Meta dijo:


> Si hay documentación, lo que hayq ue buscar mucho.



Bue.... 



Meta dijo:


> En las arquitecturas, ya que las nombras, pues si te refieres a las de 8 bits, por lo que he leído hace tiempo, está mejor en AVR que PIC, lo que no recuerdo que era exactamente.



Entonces mucho sentido no tiene analizar cual es mejor, si no sabemos bien como funciona la arquitectura de c/u. Por ej. leo que dicen que PIC es más fácil en assembler, yo simplemente no entiendo ese comentario, la cantidad de instrucciones son similares y en AVR resulta mucho más sencillo realizar operaciones que requieran trabajar con dos datos distintos, o incluso hacer contadores por ej. para los loops, en PIC eso resulta engorroso.



Meta dijo:


> Lo que me gusta del AVR, es que tiene memoria unificada, no segmentadas en bancos como hace PIC, en asm te da la tabarra, en C ya no importa.



Otra cosa que resulta super enredado de la arquitectura de PIC, es un despelote sin sentido.



Meta dijo:


> PIC tiene la ventaja de dar 25 mA en sus pines que otro µC no son capaces.



¿Acaso los AVR como el atmega8 no pueden entregar más corriente?, fijate en la hojas de datos y después comentá. 



Meta dijo:


> Hay que hacer una buena tabla de comparativa sobre estas dos arquitecturas. De todas maneras, en rendimiento para pequeñas aplicaciones no importa tanto, si PIC hace una cosa, AVR  lo hace similar con el tiempo. Lo mismo al revés, si AVR hace algo, llega PIC corriendo hacer lo mismo.



La diferencia es el consumo, para una arquitectura necesitás 4 veces más de clock para tener un rendimiento similar, e incluso así, tenés el 1er problema que mencioné, la bendita arquitectura rebuscada.



Meta dijo:


> ¿Por qué me gusta más AVR de ATmel que PIC de Microchip o al revés?
> 
> ¿Qué tiene una que no tenga la otra?
> 
> ¿Qué me atrae más exactamente?



. Es robusto, por ej. si manejo un rele con la misma linea de tensión, el uC ni se entera. 
. La arquitectura, es simple y concisa, dandote la posibilidad no solo de manejar 2 registros generales, sino 32.
. Esta basado en una arquitectura anterior como el 8051.
. Herramientas gratuitas como el AVR studio, pony-prog, aver dude, etc.
. Barato, dependerá de la zona de c/u, pero el mismo uC comparativamente hablando, sale más barato un AVR que un PIC.

La gran contra que le encuentro a los AVR:

. Los benditos fuses, al principio cuesta entenderlos.
. PIC te dá gran soporte (ese es su negocio, hacerte dependiente de esa marca).
. Conseguir usb por hard cuesta su plata.

Sin embargo, entre los Pro y contras, en 8 bits AVR es la mejor opción para uso profesional entre PIC y AVR.


----------



## Meta (Mar 18, 2014)

cosmefulanito04 dijo:


> B
> 
> la bendita arquitectura rebuscada.
> 
> ...



*AVR lo veo más profesional desde hace tiempo, antes eran los PIC. Actualmente se están pasando a los ARM. Aún así, no hay libros en español sobre ellos. No cuenta ARM de Aeduino.

*
Saludo.


----------



## TRILO-BYTE (Mar 18, 2014)

Meta, ya te calló la palabra sabia de Cosme fulanito.

Yo no soy un gran opinador, apenas empecé con los microcontroladores y mi hola mundo fue un control de un Solgel "sin saber absolutamente nada de micros".

He visto que los AVR son muy fáciles de programar , no lo niego. 
Pero acá en mi país es muchísimo más barato comprar un DSpic a un atmega8 
No es por que así lo sea, es por que así se les da su gana por eso uso PIC , me gustan.
Odio la documentación en español, no es que sea mala pero es mejor la documentación en ingles que generalmente es la del fabricante.


He manejado freescale, pic, avr y en cuestiones de programación, en C se me hicieron muy similares al programar, pero el rendimiento es muy diferente.y eso que tuve que leer foros en inglés nada de español.

ARM, bueno no soy experto del tema en si pero escuché a un ingeniero metido con los freescale y me dijo que es popular porque la empresa ARM vende su núcleo muy económico a empresas que hace microcontroladores , FPGAS ,etc. 

Y al tener un núcleo económico y perfectamente documentado, pues hay negocios, por eso es popular.
¿El volkswagen escarabajo fue popular por bonito? No, fue popular por barato.

Así es, ARM lo encuentras en casi cualquier micro, consola portátil, celular e incluso en MP3 chinos por que son económicos .
Es oferta y demanda.

Insisto soy un novato crudo y muy verde.


----------



## Meta (Mar 19, 2014)

La inforamción en Inglés se que está mejor, no lo niego.

En cuanto a AVR más fácil de programar, será en C, porque en asm han comentado en forosssssssssss que PIC es más fácil. En libros de asm  deja claro que tiene pocas instrucciones muy sencillas y fácil de programar. No compara con AVR.

Por lo que he visto, me han comentado los que saben, que trabajar asm en PIC es más fácil que AVR, lo pregunté en su día. Solo que el C está mejor optimizado que los PIC.

Total, me da igual. Mientras se pueda jugar con AVR y PIC, la verdad me da igual. Para lo que voy hacer con los microcontroladores de 8 bits, no me voy a volver loco.

Puedo hacer lo mismo conun PIC o AVR controlar un motor PAP, mostrar info en una LCD 16x2, una LDR.  Con uno o con otro, funciona igual.

En caunto al ARM, cada vez más popular a saltos no muy agigantados por ahora, hasta lo metieron en Arduino. No a todos los amantes de AVR le hicieron gracia. Lo buenoque ARm son muy potentes, pueden arrancar Windoes y está preparado para ello, ni AVR, ni PIC lo hacen. Por ahora, claro.

Tampoco veo que Microchip y Atmel se ponga las pilas para arrancar sistemas operativos tipo Windows que digamos. Con Linux si han arrancado con AVR de 8 bits.






http://www.neoteo.com/linux-chip-atmega-arm-8-bits/
dmitry.gr/index.php?r=05.Projects&proj=07
Saludo.


----------



## Chico3001 (Mar 19, 2014)

Coincido con muchos... este tema solo da vueltas y nunca se va a poder llegar a una conclusion... todo depende de que tan comodo se sienta uno con sus herramientas... 

Asi que:


----------



## DANDY (Abr 26, 2016)

En este sencillo video se demuestra que los AVR son más robustos que los PIC ante el ruido eléctrico, la batalla es bastante justa pues son equivalente en gamma y precio.
PIC16F876A vs ATmega8A.


----------



## Nuyel (Abr 26, 2016)

Dónde está el código? por que si no veo la configuración del BOR la prueba se invalida.

Aunque los PIC tienen la fama de que esto les pasa seguido.


----------



## ByAxel (Abr 26, 2016)

mmm llevo años programando PICs, AVR... y hasta los he puesto en minas donde hay ruido por todas partes, contactores, super motores, etc... 
Como dijo Nuyel, esto es configuración y con un buen diseño de hardware (normas) eso ni se nota... además estás comparando un PIC considerado ya antiguos. PIC/AVR ya son de la misma empresa XD...


----------



## miglo (Abr 27, 2016)

Nuyel dijo:


> Dónde está el código? por que si no veo la configuración del BOR la prueba se invalida.
> 
> Aunque los PIC tienen la fama de que esto les pasa seguido.



Entonces como solucionar el reseteo? digo esto para los menos entendidos, asi como yo jejeje, colocando condensadores a masa? digo esto por que yo lo que uso son pics


----------



## Meta (Abr 27, 2016)

Haciendo un buen diseño del circuito, te darás cuenta que PIC es la leche. No hablo de mejor o peor, tiene sus pros y contras. Total, desde hace un buen timepo están con los ARM.


----------



## DANDY (Abr 27, 2016)

ByAxel dijo:


> ... además estás comparando un PIC considerado ya antiguos. PIC/AVR ya son de la misma empresa XD...



Ambos siguen en circulación, muy aparte de ese AVR tambien es considerado antiguo y cuesta igual. Como decía, es una prueba bastante justa, si utilizaría un 18F, tendría que hacer la comparación con un Xmega.

Si utilizaría el mismo hardware, bajo las mismas condiciones ese AVR siempre llevaría la delantera ante el ruido eléctrico; sabes a lo que me refiero.

PD: es cierto, Microchip y Atmel ya son la misma empresa


----------



## Nuyel (Abr 27, 2016)

miglo dijo:


> Entonces como solucionar el reseteo? digo esto para los menos entendidos, asi como yo jejeje, colocando condensadores a masa? digo esto por que yo lo que uso son pics



Haciendo un buen diseño, pero lo que yo decía del BOR(Brown Out Reset) en los Atmega es Brown Out Detector, es una funcionalidad para reiniciar el chip si el voltaje baja al punto de ser inestable la operación, si no vemos como fueron configurado cada chip, puede que el PIC se reinicie por que así está programado.


----------



## DANDY (Abr 27, 2016)

Nuyel dijo:


> lo que yo decía del BOR(Brown Out Reset) en los Atmega es Brown Out Detector, es una funcionalidad para reiniciar el chip si el voltaje baja al punto de ser inestable la operación, si no vemos como fueron configurado cada chip, puede que el PIC se reinicie por que así está programado.



Nuyel, siento decirte que este no es el caso, en este caso se programó de las dos maneras tanto con el BOR como el WDT; en ambos el PIC es muy delicado... yo tambien uso PIC, pero nunca en aplicaciones industriales, sobre todo desde que encontré algunos arrancadores de estado solido y controladores que tenían el PIC quemado.


----------



## ericksm (Abr 28, 2016)

DANDY dijo:


> Nuyel, siento decirte que este no es el caso, en este caso se programó de las dos maneras tanto con el BOR como el WDT; en ambos el PIC es muy delicado... yo tambien uso PIC, pero nunca en aplicaciones industriales, sobre todo desde que encontré algunos arrancadores de estado solido y controladores que tenían el PIC quemado.




Si están programados ambos con el BOR , entonces el PIC esta ganando este encuentro ya que se reinicia cuando detecta variación en la alimentación.
También depende de a que niveles de voltaje ocurre el reinicio, quizá en el PIC es un poco más sensible o acorde a sus niveles de disparo del reset.

Trabajo con pics por ahora, no necesito más y no utilizo el BOR ya que mi programa realiza lecturas continuas en un divisor resistivo y utilizo el promedio de ellas. y como es continuo un reset mataría mi programa  , o podría guardar las variables para seguir trabajando después del reset pero esa ya es otra historia.

Salu2


----------



## DANDY (Abr 28, 2016)

ericksm dijo:


> Si están programados ambos con el BOR , entonces el PIC esta ganando este encuentro
> Salu2



Bueno quizá no me di a entender, me refería a que el PIC lo probé con BOR activado y tambien con el BOR desactivado, hice lo mismo con el WDT en ambos casos es muy delicado ante el ruido eléctrico.


----------



## palurdo (Abr 28, 2016)

El caso es que hablar de ARM es engañoso, porque sería como hablar de MIPS, cuando existen miles de micros con núcleo ARM (entre ellos algunos de atmel) como miles de micros con núcleo MIPS (entre ellos los PIC32). 

En cualquier caso, aunque sea una arquitectura obsoleta, la MCS51 (8031,32,51,52 etc) sigue siendo siendo de muy lejos la más utilizada a nivel embedded (millones de pendrives y memorias flash que usan un MCS51 ciclado con esteroides como controlador.


----------



## Miembro eliminado 356005 (Abr 30, 2016)

Un amigo, catedrático de electrónica, comentó que ganaba Microchip, solo por la variedad de micros que tiene en cartera, comparada con los de Atmel.

De todas maneras, como se ha dicho antes, Microchip compró Atmel, así que... asunto cerrado (en lo que respecta al título del hilo, claro  )


----------

