自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 问答 (174)
  • 收藏
  • 关注

原创 2024年第15届蓝桥杯嵌入式组注意事项之新建LCD工程

注意LCD的引脚不需要在cubemx中初始化,因为在lcd.c文件中存在已经初始化函数LCD_Init()只需要调用即可。

2024-04-11 21:10:28 353

原创 拒绝光照影响,一文教你在地平线旭日派X3上如何使用resnet18搭建自己的深度学习巡线小车

为了测试模型预测黑线的坐标是否准确,所以将模型输出的坐标在原来图像中绘制成原点,可以看到红点绘制在了黑线上说明预测成功,如果场景复杂建议数据集使用大量的不同场景的照片以达到最好的预测结果。如果上面三个脚本都执行成功的话我们将会在当前model_output目录下找到bin文件,这就是可以在X3派上运行的模型文件。这里使用了地平线提供的hobot_dnn库,注意需要将结果反归一化即x和y分别乘图像的宽和高。修改模型的路径,以及转换后模型的名称,归一化的类型等。获取训练的代码请关注这个佬的文章,

2024-03-23 22:15:14 655

原创 第十五届蓝桥杯嵌入式模拟考试II

这个题目就很简单,满分85分都拿到,就是评测系统有时会很抽搐,非显示说乱码。

2024-03-23 21:31:57 784 1

原创 第十五届蓝桥杯嵌入式模拟考试I

前面2次提交时没有注意lcd的行数,看了评测记录才知道又很多的评测都跟lcd有关,如果显示的行数出错那当然是拿不到分的,后面那次提交是因为题目中lcd是从第一行开始的,而我们的lcd 是从Line0开始的,还是会导致lcd差一行,应该庆幸没有直接比赛,而是进行了模拟,经过这次模拟后才发现了,自己有时粗心大意的毛病,大家做题的时候可不要学我,要仔细审题,不要放过任何一个细节。这个状态是为了判断串口是否接收到了数据,如果接收到数据就解析该数据,同时进入状态2,如果没有接收到数据那就继续等待。

2024-03-23 01:35:38 1889 16

原创 蓝桥杯嵌入式历年省赛真题

目前是第六到十二届真题,还剩第十二和第十三届的题目,由于最近一下做了很多套,最后两套等考前复习时做很多套路是固定,使用STM32G431开发板。

2024-02-15 01:42:08 3227 1

原创 蓝桥杯嵌入式第12届真题(完成) STM32G431

程序很常规,只有串口那里处理比较麻烦,有几个注意事项。

2024-02-15 01:34:46 3725 4

原创 蓝桥杯嵌入式第11届真题(完成) STM32G431

程序和之前的大同小异,不过多解释。

2024-02-13 22:54:32 5767 3

原创 蓝桥杯嵌入式第10届真题(完成) STM32G431

【代码】蓝桥杯嵌入式第10届真题(完成) STM32G431。

2024-02-13 15:47:57 1392

原创 蓝桥杯嵌入式第9届真题(完成) STM32G431

Time结构体定义了时间的数据类型,CountdownStatus是一个枚举类型,表示了定时器的三种状态。

2024-02-12 23:06:10 6135 1

原创 蓝桥杯嵌入式第8届真题(完成) STM32G431

对比第六届和第七届,这届的题目在逻辑思维上确实要麻烦不少,可以从题目看出,这届题目对时间顺序的要求很严格,所以就可以使用状态机的思想来编程,拿到类似题目不要急着写代码,一定要先分析好步骤,想出状态转换的逻辑后,在根据逻辑写代码写起来就很快了。

2024-02-06 20:18:29 2578 7

原创 一文教你地平线旭日派X3部署yolov5从训练-->转模型-->部署

