4 votos

Arduino: programático deshabilitar cristal/cambiar el reloj del sistema del predivisor

Tengo un ATtiny2313 de la junta que no tiene un cristal instalado. De acuerdo a la documentación parece que, a continuación, se ejecuta por defecto en 1MHz. Debido a que esta junta directiva sólo permite a los ISP de programación pensé en la primera prueba de que el temporizador relacionados con el código en Arduino (con ATmega 328, pero utilizando sólo las características que también estará disponible en el ATtiny2313).

Preguntas:

  • Cómo deshabilitar el Arduino cristal (temporalmente) sin tener que poner los fusibles (no quiero enviar mi AVR al infierno)?
  • Es posible cambiar el reloj del sistema prescaler por el código, por ejemplo para cambiar el reloj del sistema de la ATtiny2313 de 1MHz a 8MHz?

7voto

Parvenu74 Puntos 257

Sí, mira la configuración de los fusibles de bits a utilizar el oscilador interno más que externo de cristal. Mediante el registro OSCCAL usted puede incluso ajustar el oscilador RC interno en el arduino para imitar su ATtiny2313. Una vez que haya hecho esto

Si el Interno Calibrado Oscilador RC se utiliza como chip de la fuente de reloj, PB7. . .6 se utiliza como TOSC2...1 entrada para el Asincrónica Temporizador/Counter2 si el AS2 poco en ASSR se establece.

Consulte la página 3 y en la página 84 de la hoja de datos para el ATmega328P que es el microcontrolador en la placa arduino.

Respuesta a Comentario Oh, yo podría ser mal entendido su pregunta. Los fusibles son 'un tiempo' con respecto a su programa en que una vez que se han establecido y se ejecuta el programa que no puede ser cambiado hasta que reprogramar. Se usa para seleccionar la fuente de reloj se utiliza.

Sin embargo, se pueden establecer muchas veces, si usted está tratando de simular el programa en diferentes frecuencias de reloj. Ah, y la última parte, no creo que hay una manera de cambiar los fusibles con un USB/FTDI programador. Para obtener más información sobre fusibles, consulte aquí.

Si usted está preguntando si hay una manera de cambiar el fusible de la configuración a través de la placa arduino creo que la respuesta es no. Necesitas utilizar algo como el STK-500 o el AVR ISP mkII. También tenga en cuenta que estos programadores también plugin a su puerto USB en su computadora, pero no usa el chip FTDI como la placa arduino hace.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X