Paso 4: Otros comandos
Ajustes de frecuencia de reloj de la CPU
Usted puede encontrar lo que el firmware se ha configurado para usar la configuración del reloj del CPU con el comando de la fcpu :
Es decir 16 millones, o 16 millones de herz, conocido más comunmente como 16 MHz. Usted puede cambiar sobre la marcha, por cualquier razón, con el comando clock . Este comando toma un argumento: el prescaler a utilizar al dividir la velocidad de reloj. El comando clock entiende estos valores del divisor:
- ckdiv2
- ckdiv4
- ckdiv8
- ckdiv16
- ckdiv32
- ckdiv64
- ckdiv128
- ckdiv256
Utilizando el comando:
Cuando la velocidad del procesador 16MHz resultado en la velocidad de reloj se cambió a 8 MHz. con una velocidad inicial del reloj de 16MHz con un prescaler de ckdiv64 dará como resultado una velocidad de reloj final de 250 KHz. ¿Por qué en la tierra ¿quieres hacer el MCU más lento? Bueno, para uno, una velocidad de reloj menor consume menos energía y si tienes su MCU corriendo de una batería en un recinto de proyecto puede no necesita correr a toda velocidad y podría por lo tanto, reducir la velocidad y reducir su consumo de energía, aumentando la duración de la batería. También, si utiliza el reloj para cualquier tipo de problemas de sincronización con otro MCU, digamos, implementar un software UART o alguna cosa semejante, puede que desee establecer en un valor particular que es fácil conseguir una buena velocidad incluso con menores tasas de error.
Encender y apagar sub-sistemas periféricos
En la misma nota como reducir el consumo de energía mencionado anteriormente, puede que desee reducir aún más el poder cerrando algunos de los periféricos a bordo que no usas. El intérprete de comandos y shell actualmente pueden encender y apagar los siguientes periféricos:
- Convertidor de analógico a Digital (ADC). Este periférico se utiliza cuando usted tiene un sensor analógico de datos (como temperatura, luz, aceleración, etc.) y necesita convertir a un valor digital.
- Interfaz periférico serial (SPI). El autobús SPI se utiliza para comunicarse con otros dispositivos habilitados para SPI, como memorias externas, controladores LED, externo ADC, etc.. Partes de la SPI se utilizan ISP de programación, o al menos los pernos son, así que ten cuidado cuando esta apagado si se programa a través de ISP.
- Interfaz de dos hilos. Algunos dispositivos externos utilizan el bus I2C para comunicarse, aunque estos son rápidamente sustituidos por dispositivos con SPI SPI tiene un rendimiento mayor.
- USART. Esta es su interfaz serial. Probablemente no quieres apagar esto si está conectado al AVR a través de la conexión en serie. Sin embargo, he añadido esto aquí como un esqueleto para portar a los dispositivos que tienen múltiples USART como el ATmega162 ATmega644P.
- todos. Este argumento para el comando de encendido o powerdown todos los periféricos mencionados se enciende o les apaga todo con un comando. De nuevo, utilice este comando con prudencia.
Arranque y parada de temporizadores
La cáscara tiene un temporizador de 16 bits que está disponible para su uso. Iniciar el temporizador con el mando de temporizador:
y detener el temporizador con el argumento de parada:
Este temporizador no se entrar en conflicto con el temporizador interno del USART. Ver el código para los detalles de implementación del temporizador USART, si le interesa ese tipo de detalles sangrientos.
Autenticación de
La cáscara puede guardar una contraseña de 8 caracteres en la EEPROM. Este mecanismo de contraseña fue creada para apoyar las capacidades de inicio de sesión de telnet, pero podría ampliarse para proteger a otras cosas. Por ejemplo, podría requerir ciertos comandos, como cambiar valores del registro, a través del mecanismo de autenticación.
Configuración de la contraseña con el comando de la contraseña :
Autorizar contra contraseña (o requieren autorización mediante programación a través del código) con el comando auth. Tenga en cuenta que si intenta cambiar la contraseña de root y ya hay un sistema de contraseña de root, debe autorizar a sí mismo contra la contraseña antigua antes de ser permitido para cambiar a una nueva contraseña.
Por supuesto, usted necesitará cargar el archivo avrsh.eep si borraran el firmware para tener sus antiguos valores y variables restauradas. El fichero Makefile creará el archivo EEPROM para usted.
Variables
La cáscara entiende la noción de variables definidas por el usuario. El código limita esto a 20, pero usted puede cambiarlo si quieres cambiar la define MAX_VARIABLES en script.h. Puede guardar un valor de 16 bits (es decir, cualquier número hasta 65.536) en una variable para recordar más adelante. La sintaxis es similar a los registros salvo un signo de dólar ($) se utiliza para denotar las variables de la shell. Lista de todas las variables con el comando de impresión variables.
Establecer una variable:
Obtener el valor de una variable dada:
Se pueden ver lo que todas las variables que actualmente has instanciado con el comando de impresión que ya sabes.
El nombre de $ $FREE sólo indica que esa variable ubicación es gratis y no se le ha asignado un nombre de variable sin embargo.