关于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硬件电路没问题的]
请高手指点
展开
 我来答
dog0404
2011-11-22 · TA获得超过532个赞
知道小有建树答主
回答量:165
采纳率:100%
帮助的人:230万
展开全部
好久以前用过了。配置端口以后给点延时。
IO0DIR = 0x00000080;// P0.7 配置用作输出
这句话后面加个delay
另外,你要想清楚看看p0.7有没有变化,把后面两个delay延时加大
wenfuafeng
2011-11-22 · TA获得超过231个赞
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:136万
展开全部
你的程序就只有这一点吗?
更多追问追答
追问
是的,lpc213x.h和这里的main。c   。还需要什么吗?
追答
这样怎么行的?你还要去配置PLL(系统时钟),外设时钟,还有最基本的起动文件你都没有。我的是用的LPC1768的,在建立好了一个项目之后有这样几个文件在里面(core_cm3.c,system_LPC17xx.c,startup_LPC17xx.s),这三个文件是在每个工程里面都少不了的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
haoso2
2011-11-22
知道答主
回答量:38
采纳率:0%
帮助的人:10.8万
展开全部
那是因为你的delay函数不起作用了,被优化掉了,建议不要用优化。
也有可能是把配置放在while(1)里面了。试试看
追问
试过,还不行。
delay(150);怎么会被优化呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式