蓝桥杯比赛之嵌入式

        今天周六,莫名地毫无周末的感觉,早上6点多就起来了,貌似很久没这么早起床了,记得以前赶飞机,暑假电赛赶去青岛有这么早过,好吧,现在我不得不为了这次比赛而在早起一次,我都不知道自己到底是抱着怎么样的心态去的,明明去年寒假前就报了名,本来可以好好准备一下的,结果寒假回家就晚,回去后还挺荒废的,顶多也就看看三月份要考的计算机四级,可能就因为这个比赛在4月,所以从心理上我就怠慢了?哎,明明有时间准备,却非要拖到比赛前几天,可以说,除去半天去了小石头岛,半天写了下移动通信的MATLAB程序,几乎整个清明假期一直在看嵌入式,晚上有时候看得眼睛都会痛,可是自己也没办法,不看更不行,勉勉强强看完了官网给的例程和前几届的赛题,不清楚的再看看野火的《STM32库开发实战指南》, 要么百度要么群里问,总之开始感觉还可以,至少都过了一边,想着不外乎那些知识了,EEPROM,这个还是现学,用i2c驱动,读写时序什么的应该也问题不大,RTC也是现学,开启晶振,时间显示之类的也能行,还有串口,定时器,ADC等就更熟悉些了。

        然而考题总是让我大跌眼镜,题目主要是模拟电梯系统,串口,EEPROM,ADC都没考,然后就是lcd,led,按键,RTC,PWM。明明说好的考PWM的概率很小,实验室不太可能提供足够的示波器供调试,然而还是出了这道题,这是有多不科学啊,定时器的函数我就初始化,然后再改变占空比就没其他的了,看了看旁边并没有示波器,过道对面好像是有一台,但大家也都没有用,简直懵,难道都裸调?好的吧,那我也就裸调吧,写完就算完事了。

       可能我真的是早起傻一天,跟同学一块都走错考场,考试快开始的时候还不知道题在哪,最后发现原来是全部通过浏览器提交到内部服务器,好吧,其实一开始大家都挺找不到北的,尤其当老师给错解压密码的时候,我以为就我的电脑打不开,简直要哭晕-_-#后面可能就是我自己的问题了,一开始建工程编译出错,原来添加文件时.c弄错成.h文件了,没错误之后,下程序又下不进去,驱动,配置什么的重新弄了一遍才好,下载到开发板上,更加傻眼,lcd白屏,led灯全亮,简直慌张,平时也没出现过,可能自己真的有点紧张,后来干脆决定直接改已有的程序好了,也不用这么费劲还总出错。

        首先是lcd、gpio等的各种初始化 ,正常,很快搞定,然后是RTC,我也很快就弄好了,复制粘贴各种代码,这个模块本来就很固定,然后就是题目的理解,理解,理解,我平时一定是没坐过电梯,为什么逻辑那么绕。。最后决定还是一个模块一个模块地弄吧,裸调定时器pwm输出,感觉真是很无力啊,为什么我在做的时候感觉是同一个定时器上要输出2种频率的pwm,昨天晚上好像刚看过,那个是用差值然后输出占空比为50%的方波,完全不知道怎么弄,最后也是只写了一个通道上去,估计也不对,毕竟没调过,说不定时钟什么的就忘开了。然后是流水灯,8个流水灯用移位可以很方便地控制,现在要4个流水灯,用寄存器的方式努力改成4个流水灯,也ok的,然而加上按键,就各种混乱,RTC显示也不对,越调越乱,照题目的要求,上下行方向,到达楼层什么的,感觉我需要设很多标志变量,然而考试的时候思绪混乱,完全没有逻辑概念,还是缺乏逻辑思维,没整体性,没想到各个模块大概行了之后,还是没法合成整个系统,绝望至极,最后的最后,按键还是不正确,为了让RTC正常显示,我还是把标志变量注释掉了一些。。

       回来的路上看到群里,有人说定时器不是同一个,难道我看错了???我真心为定时器纠结了好久。。好的吧,至少我应该把显示屏在不同的按键按下时有不同的显示,下午回来躺床上还后悔着,可能当时有点懵。。认真准备也没几天,不管结果怎么样了,对自己来说是一次教训与反省,以后做事情一定要认真去做。

     

你可能感兴趣的:(随感总结,stm32)