近日拿到了地平线的旭日派X3,官方说是支持等效5tops的AI算力,迫不及待的想在上面跑一个yolov5的模型,可谓是遇到了不少坑,好在皇天不负有心人,终于在手册和社区各个大佬的帮助下,终于在板子上推理成功,本文会从训练、模型转换、到部署到旭日派详细说明。之后就可以运行train.py文件开始训练,模型保存在根目录下的runs文件夹下的exp文件夹下的weight文件夹,也可以查看训练的收敛情况图片。例如我选择的是yolov5s,修改yolov5s.yaml中的nc为自己的标签个数。

2024-02-04 00:42:41 2553 7

原创 在ubuntu虚拟机中安装ros2-foxy

为了配合旭日派X3的ros2-foxy系统,担心之前安装的humble系统与foxy不兼容,于是重新开了一个Ubuntu20.04的虚拟机环境是ubuntu20.04 使用阿里源。

2024-02-02 16:14:42 638

原创 蓝桥杯嵌入式第七届真题(完成) STM32G431

adc_process 中1s读取一次使用1ms进入一次SysTick_Handler 中断定时newadcval、newlevel、newheight都是最新一次数据,与上一次数据比较是否液位发生变化led_process中题目要求三个led按要求变化,led1要一直闪烁,led2、led3满足特定条件后才变化翻转所以使用两个标志位led2flag和led3flag同时使用静态变量led2count计数闪烁五次后关闭。

2024-01-31 20:21:04 3284

原创 蓝桥杯嵌入式第六届真题(完成)STM32G431

使用状态机,第一次进入之后,进入下一个状态,如果电平还是刚刚的电平说明真的按下,如果不是重新进入第一个状态重新判断,定时器定时时间10ms刚好消抖,最后一个case2是判断如果按键松开,说明可以进入下一次判断。只有最后四个函数是本人写的,其余为蓝桥杯官方提供,主要是两种i2c时序,指定地址写和指定地址读的时序,重点在读需要首先写入要读取的地址之后再开始读,浮点数的存储使用联合体union。处理按键任务,用户多个界面之间的转换以及上报时间的设置,根据当前lcd的状态,来决定按键按下的功能。

2024-01-31 02:47:13 3304

原创 地平线旭日X3派第一次启动

选中此串口,波特率选择921600,点击ok,可以看到板子正在启动。将USB转TTL插到电脑usb口上打开Mobaterm。选择Session会话,选择Serial串口。选中镜像,然后选中自己要烧录镜像的SD卡。用户名和密码都是root。地平线旭日X3派全身照。

2024-01-30 19:47:55 481

原创 ROS2常用命令工具

build-type : C++或者C ament_cmake ,Python ament_python。rclpy std_msgs sensor_msgs :编译依赖。查看节点详细信息,包括订阅、发布的消息,开启的服务和动作等。topic_name:需要发布话题消息的话题的名字。罗列当前系统的所有接口,包括话题、服务、动作。message_type:话题的数据类型。service_name:需要调用的服务。pkg_name :创建功能包的名字。node_name:可执行程序的名字。

2024-01-27 13:43:46 437

原创 进入docker容器

【代码】进入docker容器。

2024-01-19 18:45:40 416

原创 docker与宿主机数据交换—ROS2

docker cp [容器id:容器内路径] [目的主机路径]docker cp c54bf9efae47:/root/test.txt ~/将容器c54bf9efae47内的文件拷贝到宿主机的根目录下。

2024-01-19 18:28:28 501

原创 docker硬件交互 _ROS2

docker硬件交互 _ROS2。

2024-01-19 18:14:08 415

原创 Docker常用命令

为了将ROS2安装在树莓派中的docker中,先熟悉一下docker的基本操作。

2024-01-19 17:00:22 416

原创 ROS2机器人开发入门

当客户端发送运动目标时,使用的时服务的请求调用,服务器端会反馈应答,表示收到命令,动作的反馈过程就是会提的周期发布,服务器端时发布者,客户端是订阅者,动作是一种应用层的通信机制,其底层是根据话题跟服务来实现的。ROS Middleware是一个接口,把兼容性的问题转移给了厂商,各大厂商想要将自己的DDS接入ROS2系统中,需要按照ROS2的接口标准来开发驱动。编写完代码后需要重新编译,将src中的代码copy到install中,后期ros2 run 的都是install中的代码。

