【解析新特性】300W单路输出工业电源>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ARM 为什么连ARM基础与实践上面的示例程序都跑不起来

共2条 1/1 1 跳转至

ARM 为什么连ARM基础与实践上面的示例程序都跑不起来

院士
2006-12-22 22:43:00    评分
ARM 为什么连ARM基础与实践上面的示例程序都跑不起来



关键词: 为什么     基础     实践     面的     示例     程序     跑不     起来    

院士
2006-12-22 22:43:00    评分
2楼
问 今天想看看示例程序的运行效果,于是把实例文件夹从光盘拷贝到硬盘上,去掉了只读属性。用ADS打开,编译,成功之后,调出AXD进行调试。我觉得按理说都是周工提供的现成的东西,我什么都没有动。应该是可以运行的,但是测试了GPIO的4个小程序都跑不起来,开发版上的蜂鸣器倒是响个不停,到底是为什么啊。我参考了一下光盘离地快速入门,什么也没有,该设置的也设置了。

这是为什么那? 1: 耐心一些!再耐心一些!
我刚拿到开发板的时候也是这样!
冷静的找一下原因,比别人告诉你为什么收获要更多的!
2: 试试看,这个是我测试用生日歌曲#include "config.h"

volatile uint8 SongFreN;
volatile uint8 PWMi;

const uint8 PWMSong[]=
                  {
                   0x82,0x01,0x81,0x94,0x84,
                   0xB4,0xA4,0x04,
                   0x82,0x01,0x81,0x94,0x84,
                   0xC4,0xB4,0x04,
                   
                   0x82,0x01,0x81,0xF4,0xD4,
                   0xB4,0xA4,0x94,
                   0xE2,0x01,0xE1,0xD4,0xB4,
                   0xC4,0xB4,0x04,
                   
                   0x82,0x01,0x81,0x94,0x84,
                   0xB4,0xA4,0x04,
                   0x82,0x01,0x81,0x94,0x84,
                   0xC4,0xB4,0x04,
                   
                   0x82,0x01,0x81,0xF4,0xD4,
                   0xB4,0xA4,0x94,
                   0xE2,0x01,0xE1,0xD4,0xB4,
                   0xC4,0xB4,0x04,
                   00};//歌曲编码,前4位音频,后4位延时
                      
const uint16 PWMFrequ[]={
0x6E34,0x6231,0x5692,0x5299,0x499C,0x4188,0x3DDC,0x371F,
0x3113,0x2BB7,0x2957,0x24C3,0x20C9,0x1EEE,0x1B8F
                        };//音频选择,即PWM0的周期

__inline IRQEnable(void)
{
uint8 temp;
__asm
{
  MRS temp,CPSR
  BIC temp,temp,0x80
  MSR CPSR_c,temp
}
}

void __irq IRQ_TIME0(void)
{
uint8 temp;
switch(SongFreN)
{
  case 0x40:
    SongFreN=0x30;
    break;
  case 0x30:
    SongFreN=0x20;
    break;
  case 0x20:
    SongFreN=0x10;
    break;
  case 0x10:
    PWMi++;
    if(PWMSong[PWMi]==0)
    PWMi=0;
    SongFreN=PWMSong[PWMi]<<4;
    temp=PWMSong[PWMi]>>4;
    if(temp==0)
    PWMMR2=PWMMR0=0x50C8*(SongFreN>>4);
    else
    {
     PWMMR0=PWMFrequ[temp-1];
     PWMMR2=PWMMR0>>1;
    }
    PWMLER=1|(1<<2);
    break;
}
T0IR=0x01;
VICVectAddr=0x00;
}

void Time0Init(void)
{
T0PR=99;
T0MR0=0x50C8;
SongFreN=PWMSong[0]<<4;
PWMi=0;
T0MCR=1|(1<<1);
VICIntSelect=0x00;
VICVectAddr0=(int32)IRQ_TIME0;
VICVectCntl0=0x20|4;
VICIntEnable=(1<<4);
}

void PWMInit(void)
{
PWMPR=0;
PWMMR0=PWMFrequ[0];
PWMMR2=PWMMR0>>1;
PWMMCR=1<<1;
PWMPCR=1<<10;
PWMLER=1|(1<<2);
PINSEL0=0x8000;
}

void SongStart(void)
{
T0TCR=3;
T0TCR=1;
PWMTCR=1|(1<<3);
}

int main(void)
{
IRQEnable();
Time0Init();
PWMInit();
SongStart();
while(1);
return 0;
} 3: 有意思!楼上的,你这个程序是用在啥板子上的啊? 4: 搞定了 5: 哪位有2104的光盘上的实验程序哪位有2104的光盘上的实验程序,我的光盘丢了,哪位大虾能不能给俺传一份啊,俺的Email:ljzhw@sohu.com.

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]