Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola soy nuevo por aqui asi que un saludo a todos.
Bueno el caso es que empezé a aprender C con los ATmega pero de la misma me meti con los Xmega por que tenian buenisima pinta y dicen que te acercan mas a los micros ARM (algun dia muy lejano..jajaj)
Pues despues de un tiempo veo este link " http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=103269 " en el que ponen a parir al Xmega.
Asi que queria saber si mejor aprendo con los ATmega y ya algun dia pasar a los ARM, o este es un salto demasiado grande? no se como hacer para no dar muchas vueltas hasta llegar a los ARM..
En fin, que bajon!!
gracias por la info, haber si a mitad de semana la entiendo, que he tenido boda y todavia no coordino jajaj.
Hola otra vez, para no llenar todo de preguntas sigo este tema.
Ando perdido con el tema del clock para el Atmega8
Sobre el cristal externo, no se como van los fuses. Segun la tabla del datasheet, para la configuracion de CKOPT habilitado, aparecen 3 opciones para los fuses CKSEL3:1, y no las diferencia ni dice cual es mejor.
Da igual como ponerlos?
y el cristal de 32KHz, por hay pone que el micro puede usar este y aumentar la frecuencia en multiplos de 2, usando el PLL del micro.. ??
El Atmega8 tiene el PLL ese? en algun foro algo hablaban de esto para los PIC pero para Atmega no e visto nada del tema.
Hasta cuanto se puede subir la frecuencia? es tan preciso como usar un cristal de frecuencias altas?
Y como se configura esto en el micro?
Del cristal de 32Khz e leido varias ventajas, pero no se que cristal sera mejor, la del otro tipo es que ya esta comprado jej.
Bueno ya puestos otra duda sobre unos ejemplos en C de un libro, pone asi:
variableA = *punt + 1;
Carga en variableA lo de la siguiente direccion de un array a la que marca "punt".
Pero lo que entiendo yo es que segun esta puesto seria lo mismo que por ejemplo: si "punt" apunta a un valor 5,
variableA = 5+1= 6
Para lo primero no tendria que ser asi?
variableA = *(punt + 1);
Bueno 1 saludo!
Respecto de los relojes y los fuses: generalmente se suelen preferir cristales de mayor frecuencia, como el de 8MHz que comentas, dejando los de 32KHz para el RTC. No se si el ATmega8 tiene oscilador para el RTC. PLL seguro que no tiene. Los ATXmega sí que tienen PLL, así como unos pocos ATtiny (creo) y ATmega(creo), pero la norma general es que estos últimos no tienen.
Para programar los fuses, yo siempre utilizo el ISP o el JTAG desde el AVRstudio, que te lista las opciones de manera clara y sólo hay que elegir la que más te convenga (external xtal, slow startup, por ejemplo).
Si tienes un micro que necesites "mandar a dormir", pero que se despierte cada cierto tiempo, entonces el RTC de 32KHz va estupendo: se para el reloj principal, se para toda la circuitería interna menos el RTC y su oscilador, reduciendo consumo, y en el momento en que suena el despertador del RTC, todo vuelve a rearrancar respecto de donde estaba antes de irse a dormir.
Por lo que respecta al puntero, me parece que tu opinión es correcta.
El cristal de 32Khz es muy barato y se usa sobre todo para el RTC. Usarlo con el PLL no da tanta precisión como un cristal de alta frecuencia, pero tiene la ventaja de menor consumo. La principal ventaja es la que te dice Beamspot: usarlo para micros con sleep o powerdown.
Tienes razón en no estar de acuerdo con el libro.
La expresión variableA = *punt + 1;
se interpreta así : variableA = (*punt) + 1;
es decir que extre el dato apuntado por punt y le suma uno.
El operador (*) tiene mas prioridad que el operador suma (+) y se evalúa antes: http://www.unizar.es/sicuz/siscen/doc/c-bolsillo.pdf " onclick="window.open(this.href);return false;
Ok gracias, ya me a quedado claro. Anda que no hay que echarle tiempo a esto!