极客秀
搜索

蓝桥杯:做完了!但是差点没奖~对于赛制的一些思考

这几日蓝桥杯省赛的结果也陆续出来了,我也看到了自己的名单

看了名单直接绷不住了,再差几名直接就蹦到省四了 ![](https://pic.qr2c.cn/t/wx_fed/we-
emoji/res/v1.3.10/assets/Expression/Expression_6@2x.png)
![](https://pic.qr2c.cn/t/wx_fed/we-
emoji/res/v1.3.10/assets/Expression/Expression_6@2x.png) 回顾自己的参赛作品,主要的问题有两个:

  • ** LCD格式
    **

  • ** PWM速度的按键切换 **

关于LCD格式的属于是脑子犯浑了,当时没有注意到对于格式的要求,是比赛结束后看到的关于格式要求。 关于比赛的文件中是有展示LCD的界面显示部分

虽然我当时没有意识到这里的数字是格式要求~~ 然后听朋友说LCD的显示分数是会扣很多很多分数的。

虽然我觉得将LCD的显示功能占分提高到很大的比重有点不太应该,不过没办法硬规则如下。
其次是按键的问题,题目要求的切换频率的按键要求是按键2(结果不知道为什么我做到按键三去了可能是当时锁定的按键是四,我以为俩个在一起然后写的快就写到按键三去了)
不过从总体的情况来看,失败的点还是蛮多的,侧面也凸显出这些赛道的竞争激烈程度(还有学弟的EDA赛道沉没了) 赛后回顾以及些许话
回顾这次比赛有许多的地方值得反思,第一肯定是审题了,不过这点我觉得是题目的表述也有问题。

题目也并没有明确对LCD显示屏的格式规范进行规定,不过不知道蓝桥杯的批阅过程,但是如果是机器批卷的话,就可能对格式会有强烈的要求,甚至格式要求被排在了首位。
其次是 编程方式的问题

在之前的文章中提到了为什么选择使用状态机,类似FreeRTOS的思想但是不敢使用的FreeRTOS的原因。
这点不知道是不是赛方批卷方式的问题,因为好像是有检查点的情况,所以大概率的可能是机器批卷,不过个人认为对于嵌入式方向的编程来说,不同于软件赛,结果是一个百分百正确的答案,对于嵌入式来说很多事情没有百分百正确的答案。
例如在ADC转换成占空比的过程中

首先这里的x由于是int类型的(就算不是,到时候修改占空比的时候也必须是整形)那么必然会遇到向下取整的问题。
虽然理论上的ADC电压是3.3V但是事实上并不会真正的测到3.3V(实测滑动变阻器的拉满测得的电压是3.27V)那么如果照着正常公式计算的话,最后滑动旋钮的占空比将会是99%而不会到达100%,因为就会面临着向下取整的问题,所以也无法满足保持高电平的要求,这点如果使用机器阅卷的话,不知道会怎么判。


ADC_Ave[num%5] = HAL_ADC_GetValue(&hadc1);    HAL_ADC_Start(&hadc1);    if(num % 5 == 4)//100ms    {      ADC_Value = 0;      for(int i = 0;i<4;i++)      {        ADC_Value += ADC_Ave[i];      }      ADC_Value/=4;      ADCf = ADC_Value*3.3/4095;      if(ADCf>TrueP[0]||ADCf<TrueP[1])      {        ADCError = 1;      }      else      {        ADCError = 0;      }          }

还有就是电压采集部分,这里定时器10ms为周期,这里本来是正常的10HZ的采样频率,但是后来加上了采样取平均,虽然数据依旧是10HZ的刷新率,但是实际采样率是50HZ

这里也是一点十分疑惑的地方,因为事实上采样使用多次取平均的方式还是非常常见的,但是不知道这样子是不是不符合题目规定的10HZ的要求。
因此个人认为对于嵌入式来说改卷方式也是值得考究的,机器批改虽然会大幅度的节省人力,但是也会忽略实际使用场景的情况,这也是
大部分比赛相较于PPT大赛,更注重现场的验收与评估 吧,所以这次蓝桥杯的结束也是希望后续的朋友能够有所收获。

1.转载请保留原文链接谢谢!
2.本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
3.本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。
4.本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
5.联系方式(#替换成@):pm#vimge.com

  相关内容