- 博客(35)
- 收藏
- 关注
原创 CCF-CSP 202112-2 序列查询新解
题目:序列查询新解思路:在f区间内划分g区间,注意g区间左端点的定值,不断移动g区间(长度都为r),当g区间末端点超出f的范围,进入下一个f循环#include<bits/stdc++.h>using namespace std;typedef long long ll; int main(){ int n,N; ll sum=0; cin>>n>>N; int a[100010]; a[0]=0; a[n+1]=N; for(int i=1.
2022-03-20 01:31:44
295
原创 CCF-CSP 202104-2 邻域均值
题目:邻域均值思路:二维前缀和,计算区域数值和,注意边界的确定#include<bits/stdc++.h>using namespace std;const int N =610;int s[N][N]; int getsum(int x1,int y1,int x2,int y2)//区域数值总和 { return s[x2][y2]-s[x1-1][y2]-s[x2][y1-1]+s[x1-1][y1-1]; } int getcnt(int x1,int y1,i.
2022-03-19 16:09:25
307
原创 CCF-CSP 202009-2 风险人群筛查
题目: 风险人群筛查思路:判断居民是否在高危区域内,从每一次停留开始,计算每段位置是否满足k的要求#include<bits/stdc++.h>using namespace std;int main(){ int n,k,l,t,xl,yd,xr,yu; cin>>n>>k>>t>>xl>>yd>>xr>>yu; int a[n]; int i,j; int pass=0,stay=0;.
2022-03-19 14:52:12
204
原创 CCF-CSP 202009-1 称检测点查询
题目:称检测点查询思路:结构体+sort二级排序#include<bits/stdc++.h>using namespace std;typedef struct point{ int node; double d;}point;/*使qsort函数只能得90,待解..int cmp(const void* e1 ,const void* e2){ point* a=(point*)e1; point* b=(point*)e2; if(a->d != b.
2022-03-19 01:19:25
863
原创 CCF-CSP 202109-2 非零段划分
题目:非零段划分思路:前缀和+差分思想;非零段看作是独立的岛屿,海平面下降,出现凸点时+1,出现凹点时-1 ;连续的数字可看作是平面#include<bits/stdc++.h> using namespace std;int a[500001];int b[10001]; //海平面下降到b[i]时,答案的变化量 int main(){ int i,n; cin>>n; memset(b,0,sizeof(b)); for(i=1;i<=n;i++).
2022-03-16 15:03:35
339
原创 CCF-CSP 202012-2 期末预测之最佳阈值
题目:期末预测之最佳阈值思路:对结构体先进行排序,再用前缀和求得预测结果值#include<bits/stdc++.h>using namespace std;typedef struct { int y,r; }point;point p[100005];bool cmp(point p1,point p2){ return p1.y<p2.y;}int main(){ int m,max=0; cin>>m; int i,y,r;.
2022-03-16 14:54:28
92
原创 C程序的内存分配—Ubuntu与STM32
基于嵌入式实验, 完成:编写一个C程序,重温全局变量、局部变量、堆、栈等概念,在Ubuntu(x86)系统和STM32(Keil)中分别进行编程、验证(STM32 通过串口printf 信息到上位机串口助手) 。归纳出Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址,进行对比分析。
2021-12-21 17:33:10
272
原创 基于CLion2021与STM32Cube点亮LED灯
基于嵌入式实验,安装Clion2021,采用一套新的嵌入式软件开发工具包(替代Keil),完成stm32F103 点亮LED的程序。
2021-12-14 22:30:59
227
原创 观察信号波形——Keil仿真调试 / SaleaeLogic16逻辑仪
基于上一篇文章,完成嵌入式实验:1) 使用示波器去观察LED输出电平和串口通信的波形,分析故障;2) 分别使用Keil虚拟仿真逻辑仪和 真实逻辑仪(SaleaeLogic16)抓取LED输出电平和串口通信的波形,进行协议分析。
2021-12-06 17:25:58
1289
原创 基于HAL库STM32F103C8T8移植uCOS
基于嵌入式实验:学习嵌入式实时操作系统(RTOS),以uc/OS-III为例,将其移植到stm32F103上,构建至少3个任务(task):其中两个task分别以1s和3s周期对LED等进行点亮-熄灭的控制;另外一个task以2s周期通过串口发送“hello uc/OS! 欢迎来到RTOS多任务环境!”。记录详细的移植过程。
2021-12-05 01:13:34
343
原创 STM32F103基于SPI的OLED显示
本文基于嵌入式实验,完成以下内容:理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI或IIC接口实现以下功能:1) 显示自己的学号和姓名; 2) 上下或左右的滑动显示长字符;3) 显示AHT20的温度和湿度;
2021-11-23 00:23:39
2355
原创 STM32F103基于I2C的AHT20温湿度数据采集
基于嵌入式实验,学习I2C总线通信协议,使用STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集,并将采集的温度-湿度值通过串口输出。具体任务:1)解释什么是“软件I2C”和“硬件I2C”? (阅读野火配套教材的第23章“I2C--读写EEPROM”原理章节)2)阅读AHT20数据手册,编程实现:每隔2秒钟采集一次温湿度数据,并通过串口发送到上位机(win10)
2021-11-23 00:07:25
4507
原创 Ubuntu下使用opencv对点阵汉字的字模读取与显示
基于嵌入式实验,学习理解汉字的机内码、区位码编码规则和字形数据存储格式。在Ubuntu下用C/C++(或python) 调用opencv库编程显示一张图片,并打开一个名为"logo.txt"的文本文件(其中只有一行文本文件,包括你自己的名字和学号),按照名字和学号去读取汉字24*24点阵字形字库(压缩包中的文件HZKf2424.hz)中对应字符的字形数据,将名字和学号叠加显示在此图片右下位置。
2021-11-15 22:48:30
220
1
原创 RS-232实现双机通信
基于嵌入式开发的实验,完成串口传输文件的练习:将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。
2021-11-15 22:13:25
5077
原创 Yolov5的安装与测试
目录1. 下载Yolov51.1 下载Yolov5源码1.2 下载Yolov5预训练模型2.安装Yolov53.测试Yolov53.1图片测试3.2视频测试3.3电脑摄像头测试3.4手机摄像头测试4. 参考资料1. 下载Yolov51.1 下载Yolov5源码Yolov5 Github地址:https://github.com/ultralytics/yolov5Github官网下载速度较慢,可以先下载git:https://git-scm.co, 或者使用 镜像源,后者下载速度也会更快些。具
2021-11-06 16:03:27
11060
11
原创 STM32中断与串口DMA通信
本篇博文基于完成嵌入式实验的目的,具体内容如下:学习stm32中断、DMA通信原理和编程方法。使用stm32tubemx和HAL库分别完成以下编程练习:1. 用stm32F103核心板的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。2. 采用串口中断方式重做上篇博客中的串口通信。3. STM32采用串口DMA方式,用115200bps或更高速率向上位机连续发送数据。
2021-11-05 22:08:13
1797
原创 基于MDK5实现STM32串口通信
本是基于完成嵌入式开发实验,具体内容为:1、了解串口协议和RS-232标准,以及RS232电平与TTL电平的区别;了解"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。2、完成一个STM32的USART串口通讯程序,要求:a) 设置波特率为115200,1位停止位,无校验位;b) STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。
2021-10-27 10:01:27
1034
原创 STM32CubeMX的搭建及使用HAL库实现LED闪烁
本文是完成嵌入式实验,要求安装 stm32CubeMX,配合Keil,使用寄存器方式(汇编或C,不限) 或HAL库这两种方式,完成用GPIO端口完成3只LED红绿灯的周期闪烁。
2021-10-27 09:49:49
674
原创 使用STM32寄存器点亮LED流水灯
本章内容主要是完成嵌入式开发的实验:以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOB、GPIOC、GPIOD这3个端口控制LED灯,轮流闪烁,间隔时长1秒。
2021-10-24 22:41:35
7912
11
原创 Ubuntu下OpenCV3.4.1的使用示例
通过学习opencv图像库编程,了解如何借助第三方库函数完成一个综合程序设计。本篇内容基于Ubuntu,使用OpenCV-3.4.1编辑处理图片,播放和录制视频。
2021-10-15 13:07:56
902
原创 在Keil下用C语言调用汇编函数
目录一、在C函数中调用汇编函数1.1 调用不带参数的汇编函数1.2调用带形参的汇编函数二、在汇编函数中调用c函数2.1 代码文件2.2 仿真调试三、汇编函数与c函数混合调用3.1 代码文件3.2 仿真调试四、总结C语言与汇编语言混合编程的规则4.1寄存器的使用规则4.2 堆栈的使用规则4.3 参数的传递规则四、总结一、在C函数中调用汇编函数1.1 调用不带参数的汇编函数关于建立MDK工程的具体操作,可参考我的另一篇博文:基于MDK创建纯汇编语言的STM32工程新建一个main.c文件#inc
2021-10-14 21:49:45
3263
1
原创 基于MDK创建纯汇编语言的STM32工程
基于MDK创建纯汇编语言的STM32工程文章目录基于MDK创建纯汇编语言的STM32工程一、新建工程二、配置环境三、汇编程序四、测试结果三、总结一、新建工程1、点击菜单栏的Project,选择New uvision Project,创建新的工程;2、在弹窗设置文件保存路径及文件名称;3、点击保存二、配置环境1、选择工程的目标环境,本文基于 ,故在弹窗选择相应选项;2、配置运行环境:CMSIS下选择CORE、Device下选择Starup;3、添加源文件:鼠标右键单击Source Gro
2021-10-01 21:27:13
433
原创 基于Ubuntu系统下使用gcc和Makefile编译C语言程序
用Ubuntu系统下使用gcc和Makefile编译C语言程序一、使用gcc编译二、使用windows系统编译三、使用Makefile编译写在前面:本文是以完成嵌入式系统程序设计基础为目的,若有不足之处望大家见谅。程序要求:编写一个主程序文件 main1.c 和一个子程序文件 sub1.c要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数.
2021-09-14 21:54:52
566
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人