找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3432|回复: 9
打印 上一主题 下一主题
收起左侧

请教大神们帮我分析下这个程序,我很苦恼

[复制链接]
跳转到指定楼层
楼主
ID:54059 发表于 2013-9-3 23:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[size=14.44444465637207px]我从网上复制了一个简易交通灯的程序,源程序硬件上实现了,然后我改动了一下,硬件就实现不了了,求大神帮我分析一下,下面我把程序复制上来。[size=14.44444465637207px]截图1和2是网上的原程序,硬件上是可以实现的。截图3和4是[size=14.44444465637207px]我改过的,硬件上就实现不了了,跪求大神啊[size=14.44444465637207px]


1.png (42.08 KB, 下载次数: 154)

1.png

2.png (32.99 KB, 下载次数: 144)

2.png

3.png (38.87 KB, 下载次数: 155)

3.png

4.png (32.36 KB, 下载次数: 141)

4.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:54059 发表于 2013-9-3 23:12 | 只看该作者
我刚开始学,实在是搞不懂哪里不对,调试又没有错误,大神快来吧
回复

使用道具 举报

板凳
ID:7485 发表于 2013-9-4 08:00 | 只看该作者
这样看着太累人。
你改了那几个地方?
回复

使用道具 举报

地板
ID:54059 发表于 2013-9-4 11:52 | 只看该作者
ahshmj 发表于 2013-9-4 08:00
这样看着太累人。
你改了那几个地方?

swtich程序原来是在子程序里的,我把他改到主程序里,写在while循环里了,就改了这一处
回复

使用道具 举报

5#
ID:7485 发表于 2013-9-5 08:14 | 只看该作者
你为什么不能贴出文本程序呢?

这样看着太累人。想试一下都难。总不能把你的图片上的程序再抄一遍吧?
回复

使用道具 举报

6#
ID:54059 发表于 2013-9-5 20:43 | 只看该作者
麦子 发表于 2013-9-4 11:52
swtich程序原来是在子程序里的,我把他改到主程序里,写在while循环里了,就改了这一处

第一次发帖子,我压缩了下,你试试能不能看看,谢谢帮忙了!{:soso_e183:}

两个程序.rar

1.16 KB, 下载次数: 2

回复

使用道具 举报

7#
ID:54059 发表于 2013-9-5 20:45 | 只看该作者
ahshmj 发表于 2013-9-5 08:14
你为什么不能贴出文本程序呢?

这样看着太累人。想试一下都难。总不能把你的图片上的程序再抄一遍吧?

第一次发帖子,我压缩了下,你试试能不能看看,谢谢帮忙了!{:soso_e183:}

两个程序.rar

1.16 KB, 下载次数: 6

回复

使用道具 举报

8#
ID:7485 发表于 2013-9-7 11:17 | 只看该作者
本帖最后由 ahshmj 于 2013-9-7 11:18 编辑

case 2: //东西向黄灯闪烁,绿灯关闭
DelayMS(300);
YELLOW_A=~YELLOW_A;GREEN_A=1;
if(++Flash_Count!=10) return; //闪烁5 次   问题发生在这里
Flash_Count=0;
Operation_Type=3;

“return”是退出子函数。本来的程序是嵌套2级子函数,运行到“if(++Flash_Count!=10) return; //闪烁5 次”语句时,退出的是“Traffic_Light()”这一层,你把这一层去掉了,就只有一层了,“return”就直接回到“main”了 ........
可以将“return”改成“break”


这样可以:
case 2: //东西向黄灯闪烁,绿灯关闭
DelayMS(300);
YELLOW_A=~YELLOW_A;GREEN_A=1;
if(++Flash_Count!=10) break; //return; //闪烁5 次
Flash_Count=0;
Operation_Type=3;
break;



回复

使用道具 举报

9#
ID:54059 发表于 2013-9-8 21:38 | 只看该作者
ahshmj 发表于 2013-9-7 11:17
case 2: //东西向黄灯闪烁,绿灯关闭
DelayMS(300);
YELLOW_A=~YELLOW_A;GREEN_A=1;

大神!谢谢你我又学到了一个知识
回复

使用道具 举报

10#
ID:8222 发表于 2013-9-9 17:03 | 只看该作者
这个论坛好多的热心人!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表