2024-01-19 14:15:05 976

原创 Python-PyQt5树莓派上位机

一个使用PythonQT设计的树莓派的上位机,功能大概如下1.笔记本电脑与树莓派的通讯是否成功显示(给个信号显示判断是否通讯成功);2.阈值的设置显示;3.图像成像的显示;4.是否发生火灾报警显示。5.当前像素灰度值最大值和最小值显示。6.对以上主要信息数据(时间年月日时分秒信息、阈值数据、灰度值最大值和最小值、是否发生火灾报警信息)的采集保存,用excel或txt存就行。

2024-01-08 16:24:30 1338

原创 stm32f103c8t6连接OneNet云平台进行数据的上传与下发

esp8266.c中设置wifi名字和密码以及云平台IP和端口号。实现了数据发送云平台和云平台的数据发送到stm32单片机。同样是onenet.c中的OneNet_RevPro函数。数据上传部分在onenet.c中找到这个函数。注意此教程只适用于老版本onenet云平台。首先是onenet.c中的云服务器设置部分。接收onenet收到的数据。

2024-01-08 12:42:52 2043

原创 将特定目录添加到 Python 搜索路径

最近在使用青云1000(昇腾310)时,有很多华为提供的第三方库,不是通过pip安装的那些,在使用时不能直接import直接使用,简而言之就是python找不到这些库,下面提供三种措施。

2023-12-25 19:01:01 529

原创 vscode不同代码的项目分配不同的工作区

很多时候我们很多项目都需要使用vscode来进行编写代码,像我个人会拿vscode写python,linux远程写代码,前端和stm32的编辑器,这些项目都有自己的插件,如果我们启动某一个项目,其他的与本项目无关的插件也启动了,这就会非常占用我们的内存,下面提供一种根据项目分不同工作区的方式。在目标出添加“文件夹绝对路径”,记得在的位置后要先添加一个空格,我这里有两个图标。在拓展中点击禁用(工作区),以后再打开,就不会默认启动了,其他也同理。可以看到与该项目无关的插件被禁用。拖到桌面右键新快捷方式属性。

2023-12-25 17:09:07 800

原创 YoloV8的目标检测推理

原始的YoloV8封装的层次太高,想要为我们所用可能需要阅读很多API,下面给出比较简单的使用方式。

2023-12-25 12:10:50 881 1

原创 jetson启动默认给给串口最大权限

jetson nano启动默认给给串口最大权限,设置自启动脚本。

2023-12-25 11:45:21 562

原创 linux开发板树莓派下载vnc远程桌面

不可以直接用,需要将下面涉及用户名和组的地方改成自己的。将下面代码写成bash脚本即.sh文件。

2023-12-24 18:25:15 543

原创 使用dd命令打包jetson nano 树莓派等linux开发板SD卡中的镜像

很多时候我们为了防止sd卡损坏,需要备份一个镜像,下面是使用dd命令将sd卡中的镜像一模一样的复制一份的教程首先使用df -h命令查看挂在的u盘最下面的三个sdb1 sdb2 sdb3 就是需要打包的镜像的分区可以安装pv这个工具是检测管道流数据的,不用pv的话,你就不知道已经传了多少数据,心情会更加煎熬这样右下角显示百分比和剩余时间了。

2023-12-24 17:45:05 997

原创 C++ lambda表达式

Lambda 表达式是 C++ 中的一个功能,它允许你创建匿名函数。

2023-12-23 17:43:47 393

原创 Qt使用函数指针处理信号和槽函数重载

这种方式的好处是,它提供了一种更灵活的方法来连接信号和槽。可以在运行时决定要连接的信号和槽,而不必在编写代码时就固定下来。这在处理动态生成的对象或在编写库代码时特别有用,因为你可能不知道最终的用户会如何使用这些对象。

