去了新公司看到源代码,看到这些时,我无法理解.

2020-01-23 14:30发布

        最近跳槽,新进一家公司有两个月了,然后今天上头弄了一份代码给我看,说熟悉下。
        我在程序里面看到了这些,以下是示例
        void keyscan()
        {
        if(K1==0)
          {       
           delayms(20);
           if(K1==0)//确认动作,执行程序
                {
                动作程序;
                }
        }
        }

        main()
        {
        delayms(100);//等上电稳定,时钟稳定
        各种初始化;
        while()
        {
        清看门狗;
        各种子程序;
        delayms(300);
        }
        }
       
       我看到的表情是 ,不过比起我在上一家公司好多了,上一家公司是这么写的。
        void ISR()//中断服务子程序,中断法(按键接在中断脚上)
        {
        if(K1==0)
          {       
           delayms(20);
           if(K1==0)//确认动作,执行程序
                {
                while(!K1);//等待按键松开
                动作程序;
                }
        }
        }
     那是我的表情是 ,这也能行。。。,后来我改掉了那个公司所有子程序。
       
    其实我看到这些,我现在更大的不知何去何从.  我无法理解,目前看到的代码,除了唯一看到一个采用定时器轮询法扫按键(本坛的状态机法等不包括在内),其它一律用delay();甚至中断while()等待松键
   有时庆兴自己啊,在这里泡了两年。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
99条回答
avr-arm
1楼-- · 2020-02-03 03:38
产品和技术本来就不是同一回事。产品卖得好,代码写的烂很正常。
好多人都把这个概念弄混了。看问题还是先定好角度。
gshuang1
2楼-- · 2020-02-03 07:27
 精彩回答 2  元偷偷看……
NJ8888
3楼-- · 2020-02-03 12:51
没事,我见过博士老师出的数码管扫描驱动题目,限流电阻在位驱动上
鸠摩智
4楼-- · 2020-02-03 13:05
gshuang1 发表于 2014-7-2 21:21
根本就是同一回事,加个定时器啥子都简单,把代码一次性写出来,烧进去一试就OK,何必搞出个delay来呢, ...

个人见解吧,每个人有自己的习惯,如前面所说,单纯的一个跑马灯程序,我是不建议动用定时器的,至少不会强制要求。
作为电工,真没必要见到直角LAYOUT,软件延时这些就跳起来,指手画脚的批评这不好那不好。
自己做得顺眼的也不见得就高大上了。
1Hz的信号走线直角,告诉别人要考虑10GHz时候的扩展,非要在前人稳定的产品上作变更,不找抽么。
315936392
5楼-- · 2020-02-03 17:45
关心这个公司的待遇。。。。。。。
315936392
6楼-- · 2020-02-03 21:13
GunGun 发表于 2014-7-1 21:01
void keyscan()
        {
        if(K1==0)

这个程序看起来挺笨的
但是 好理解 不容易出问题。。。。。。

一周热门 更多>