最近跳槽,新进一家公司有两个月了,然后今天上头弄了一份代码给我看,说熟悉下。
我在程序里面看到了这些,以下是示例
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()等待松键
有时庆兴自己啊,在这里泡了两年。
没问题,只不过是浪费时间去消抖,白白占用CPU。(所以一般产品都不会这样用,效率太低了)
可以定时消抖。
不要看到别人的都是垃圾,存在就是道理。能正常稳定工作就是好程序。
要不你就直接不要参考别人的自己写一个。
别以为浪费了什么,如果本来就不需要高效率,也是允许的,满足要求,稳定可靠就OK。
不针对楼主
我所遇到的比楼主更牛逼的,总工和一个经理,新来还带来一帮人,说他们很牛逼,我们原来的都很垃圾,结果就是,自己的项目,做出来问题百出,到国外客户都解决不了问题,最后厚着脸皮和我们要东西,当然不会给了,还是乖乖的调公司原产品资料来做,才能解决。说别人的垃圾,就是不看别人的,自己搞一套比别人的更牛逼的。就可以指手画脚,否者就乖乖闭嘴。老老实实得便宜卖乖。别老是站在别人的肩膀上说话不腰疼的。
一周热门 更多>