前些天参加了蓝桥杯嵌入式比赛省赛,没太在意这个竞赛,备考三天,遗憾省二,有点心疼自己的报名费。谨作记录,方便明年去刷分。
今年嵌入式可以使用新版开发板,但据我观察考点里大家都用的是旧版的板子(我去的比较晚,快九点才到考场)。考试时考点提供了CubeMx,我也就使用Cube配置Hal库完成了比赛。
事实上由于我已经很长时间没怎么使用过Stm32,标准库已经忘得差不多了,是考前三天看了看Hal库相关知识,就直接莽了,至于客观题,我并没有花什么时间去准备,因为感觉这个东西考的知识面还是比较广,认真准备的话还是得花个好几天,但我那些天实在是太忙啦,加上不想多为这个比赛费神,就没去准备客观题,最后也没去对答案,但有时间的话去准备准备客观题的话,后面还是很有希望拿省一的,毕竟排在我前面的那个人刚好就是省一,,鬼鬼,这么一说我运气好差哦。
比较难受的是,考点没有提供旧版F1平台的HAL库例程,只提供了标准库例程,然后就只能我自己建立工程,过程中由于没有LCD的HAL库例程,浪费了二三十分钟时间(考试中我尝试将新版平台的LCD例程移植到旧版,未能成功,后发现是两块板子连接LCD的引脚不同,遂放弃,改为将F1的LCD标准库代码修改成HAL库代码,过程中花费了许多时间,导致后面写逻辑代码的时间不够了)。
五个小时的考试时间说短不短,但我在开考的时候浪费了许多时间在硬件配置调试上面,后面中午又饿了在吃自己带的午餐,导致最后在进行串口数据调试之后,就没有时间再去完成车辆数目的统计与调试了。下次,emmm,下次未必会再报这个比赛,报名费也太贵了,学校又不报销!!!!!
/************************************************************************************************************************/
hal库工程建立:
1:SYS里面配置DEBUG JTAG(4 wire)
2: RCC HSE配为Crystal, 系统时钟记住配置成72M
3: LCD所有的Pin都是GPIO OutPut
4: PB4 配为 OutPut HIGH,关闭蜂鸣器
5:error: L6236E: No section matches selector - no section to be FIRST/LAST. 往工程里添加启动文件
6:#define COL(X) (319-(X)*16+16) //用于LCD列显示,LCD_DisplayChar(Line9,COL(19),'0');
7: 24C02使用应当调用 I2CInit();
8: 手撸驱动代码
// 24C02读取一字节
unsigned char x24c02_read(unsigned char address)
{
unsigned char i;
I2CStart();
I2CSendByte(0xa0);I2CWaitAck();
&