讨论:编程的思路与方法(从循环流水灯想到的)
看AVR视频,有个课后习题,8个发光管由上至下点亮,再由下至上点亮,重复此过程。对于这个习题,编程实现了功能,但感觉方法不是很好,有点歪门邪道的味道。特向各位程序达人请教一些编程的思路与方法。
顺带问个小问题,在ICC中怎么调整程序语句的对齐?
#include<iom16v.h>
#defineuchar unsigned char
#define uint unsigned int
void delay(uchar ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<8000;j++)
;
}
void main()
{
uchar i,j;
uchar flag1,flag2; //灯流动方向标志
DDRD=0xFF;
PORTD=0xFF;
delay(100);
i=1;
j=0;
flag1=0;
flag2=1;
while(1)
{
if(i!=0)//不同的流动顺序输出语句也不同
PORTD=~i;
else if(j!=0)
PORTD=~j;
if((flag1==0)&&(flag2==1))//此时灯从上往下点亮
{
if(i==0x80)//判断到达最下面的灯,该变换点亮顺序
{
flag1=1;
flag2=0;
j=0x80;
}
i<<=1;//顺方向最后一步执行后,i=0x00
}
else if((flag1==1)&&(flag2==0))//此时灯从下往上点亮
{
if(j==0x01) //判断到达最上面的灯,该变换点亮顺序
{
flag2=1;
flag1=0;
i=0x01;
}
j>>=1;
}
delay(100);
}
} 仅仅实现这个功能,用16个字节作个表,程序多简单呀
就
char TAB[] = { };
char i=0;
while(1){
PORTD = TAB;
delay(1000);
} PORTD = TAB; ==> PORTD = TAB; 建议少用1楼2楼的写法,可维护性很差。 【3楼】 Vincent007
可维护性差在哪里? Vincent007 发表于 2009-9-11 23:05
建议少用1楼2楼的写法,可维护性很差。
同问,程序可维护性 如何保证?
程序的 编程思路 如何理清?
程序 构架 如何做?
谢谢。
最近在烦这个问题。
页:
[1]