关于keil4编译ARM的问题?
#include<lpc213x.h>voiddelay(unsignedints){unsignedintx;for(;s>0;s--)for(x=0;x<5000;x...
#include<lpc213x.h>
void delay(unsigned int s)
{
unsigned int x;
for(;s>0;s--)
for(x=0;x<5000;x++);
}
int main()
{
PINSEL0=0x00000000;
PINSEL1=0x00000000;
while(1)
{
IO0DIR = 0x00000080;// P0.7 配置用作输出
IO0CLR = 0x00000080;// P0.7 输出为低
delay(150);
IO0SET = 0x00000080;// P0.7 输出为高
delay(150);
IO0CLR = 0x00000080; //P0.7 输出为低
}
}
///////////////////////////////////////////////////////////////////////////////////
如上程序,用Keil4编译,lpc2138芯片:
在Debug中看GPIO的变化是如程序所写,而烧入HEX文件到lpc2138,P0.7口却没有没有反应。[lpc2138硬件电路没问题的]
请高手指点 展开
void delay(unsigned int s)
{
unsigned int x;
for(;s>0;s--)
for(x=0;x<5000;x++);
}
int main()
{
PINSEL0=0x00000000;
PINSEL1=0x00000000;
while(1)
{
IO0DIR = 0x00000080;// P0.7 配置用作输出
IO0CLR = 0x00000080;// P0.7 输出为低
delay(150);
IO0SET = 0x00000080;// P0.7 输出为高
delay(150);
IO0CLR = 0x00000080; //P0.7 输出为低
}
}
///////////////////////////////////////////////////////////////////////////////////
如上程序,用Keil4编译,lpc2138芯片:
在Debug中看GPIO的变化是如程序所写,而烧入HEX文件到lpc2138,P0.7口却没有没有反应。[lpc2138硬件电路没问题的]
请高手指点 展开
3个回答
展开全部
你的程序就只有这一点吗?
更多追问追答
追问
是的,lpc213x.h和这里的main。c 。还需要什么吗?
追答
这样怎么行的?你还要去配置PLL(系统时钟),外设时钟,还有最基本的起动文件你都没有。我的是用的LPC1768的,在建立好了一个项目之后有这样几个文件在里面(core_cm3.c,system_LPC17xx.c,startup_LPC17xx.s),这三个文件是在每个工程里面都少不了的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那是因为你的delay函数不起作用了,被优化掉了,建议不要用优化。
也有可能是把配置放在while(1)里面了。试试看
也有可能是把配置放在while(1)里面了。试试看
追问
试过,还不行。
delay(150);怎么会被优化呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询