【蓝桥杯嵌入式——学习笔记一】2016年第七届省赛真题重难点解析记录,闭坑指南(文末附完整代码)

在读题过程中发现本次使用的是串口2,需要配置串口2。

 但在查看产品手册时发现PA14同时也是SWCLK。

所以在使用串口2时需要拔下跳线帽去连接CH340。

可能是用到串口2的缘故,在烧录时发现报了一个错误。这时我们要想烧录得按着复位键去点击烧录,点完后就松开复位键就可以烧录成功。

使用串口时记得打开串口中断,否则无法接收到字符。

LED部分运行代码:

 

void ledProc(void)
{if((uwTick - uwTick_led_set_point) < 200) return;uwTick_led_set_point = uwTick;if((uwTick - uwTick_led_time_point) >= 1000){uwTick_led_time_point = uwTick;uc_led ^= 0x01;}if(change_state == 1){if(resersal_count--){uc_led ^= 0x02;}if(resersal_count == 0){change_state = 0;resersal_count = 10;uc_led = 0;}}if(change_rx_state == 1){if(resersal_rx_count--){uc_led ^= 0x04;}if(resersal_rx_count == 0){change_rx_state = 0;resersal_rx_count = 10;uc_led = 0;}}ledDisp(uc_led);
}

 LED2与LED3的状态变量,在等级发生改变和串口接收到字符时发生改变。

EEPROM部分代码:

    iic24c02Read(hold_eeprom_string, 0, 3);lecel_grade_hold_one = hold_eeprom_string[0];lecel_grade_hold_two = hold_eeprom_string[1];lecel_grade_hold_three = hold_eeprom_string[2];
            if(key_down == 1){i2c24c02Write(&lecel_grade_hold_one, 0, 1);HAL_Delay(1);i2c24c02Write(&lecel_grade_hold_two, 1, 1);HAL_Delay(1);i2c24c02Write(&lecel_grade_hold_three, 2, 1);HAL_Delay(1);LCD_Clear(Black);interface = 0;}

LCD的高亮显示部分代码:

case 1:sprintf((char *)lcd_disp_string, "   ParameterSetup   ");LCD_DisplayStringLine(Line1, lcd_disp_string);sprintf((char *)lcd_disp_string, "   Threshold1:%dcm   ", lecel_grade_hold_one);if(select_bright_hold == 1)LCD_SetTextColor(Green);LCD_DisplayStringLine(Line3, lcd_disp_string);LCD_SetTextColor(White);sprintf((char *)lcd_disp_string, "   Threshold2:%dcm   ", lecel_grade_hold_two);if(select_bright_hold == 2)LCD_SetTextColor(Green);LCD_DisplayStringLine(Line4, lcd_disp_string);LCD_SetTextColor(White);sprintf((char *)lcd_disp_string, "   Threshold3:%dcm   ", lecel_grade_hold_three);if(select_bright_hold == 3)LCD_SetTextColor(Green);LCD_DisplayStringLine(Line5, lcd_disp_string);LCD_SetTextColor(White);break;

背景高亮与文字相同。

串口发送数据到PC部分代码:

 在下一次等级变化发生前,将现在的等级存入变量中,以便下次比较。

    lecel_grade_old = lecel_grade;if(h_int <= lecel_grade_hold_one)lecel_grade = 0;else if((h_int > lecel_grade_hold_one) && (h_int <= lecel_grade_hold_two))lecel_grade = 1;else if((h_int > lecel_grade_hold_two) && (h_int <= lecel_grade_hold_three))lecel_grade = 2;elselecel_grade = 3;
    if(lecel_grade > lecel_grade_old){sprintf(str, "A:H%d+L%d+U\r\n", h_int, lecel_grade);HAL_UART_Transmit(&huart2,(unsigned char *)str, strlen(str), 50);change_state = 1;}else if(lecel_grade < lecel_grade_old){sprintf(str, "A:H%d+L%d+D\r\n", h_int, lecel_grade);HAL_UART_Transmit(&huart2,(unsigned char *)str, strlen(str), 50);change_state = 1;}

完整代码:

嵌入式系统开发-STM32液位检测报警系统设计-蓝桥杯第七届省赛真题解析与参考代码资源-CSDN文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/74449.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三、GPIO

一、GPIO简介 GPIO&#xff08;General Purpose Input Output&#xff09;通用输入输出口GPIO引脚电平&#xff1a;0V&#xff08;低电平&#xff09;~3.3V&#xff08;高电平&#xff09;&#xff0c;部分引脚可容忍5V 容忍5V&#xff0c;即部分引脚输入5V的电压&#xff0c;…

Java实战报错

哪错了 Preview 在这段Java代码中&#xff0c;map.put("Cc", 20); 这一行的键 "Cc" 被标记为错误。这可能是由于以下几种原因&#xff1a; 键值类型不匹配&#xff1a;虽然在你的代码中没有显示出来&#xff0c;但确保 HashMap 的键是 String 类型&#xf…

25大唐杯赛道一本科B组知识点大纲(下)

5G/6G网络技术知识点&#xff08;10%&#xff09; 工程概论及通信工程项目实践&#xff08;20%&#xff09; 5G垂直行业应用知识点&#xff08;20%&#xff09; ⭐⭐⭐为重点知识&#xff0c;尽量要过一遍哦 大唐杯赛道一国一备赛思路 大唐杯国一省赛回忆录--有付出就会有收…

docker的文件系统Overlay2

OverlayFS&#xff08;Overlay2&#xff09;文件系统深度解析 Overlay2 是 Docker 默认使用的联合文件系统&#xff08;Union Filesystem&#xff09;&#xff0c;用于管理容器镜像的分层存储和容器运行时文件系统的合并。它基于 Linux 内核的 OverlayFS 技术&#xff0c;是早…

WebRTC技术简介及应用场景

写在前面 本文是参考稀土掘金的文章,整理得出,版权归原作者所有! 参考链接:https://juejin.cn/book/7168418382318927880/section/7171376753263247396 WebRTC&#xff08;Web Real-Time Communication&#xff09; 是一项开源技术&#xff0c;允许浏览器和移动应用直接进行…

Windows 图形显示驱动开发-WDDM 2.1 功能(四)

驱动程序版本控制 图形适配器或芯片集的驱动程序 DLL 和 SYS 文件必须具有正确格式的文件版本。 驱动程序信息文件 (.inf)、内核模式驱动程序 (.sys) 和用户模式驱动程序 (.dll) 文件的版本信息必须一致。 此外&#xff0c;.inf 的 [SignatureAttributes] 部分中标识为 PETru…

什么是 StarRocks?核心优势与适用场景解析

在数据量持续爆发的时代&#xff0c;企业对实时分析的需求日益迫切。例如&#xff0c;电商大促期间的交易监控、广告投放效果的即时反馈等场景&#xff0c;均要求毫秒级的响应速度。然而&#xff0c;传统工具如 Hadoop、Hive 等存在明显短板&#xff1a;复杂查询性能不足、资源…

Java基础 4.3

1.对象机制练习 public class Object03 {public static void main(String[] args) {Person a new Person();a.age 10;a.name "小明";Person b;b a;System.out.println(b.name);//小明b.age 200;b null;System.out.println(a.age);//200System.out.println(b.a…

视频设备轨迹回放平台EasyCVR综合智能化,搭建运动场体育赛事直播方案

一、背景 随着5G技术的发展&#xff0c;体育赛事直播迎来了新的高峰。无论是NBA、西甲、英超、德甲、意甲、中超还是CBA等热门赛事&#xff0c;都是值得记录和回放的精彩瞬间。对于体育迷来说&#xff0c;选择观看的平台众多&#xff0c;但是作为运营者&#xff0c;搭建一套体…

搬砖--贪心+排序的背包

a在上面b在下面->a.v-M-b.m>b.v-M-a.m->剩余率大 所以我先遍历a&#xff0c;让a在上面 这就是要考虑贪心排序的01背包 因为它有放的限制条件 #include<bits/stdc.h> using namespace std; #define N 100011 typedef long long ll; typedef pair<ll,int>…

《2024年全球DDoS攻击态势分析》

从攻击态势来看&#xff0c;2024年DDoS攻击频次继续呈增长趋势&#xff0c;2024年同步增加1.3倍&#xff1b;超大规模攻击激增&#xff0c;超800Gbps同比增长3.1倍&#xff0c;累计高达771次&#xff0c;且互联网史上最大带宽和最大包速率攻击均被刷新&#xff1b;瞬时泛洪攻击…

数据分析参考架构详解

1.数仓方法论 2. 数仓建模参考架构 3.大数据参考架构 4.数据分析参考架构

领驭科技:以微软Azure Speech技术为核心,驱动翻译耳机新时代

在全球化的今天&#xff0c;语言不再是沟通的障碍。领驭科技&#xff0c;作为微软的核心合作伙伴&#xff0c;正引领翻译耳机行业进入一个全新的发展阶段。以时空壶与贸人为例&#xff0c;这两家公司的翻译耳机产品凭借其内置的微软Azure Speech人工智能语音技术&#xff0c;为…

seaweedfs分布式文件系统

seaweedfs https://github.com/seaweedfs/seaweedfs.git go mod tidy go -o bin ./… seaweed占不支持smb服务&#xff0c;只能用fuse的方式mount到本地文件系统 weed master 默认端口&#xff1a;9333&#xff0c;支持浏览器访问 weed volume 默认端口&#xff1a;8080 weed …

说清楚单元测试

在团队中推行单元测试的时候,总是会被成员问一些问题: 这种测试无法测试数据库的SQL(或者是ORM)是否执行正确?这种测试好像没什么作用?关联的对象要怎么处理呢?…借由本篇,来全面看一看单元测试。 单元测试是软件开发中一种重要的测试方法,其核心目的是验证代码的最小…

服务器磁盘io性能监控和优化

服务器磁盘io性能监控和优化 全文-服务器磁盘io性能监控和优化 全文大纲 磁盘IO性能评价指标 IOPS&#xff1a;每秒IO请求次数&#xff0c;包括读和写吞吐量&#xff1a;每秒IO流量&#xff0c;包括读和写 磁盘IO性能监控工具 iostat&#xff1a;监控各磁盘IO性能&#xff0c…

办公设备管理系统(springboot+ssm+jsp+maven)

基于springboot的办公设备管理系统(springbootssmjspmaven) 系统功能主要有&#xff1a; 欢迎页账号管理 管理员账号管理系统账号添加密码修改 普通管理员管理 用户管理用户添加用户查询 资产类型管理资产信息管理资产档案管理资产报表

【STM32设计】基于STM32的智能门禁管理系统(指纹+密码+刷卡+蜂鸣器报警)(代码+资料+论文)

本课题为基于单片机的智能门禁系统&#xff0c;整个系统由AS608指纹识别模块&#xff0c;矩阵键盘&#xff0c;STM32F103单片机&#xff0c;OLED液晶&#xff0c;RFID识别模块&#xff0c;继电器&#xff0c;蜂鸣器等构成&#xff0c;在使用时&#xff0c;用户可以录入新的指纹…

Java学习总结-io流-字节流

io的体系&#xff1a; FlieInputStream(文件字节输入流) 是什么&#xff1a;磁盘以字节的形式输入到内存中。 由于不同格式编码长度&#xff0c;每次读取一个或几个字节&#xff0c;都有可能出现乱码。 所以官方提供了&#xff0c;一次性读入全部字节&#xff0c;以数组的形式…

玩转JUC - 如何优雅的异步处理任务

1、概述 前面我们学习了并发包中的一些核心的基础类&#xff0c;包括原子类、Lock 、以及线程间通信的一些工具类&#xff0c;相信你已经能够正确的处理线程同步的问题了&#xff0c;今天我们继续学习并发包下的工具类&#xff0c;我们本次主要学习线程池和异步计算框架相关的内…