共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网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |