第十五届蓝桥杯模拟考试I_物联网设计



反思:

本次模拟让我惊醒,写这个作品如同搭积木,在拼接的时候都要仔细检查这个积木是否出bug,确保没有问题再将其拼接到之前搭好的大模块之中,因为就是这样的题目我在处理过程中就遇到了BUG,原因竟出在输入模式要上拉,我原本一直以为无论是否上拉输入模式都会保持高电平,这次这个大的体系,就将他的不稳定性展现出来,所以我又醒悟到单个研究某个积木还不够,得将这个积木拼接到,大模块中再好好观察它的状态,这样才是完整的,所以要多做这种题,多去暴露问题。

本次也暴露出很多问题,如省赛手册的矩阵按键太老了,列1是PB1,列2是PB0,还好练了这个题不然一直蒙在鼓里,眼高手低太可怕😭

再一个就是上拉问题,其他的问题基本上都是我之前遇到的BUG,还得多练,不知道还有其他的BUG没被我发现不,以我的运气留着比赛一踩一个准

刚开始写可以先在主函数中检查中断,TIM是否配好了,这俩东西贼容易忘掉什么

自己的函数里可以测试拼接后的大模块到底行不行,main函数测试单个积木到底有没有问题



排版还是挺满意的,就是遇到的BUG让我心情久久未平复

按键判别以后就用这种了,简单易懂,免得写一堆BUG

c 复制代码
void Function_CheckKey(){

	HAL_GPIO_WritePin(COLUMN1_GPIO_Port, COLUMN1_Pin, GPIO_PIN_RESET);
	if(HAL_GPIO_ReadPin(ROW1_GPIO_Port, ROW1_Pin) == 0){
		while(HAL_GPIO_ReadPin(ROW1_GPIO_Port, ROW1_Pin) == 0);
		KEYFLAG = 1;
	}
	HAL_GPIO_WritePin(COLUMN1_GPIO_Port, COLUMN1_Pin, GPIO_PIN_SET);
	
	HAL_GPIO_WritePin(COLUMN2_GPIO_Port, COLUMN2_Pin, GPIO_PIN_RESET);
	if(HAL_GPIO_ReadPin(ROW1_GPIO_Port, ROW1_Pin) == 0){
		while(HAL_GPIO_ReadPin(ROW1_GPIO_Port, ROW1_Pin) == 0);
		KEYFLAG = 2;
	}
	HAL_GPIO_WritePin(COLUMN2_GPIO_Port, COLUMN2_Pin, GPIO_PIN_SET);
	 
}

完美的对称学

定时器一般就用TIM7了,我看大佬都用这个,可能LPTIM测的不准吧,比赛定时器实在配不好就直接Delay算了也是一种智慧

相关推荐
调试优选官5 天前
IoT物联网系统定制落地实践:从设备接入、协议网关、平台分层到业务应用,如何做技术选型、交付验收、责任边界与长期运维成本评估及迁移安排
物联网·iot·成本分析
华允物联-HUAIOT5 天前
工业路由器和DTU在联网方式上的区别
物联网
wuyk5555 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
码流子5 天前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构
绿蕉5 天前
配电房的“AI听诊师”:可视化声纹局放智能巡检系统与通讯保障
物联网
CoderYanger5 天前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法
chshang19925 天前
工业路由器是什么?浅谈5G工业网络中的IR602
网络·物联网·5g·智能路由器
做萤石二次开发的哈哈5 天前
海康商用音频主机接入萤石蓝海 AIoT:多路拾音、矩阵路由、分区广播、应急广播四类技能,IP 网络广播系统多端开发实战
物联网·音频矩阵·萤石开放平台·ip网络广播·蓝海aiot一站式工作台·aiot开发·公共广播
wuyk5555 天前
【Socket 进阶之路】第 9 章 Linux 网络服务量产稳定性优化|心跳保活、TIME_WAIT、SO_LINGER、内存池、断线重连、完整异常防护框架
linux·服务器·开发语言·网络·物联网
CServer_015 天前
开源!混合存储底座+湖仓一体的AI数据中台
物联网·制造