| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1235 人关注过本帖
标题:汇编语言程序解答
只看楼主 加入收藏
willfan
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-12-7
结帖率:0
收藏
已结贴  问题点数:0 回复次数:2 
汇编语言程序解答
这段程序是什么意思啊。。那些寄存器的哪些作用啊
void SystemInit (void){
#if (CLOCK_SETUP)                       /* Clock Setup                        */
  LPC_SC->SCS       = SCS_Val;   /*系统控制和状态寄存器  */
  if (SCS_Val & (1 << 5)) {             /* If Main Oscillator is enabled      */
    while ((LPC_SC->SCS & (1<<6)) == 0);/* Wait for Oscillator to be ready    */
  }
  LPC_SC->CCLKCFG   = CCLKCFG_Val;      /* Setup Clock Divider  时钟配置寄存器              */
#if (PLL0_SETUP)
  LPC_SC->CLKSRCSEL = CLKSRCSEL_Val;    /* Select Clock Source for PLL0时钟源选择寄存器       */
  LPC_SC->PLL0CFG   = PLL0CFG_Val;      /* configure PLL0  PLL0配置寄存器                   */
  LPC_SC->PLL0FEED  = 0xAA;             /* PLL0馈送寄存器
  LPC_SC->PLL0FEED  = 0x55;
  LPC_SC->PLL0CON   = 0x01;             /* PLL0 Enable  PLL0控制寄存器                      */
  LPC_SC->PLL0FEED  = 0xAA;
  LPC_SC->PLL0FEED  = 0x55;
  while (!(LPC_SC->PLL0STAT & (1<<26)));/* Wait for PLOCK0      PLL0状态寄存器              */
  LPC_SC->PLL0CON   = 0x03;             /* PLL0 Enable & Connect              */
  LPC_SC->PLL0FEED  = 0xAA;
  LPC_SC->PLL0FEED  = 0x55;
  while (!(LPC_SC->PLL0STAT & ((1<<25) | (1<<24))));/* Wait for PLLC0_STAT & PLLE0_STAT */
#endif
#if (PLL1_SETUP)
  LPC_SC->PLL1CFG   = PLL1CFG_Val;
  LPC_SC->PLL1FEED  = 0xAA;
  LPC_SC->PLL1FEED  = 0x55;
  LPC_SC->PLL1CON   = 0x01;             /* PLL1 Enable                        */
  LPC_SC->PLL1FEED  = 0xAA;
  LPC_SC->PLL1FEED  = 0x55;
  while (!(LPC_SC->PLL1STAT & (1<<10)));/* Wait for PLOCK1                    */
  LPC_SC->PLL1CON   = 0x03;             /* PLL1 Enable & Connect              */
  LPC_SC->PLL1FEED  = 0xAA;
  LPC_SC->PLL1FEED  = 0x55;
  while (!(LPC_SC->PLL1STAT & ((1<< 9) | (1<< 8))));/* Wait for PLLC1_STAT & PLLE1_STAT */
#else
  LPC_SC->USBCLKCFG = USBCLKCFG_Val;    /* Setup USB Clock Divider            */
#endif
  LPC_SC->PCLKSEL0  = PCLKSEL0_Val;     /* Peripheral Clock Selection         */
  LPC_SC->PCLKSEL1  = PCLKSEL1_Val;
  LPC_SC->PCONP     = PCONP_Val;        /* Power Control for Peripherals      */
  LPC_SC->CLKOUTCFG = CLKOUTCFG_Val;    /* Clock Output Configuration         */
#endif
#if (FLASH_SETUP == 1)                  /* Flash Accelerator Setup            */
  LPC_SC->FLASHCFG  = FLASHCFG_Val;
#endif }
搜索更多相关主题的帖子: 寄存器 
2010-12-23 21:32
huaziforever
Rank: 1
等 级:新手上路
帖 子:7
专家分:8
注 册:2010-12-24
收藏
得分:1 
首先得知道条件编译#if #else #endif
至于LPC_SC->CLKSRCSEL 之类的是结构体成员,具体意思当然要对照datasheet才知道啦
2010-12-25 09:41
sw3439
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-1-22
收藏
得分:0 
这应该是C语言吧
2011-01-24 09:40
快速回复:汇编语言程序解答
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026778 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved