查看: 1642|回复: 0
打印 上一主题 下一主题

mini2440 led裸机程序

[复制链接]
跳转到指定楼层
沙发
发表于 2016-5-8 23:18:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void dely(U32 tt)
{
   U32 i;
   for(;tt>0;tt--)
   {
     for(i=0;i<10000;i++){}
   }
}
   

int Main(int argc, char **argv)
{
        int i;
        U8 key;
        U32 mpll_val=0;
        int data;
  
        mpll_val = (92<<12)|(1<<4)|(1);
        
        //init FCLK=400M, so change MPLL first
        ChangeMPllValue((mpll_val>>12)&0xff, (mpll_val>>4)&0x3f, mpll_val&3);
        ChangeClockDivider(key, 12);   

        //ChangeClockDivider(1,1);    // 1:2:4    FCLK:HCLKCLK
    // rCLKDIVN=0x4;    //  1:4:4
    //ChangeMPllValue(82,2,1);     //FCLK=135.0Mhz     
        //ChangeMPllValue(82,1,1);     //FCLK=180.0Mhz     
    //ChangeMPllValue(161,3,1);    //FCLK=202.8Mhz
    //ChangeMPllValue(117,1,1);    //FCLK=250.0Mhz
    //ChangeMPllValue(122,1,1);    //FCLK=260.0Mhz
    //ChangeMPllValue(125,1,1);    //FCLK=266.0Mhz
    //ChangeMPllValue(127,1,1);    //FCLK=270.0Mhz  
   
    //MMU_EnableICache();
    //MMU_EnableDCache();
   
    MMU_DisableICache();
    MMU_DisableDCache();


    rGPBCON = 0x155555;
   
   
           data = 0x06;
           while(1)
           {
                  
                   rGPBDAT = (data<<5);
                   dely(120);
                   data =~data;
        }
   
   return 0;
}
可以给我讲下原理不?特别是ChangeMPllValue((mpll_val>>12)&0xff, (mpll_val>>4)&0x3f, mpll_val&3);
        ChangeClockDivider(key, 12);   







回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表