共2条
1/1 1 跳转至页
ARM 为什么连ARM基础与实践上面的示例程序都跑不起来

问
今天想看看示例程序的运行效果,于是把实例文件夹从光盘拷贝到硬盘上,去掉了只读属性。用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.
这是为什么那? 答 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 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 |