2023-12-23 15:41:59 643

原创 信号与槽QT4和QT5的区别

Qt4在 Qt 4 中,信号和槽的连接使用了一种不同的语法,这是 Qt 框架特有的,利用了 Qt 的元对象系统(Meta-Object System)。SIGNAL()和SLOT()。这些宏用于在运行时进行信号和槽的匹配,而不是在编译时。这种方法相比于 Qt 5 引入的语法,类型安全性较低,且更容易出现因拼写错误而导致的运行时错误。

2023-12-23 13:02:36 890

原创 Canny函数opencv

在Canny边缘检测算法中,这两个阈值的选择非常关键。相反,如果阈值设置得太高,则可能会导致有用的边缘信息被遗漏。通常,高阈值是低阈值的两到三倍是一个不错的起点,但最佳值取决于具体的应用和图像特性。这个阈值用于确定哪些边缘是真正的边缘。如果像素的梯度强度高于高阈值,那么它一定是边缘的一部分。而如果像素的梯度强度介于两个阈值之间,则该像素只有在与高于高阈值的像素相连时才被视为边缘的一部分。如果一个像素的梯度强度高于低阈值,那么它可能被视为边缘的一部分。函数时,其中的两个参数是用于边缘检测的阈值。

2023-12-22 17:33:58 702

原创 C++opencv中的Mat数据类型,作为参数函数传递的一些问题

因此,当你在 getContours 函数中调用 drawContours 修改 img 时,它实际上修改的是共享的数据,从而影响了原始的图像数据。当你创建一个 Mat 对象并将其传递给另一个函数时,即使是按值传递,传递的也只是对象的头部信息(包括对实际数据的引用),而不是整个数据。这意味着,即使在函数中对传入的 Mat 对象进行修改,它也会影响原始的 Mat 对象,因为它们共享相同的数据。当你创建一个新的 Mat 对象并将其赋值给另一个 Mat 对象时,两者会共享相同的数据,只是引用计数会增加。

2023-12-21 16:54:40 769

原创 windows控制台的命令

虽然windows继承于伟大的Linux但是还是有很多命令与linux有所不同,有的时候需要从cmd管理员身份启动就避免不了,在控制台切换磁盘,下面是一些常用的cmd控制台命令。

2023-12-18 11:30:22 141

原创 疯狂的多元宇宙-----git分支

通过这个比喻,可以看到Git分支如何提供一种强大的方式来探索不同的代码变化和功能开发,同时保持主代码库的稳定性。每个分支都是一个新的机会,一个探索不同代码实现可能性的世界。很多人理解不了git的分支的概念,我觉得它就像科幻电影里的平行宇宙,下面我会用平行宇宙的概念解释git分支。

2023-12-18 11:24:40 180

原创 VM虚拟机打不开原来保存的虚拟机文件夹ubuntu

指定的文件不是虚拟磁盘 打不开磁盘“D:\ubuntu_iso\ubuntu_location\Ubuntu 64 位-s002.vmdk”或它所依赖的某个快照磁盘。模块“Disk”启动失败。将42行scsi0:0.present = "TRUE"的TRUE改为FALSE,具体第几行可能有区别。然后先别急,不要直接打开,使用之前拍摄的快照打开,记得一定要使用之前拍摄的快照打开。网上找了很多办法也没有解决,最后使用这个办法解决。换了电脑把之前的虚拟机克隆的文件夹直接拿来用。打开虚拟机所在目录下的这个。

2023-12-16 20:24:13 312

原创 Mybatis 1对1的关联映射结果集

