- #include <stdio.h>
- #include "NUC029xDE.h"
-
- #define PLL_CLOCK 50000000
-
-
- void SYS_Init(void)
- {
- /*---------------------------------------------------------------------------------------------------------*/
- /* Init System Clock */
- /*---------------------------------------------------------------------------------------------------------*/
-
- /* Enable Internal RC 22.1184MHz clock */
- CLK_EnableXtalRC(CLK_PWRCON_OSC22M_EN_Msk);
-
- /* Waiting for Internal RC clock ready */
- CLK_WaitClockReady(CLK_CLKSTATUS_OSC22M_STB_Msk);
-
- /* Switch HCLK clock source to Internal RC and HCLK source divide 1 */
- CLK_SetHCLK(CLK_CLKSEL0_HCLK_S_HIRC, CLK_CLKDIV_HCLK(1));
-
- /* Enable external XTAL 12MHz clock */
- CLK_EnableXtalRC(CLK_PWRCON_XTL12M_EN_Msk);
-
- /* Waiting for external XTAL clock ready */
- CLK_WaitClockReady(CLK_CLKSTATUS_XTL12M_STB_Msk);
-
- /* Set core clock as PLL_CLOCK from PLL */
- CLK_SetCoreClock(PLL_CLOCK);
-
- }
-
- static void delay_ms(uint16_t nDelay)
- {
- uint16_t nIndex;
- for(nIndex = 0; nIndex < nDelay; nIndex++)
- {
- CLK_SysTickDelay(1000);//delay one ms
- }
- }
- /*---------------------------------------------------------------------------------------------------------*/
- /* MAIN function */
- /*---------------------------------------------------------------------------------------------------------*/
- int main(void)
- {
- /* Unlock protected registers */
- SYS_UnlockReg();
-
- /* Init System, peripheral clock and multi-function I/O */
- SYS_Init();
-
- /* Lock protected registers */
- SYS_LockReg();
-
- GPIO_SetMode(PB,BIT13,GPIO_PMD_OUTPUT);
- while(1){
- PB13 = 1;
- delay_ms(1000);
- PB13 = 0;
- delay_ms(1000);
- }
- }
|