Editando
C10 - Finite State Machine
(sección)
Ir a la navegación
Ir a la búsqueda
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
== Usar PLL == <br> Hay dos formas de activar PLL: *A través de una libreria **La mejor solucion porque es mas estable **El código se puede portar más fácil a otro micro *Accediendo directamente a los registros <br> === Accediendo manualmente === *Paso 0: Usar <b>RCC2</b> porque provee más opciones *Paso 1: Poner bit 11 de <b>BYPASS2</b> a 1 **PLL esta bypassed y no hay system clock divider *Paso 2: Seleccionar la velocidad del cristal a través del campo <b>XTAL</b> **Los bits de <b>OSCSRC2</b> se hacen clear para seleccionar el main oscillator como oscillator clock source *Paso 3: Hacer clear al <b>PWRDN2</b> (bit 13) para activar el PLL *Paso 4: Configurar y activar el divisor del reloj usando el campo <b>SYSDIV2</b> **Explicado en el apartado anterior la fórmula para calcular el bus del reloj a través del <b>SYSDIV2</b> *Paso 5: Esperar a que el PLL se estabilize **Cuando el <b>PLLRIS</b> (bit 6) del <b<SYSCTL_RIS_R</b> sea high estará estabilizado *Paso 6: Hacer clear al bit <b>BYPASS2</b> para conectar el PLL <br> void PLL_Init(void){ // 0) Use RCC2 SYSCTL_RCC2_R |= 0x80000000; // USERCC2 // 1) bypass PLL while initializing SYSCTL_RCC2_R |= 0x00000800; // BYPASS2, PLL bypass // 2) select the crystal value and oscillator source SYSCTL_RCC_R = (SYSCTL_RCC_R &~0x000007C0) // clear XTAL field, bits 10-6 + 0x00000540; // 10101, configure for 16 MHz crystal SYSCTL_RCC2_R &= ~0x00000070; // configure for main oscillator source // 3) activate PLL by clearing PWRDN SYSCTL_RCC2_R &= ~0x00002000; // 4) set the desired system divider SYSCTL_RCC2_R |= 0x40000000; // use 400 MHz PLL SYSCTL_RCC2_R = (SYSCTL_RCC2_R&~ 0x1FC00000) // clear system clock divider + (4<<22); // configure for 80 MHz clock // 5) wait for the PLL to lock by polling PLLLRIS while((SYSCTL_RIS_R&0x00000040)==0){}; // wait for PLLRIS bit // 6) enable use of PLL by clearing BYPASS SYSCTL_RCC2_R &= ~0x00000800; } <br>
Resumen:
Ten en cuenta que todas las contribuciones a Proyectos se consideran publicadas bajo la Creative Commons Atribución-CompartirIgual (véase
Proyectos:Derechos de autor
para más información). Si no deseas que las modifiquen sin limitaciones y las distribuyan libremente, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre.
¡No uses textos con copyright sin permiso!
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Menú de navegación
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Espacios de nombres
Página
Discusión
español
Vistas
Leer
Editar
Ver historial
Más
Buscar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Páginas especiales
Herramientas
Lo que enlaza aquí
Cambios relacionados
Información de la página