被用于详细地描述如何从数据库的结果集映射到Java对象。这对于处理复杂的SQL查询和关联表格非常有用,因为它提供了一种灵活的方式来处理数据库列和Java对象属性之间的不匹配,以及数据嵌套。查询可以在需要的时候才执行,而不是在原始查询执行时立即加载,这可以提高性能并减少不必要的数据库访问。中表示一个关联的对象,通常是多对一的关系。这种方式允许延迟加载关联对象,因为。应该是用于将员工对象()与其所属部门的对象(在MyBatis中,

2023-12-04 14:41:21 76

原创 VMWare虚拟机ubuntu克隆打不开

复制的存有ubuntu克隆的文件夹,导入vmware打不开。说找不到这个文件,那就到目录把它的删掉。换000001.vmdk后缀的。

2023-11-26 21:18:59 375

原创 Spring AOP-面向切面编程概念

AOP(面向切面编程)是编程范式的一种,它允许程序员将横切关注点(cross-cutting concerns)模块化。在面向切面编程中,这些横切关注点通常体现为在多个点重复出现的代码,如日志、事务管理、安全等。AOP使得这些关注点与业务逻辑分离,提高了代码的可维护性和可重用性。

2023-11-23 21:06:13 221

空空如也

ISBN 号码例子都过了也只过了例子,我这个代码问题出在哪里

2023-05-12

macOS 的vs开发C#为什么没有输出的那个窗口找了很多也没找到

2023-03-06

macos的PyCharm安装wordcloud安装失败

2023-03-03

快速排序这段代码怎么理解

2023-01-26

用stm32+超声波通过pid控制小车与墙保持15cm距离

2023-01-14

java 报错Index 1 out of bounds for length 0

2023-01-08

stm32电机和流水灯的仿真跑不出来

2022-11-18

Proteus跑stm32仿真跑不起来

2022-11-07

mac版vscode每次运行的的时候就弹出这个怎么处理

2022-11-03

为什么二叉树的几种遍历函数要这样声明,直接在把下面private:里面的函数放在public中,不就行了,为什么要多此一举多递归一次呢?难道只是为了调用的时候不传参?

2022-10-15

合并两个链表的函数,求解释错误在哪?

2022-10-06

C++链表调用两次遍历,结果却只输出一次

2022-10-04

C++ 链表使用clion调用两次函数为什么只有一次结果

2022-10-04

C++数据结构一使用尾插入法就报图片中的错误

2022-10-04

macos的vscode报错这是怎么回事?

2022-09-30

不理解锁存器的含义及作用,求解释(网上的也看不太懂)

2022-09-28

uchar code table[]数组为什么还可以这么定义

2022-09-28

macos版的vscode,突然就这样了,求解决办法

2022-09-19

为什么个十百千位达不到效果啊,debug的内容跟想的不一样

2022-09-14

泰勒公式求sin(x)感觉没问题啊,但是为什么得不出正确结果

2022-09-14

PD虚拟机下载的dev用不了点击编译运行但是没有弹出黑框框

2022-09-09

clion报错请大家帮我看看原因

2022-08-29

macos 的vscode配置C++环境遇到这个问题该怎么办

2022-08-27

为什么是对256求模,求解释

2022-08-20

这个延时如何实现延时1秒的

2022-08-19

关于容器的一个小项目,求解释

2022-07-25

vscode这一般是什么情况?怎么解决输出个hello world没问题

2022-07-24

蒙特卡洛模拟为什么x>=3

2022-07-16

建立顺序表为什么全给我闪红

2022-07-13

请问问题在哪,检查了好几遍,求解释

2022-07-12

函数或变量无法识别digitsPattern

2022-07-04

这个程序为什么死循环

2022-07-03

Z 必须为矩阵,不能是标量或向量。

2022-07-02

keil5MDK这个报错怎么解决

2022-06-29

关于运算符优先级的问题

2022-06-20

建立新数组达不到效果怎么改

2022-06-14

求素数为什么会有1问题在哪?

2022-06-14

b[0]溢出了问题在哪?

2022-06-11

一运行就崩溃问题在哪

2022-06-11

判断素数问题出在哪如何改?

2022-06-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除