自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(311)
  • 收藏
  • 关注

原创 SX_gitlab图形化案例_19

这条命令是将GitLab服务器上项目ts300中的jhy_gnss分支的最新改动,合并到你的电脑本地的jhy_gnss分支上。这里的远程分支就是GitLab上的代码分支。(这个好像是自动同步到本地,因为别人合并到你的分支上,而你所处的位置就在这个分支,那么本地主机就自动和远程gitlab同步)意思是将gitlab上dev-bd的代码合并到当前分支,HEAD指的是当前分支的最新提交。这就代表着,本机的代码和远程仓库,jhy_gnss的代码是一样的。圆圈代表着本机代码所在的位置。一个原点代表着一次改动。

2024-08-23 14:41:55 148

原创 SX_c语言查询数组下标更改参数函数_18

优雅,果然学算法还是很有用。

2024-08-22 21:42:20 66

原创 SX_gitlab可视化操作&c语言知识_17

Merge into current branch直接将远程wjc_GNSS分支的数据拉下来同步到本机当前的分支代码,执行的是合并操作,即多的模块会添加到本地分支,有冲突的地方不行得rebase覆盖才行。c语言中static定义的变量将数据限制在了本.c文件中,不可以通过调用.h文件访问该文件,每个文件的.c文件都是相对独立的。可以通过头文件的方式调用.c文件,这样的话static变量就可以被另一个.c文件使用,但是这样不规范。修改完代码先暂存更改再在暂存区写入备注,提交到远程端。

2024-08-21 22:09:20 205

原创 SX_gitlab编辑他人分支代码&c语言宏定义_16

在gitlab上编辑他人代码首先得在自己本地创建一个分支,让创建的分支跟踪到远程目标分支。#if与#endif只能处理宏定义,不能对变量进行判断。

2024-08-20 21:18:37 130

原创 SX_UNIX套接字通信_15

主要进行套接字的创建、绑定、监听,最后阻塞接收客户端的连接请求,需要注意的是UNIX套接字路径要明确文件位置,文件名可以不存在,但是父目录要存在,可以指定./路径或者为/tmp的Linux系统临时文件目录,sockaddr_un结构体只需指定地址族和路径名就可以用,UNIX套接字通信常用于一个项目中的进程之间通信,UNIX提供了与网络套接字相似的特性,但是避免了网络延迟,提高了性能,但是它只能在同一台机器上使用,无法跨越网络的进程间通信。主要与服务端进行连接,创建套接字,设置连接条件,尝试连接即可。

2024-08-19 11:10:01 298

原创 SX_错误声明定义了两个以上的数据类型BUG解决_14

项目报错指出unsigned和 char变量冲突,这是很不让人理解的,经过不断查找偶然间发现错误的地方在这里。解决办法就是将stdint头文件放在#define前面。没有被#define所以又会执行。但后面#define发现。

2024-08-09 20:30:27 290

原创 SX_c++中类的运用_13

c++ 中类与JAVA中的类有些不同,c++中静态static变量只能在类内定义,并在类外初始化,静态变量只有一个副本,也是就是说所有的实例对象访问到的都是类内同一个静态变量。A :: a[3]是解析出来A内的a[3]变量最左边的A*指的是a[3]为A类型指针,NULL指的是将其设置为空指针,空指针能访问内部函数和静态成员变量。A :: a[3]是解析出来A内的a[3]变量最左边的A*指的是a[3]为A类型指针,NULL指的是将其设置为空指针。

2024-08-08 18:58:48 304

原创 SX_混合卡项目Makefile文件解析_12

CXXFLAGS声明系统中.c和.h文件的位置编译可执行文件的时候遇到#include文件夹的时候会通过这个路径寻找文件,LFLAGS是指定动态库,-L指出后面声明动态库位置. -lzss_inp指出本文件夹下有libzss_inp.so的动态库,-l会自动补充lib和.so前后缀。生成impd需要指明$(CXXFLAGS) $(LFLAGS)即指定动态库和相关文件的位置。意思是要开始生成目标文件libzss_imp.so 和impd可执行文件。生成动态库是将多个.o文件合并成一个可执行文件.so。

2024-08-07 18:38:45 141

原创 SX_Linux /etc/profile_11

LD_LIBRARY_PATH是一个用于指定动态链接器搜索共享库的路径的环境变量。在这里,它将/usr/local/lib/目录添加到现有的LD_LIBRARY_PATH搜索路径中。这样做可以让程序在运行时找到位于/usr/local/lib/目录下的共享库。是一个环境变量,它包含了一系列由冒号(:)分隔的目录路径。当用户在命令行中输入一个命令时,系统会按照 PATH 环境变量中定义的目录顺序,在这些目录中查找相应的可执行文件。可执行文件运行后会间接查找到/etc/profile的链接获取可执行文件位置。

2024-08-06 17:33:40 334

原创 SX_项目中常用的gitlab语句_10

这个区域用来保存准备提交的数据,现将工作区的数据保存到暂存区,再通过暂存区上传到gitlab远程仓库,这个是提交项目的流程,切换分支的话也要保证工作区和暂存区没有数据才能切换。如果工作区和暂存区的数据有数据想切换分支,可以先将数据保存到stash区,切换分支去处理同步数据,再切换回来pop恢复数据,如果有新添加的数据恢复的数据会和新添加的数据合并。补充的是本地与gitlab之间有这样的关系,首先项目在本地主机上做了修改,就是在将数据保存在了。,gitlab远程仓库与工作区之间还有个。

2024-08-06 17:02:24 342

原创 SX_c语言字符&带空格字符串读写_9

c和%[^\n]很像他们读取空格,换行不同点在于 %[^\n]不会写入换行到数组内,%c会写遇到的换行到字符内要想忽略字符前面的空格和换行可以用” %c"前面加个空格"%c "后面加空格会自动忽略掉后面的换行和空格直到遇到第一个符合要求数据。总的来说,%d与%s很像他们能自动过滤掉数据前面的换行符和空格,直到遇到第一个符合要求的数据开始写入,直到遇到换行或空格停止,不读取换行符。改项目的时候又发现c语言读字符串的一些细节这里做补充。

2024-08-05 17:01:46 296

原创 SX_SM2002_RTC模块的烧录与调试_8

切换到本地分支后进入环境后执行makefile指令即可编译代码,其中模块的makefile指令大部分如下。

2024-08-05 13:40:00 314

原创 SX_union联合体在项目中的应用_7

上述两个变量被放在一个联合体内共用一片储存空间。

2024-08-02 11:05:40 469

原创 SX_Makefile理解_6

1、需求:一个大的项目通常还会将程序的.c和.h文件放在项目的不同文件夹内,那么在编译的时候,编译器默认不会在这些不同文件夹中搜索头文件,编译器默认在当前目录下搜索头文件 为了解决这个问题,需要在编译的时候告诉它,头文件在哪例如:-I./submodule # 指定头文件在本目录下的submodule文件夹下在调用库函数的时候如调用#include <stdio.h> 和#include <pthread>库的时候需要指定pthread的位置这是因为stdio.h标准库

2024-08-01 10:09:38 264

原创 SX_项目编写逻辑_5

每个大模块有一个主函数,主函数的作用是定义全局变量,定义一些功能函数,这些函数主函数不去实现它,而是将函数外包给模块内线程模块去实现,线程模块内的一些原子函数,会外包给上一层原子模块去实现也就是说每个大模块有 主函数->线程函数->原子函数。通过对公司项目的一段时间的研究,对其编写逻辑有一些自己的理解。

2024-07-31 14:16:56 225

原创 SX_TS3000U项目常用函数_4

用于解析命令行参数,argc是参数个数,argv[i]是具体命令。返还substr在str字符串中第一次出现的位置。

2024-07-30 21:22:10 115

原创 SX_多线程的简单运用_3

公司项目比较大,目前对项目的理解在于其一个项目分为了很多进程,这些进程,每个进程代表着一个大的独立模块,每个进程又包含很多个线程,每个线程启动着一些小模块,有关联的小模块构成一个独立的大模块,几个不关联的大模块构成整个项目。

2024-07-30 18:32:24 325

原创 SX_项目编译及运行流程_2

目前我理解项目编译后将bin文件传输到板子中,板子的控制是通过串口控制,板子的传输数据是通过网线传输。

2024-07-30 12:17:57 318

原创 SX_初识GitLab_1

从gitlab可以下载源码到本地主机上,由于本地开发者在开发代码的时候远程gitlab上的代码也正在被其他支线更新,所以本地主机要与远程gitlab建立连接以能及时更新本地的数据,同步的时候自己更改的地方可被同步或不同步,多的模块会被添加到本地项目。主分支用于检查测试管理其他成员上传的bug修复或者优化代码,其他分支也能根据主分支的变更,更新自己的项目,每个分支都有自己独立的本项目源码,主分支用于综合这些进度,理论上主分支的源码是最优项目代码。

2024-07-29 16:47:48 622

原创 物联网设计竞赛_11_Jetson Nano项目模块设计解析

【代码】物联网设计竞赛_11_Jetson Nano项目模块设计解析。

2024-07-17 17:21:16 187

原创 物联网设计竞赛_10_Jetson Nano中文转汉语语音

【代码】物联网设计竞赛_10_Jetson Nano中文转汉语语音。

2024-07-08 11:34:00 255

原创 物联网设计竞赛_9_Jetson Orin Nano创建虚拟环境

上面的命令执行时,系统会创建默认的python版本的开发环境,一般大家的电脑会同时安装python2和python3版本,有时需要不同的版本创建虚拟环境。前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开发就显得很有必要。细节:不需要进入到/home/.virtualenvs目录,在任何目录下都可以执行命令,创建的虚拟环境的位置都一样。-p 指的是path的简写Py安装的路径,默认安装在/usr/bin/目录下;

2024-07-06 22:10:11 511

原创 物联网设计竞赛_8_Jetson Orin Nano安装pytorch与torchvision

建议是先科学上网下载后再传到jetson中。将上述两个文件下载到jetson中。

2024-06-09 22:24:55 644

原创 蓝桥杯物联网竞赛 比赛总结

为了更好的书写代码,确保代码的正确性,可以把题目中要求的基本模块先写出来,运行检查一下确保没有问题,例如比赛题目中有OLED显示功能,可以先把OLED功能写出来后,随便显示一个字符串,显示成功说明OLED配置以及代码没问题,如果后面运行主代码的时候发现改显示的数据没有显示的时候,那就自然而然排除是OLED配置和代码问题,就缩小了查BUG的范围这就更加突出代码模块化的优势,将一个复杂的过程分开成两个或多个小的模块去完成,可以更好的去测试各个模块的完成情况。

2024-06-06 20:55:16 1392

原创 蓝桥杯物联网竞赛_STM32L071KBU6_第十五届蓝桥杯物联网竞赛国赛代码解析

这届国赛是目前为止最难一届,我赛后完完整整又做了一遍,花了我两天大概12小时,这个难度完全可以当一个stm32的期末设计,下面将对本届的题结合对应代码做重点解析第十五届蓝桥杯物联网试题(国赛)

2024-06-05 22:30:22 833

原创 蓝桥杯物联网竞赛_STM32L071KBU6_解决脉冲输出频率数值不稳定BUG

在用脉冲进行做题的时候发现脉冲输出的频率随着脉冲数值增大而越来越不稳定。

2024-06-05 22:12:09 638

原创 蓝桥杯物联网竞赛_STM32L071_20_用printf将数据显示在OLED上

【代码】蓝桥杯物联网竞赛_STM32L071_20_用printf将数据显示在OLED上。

2024-06-04 22:17:42 547 1

原创 第十五届蓝桥杯物联网试题(国赛)

好,很好,国赛直接来个阅读理解,我猛做4个小时40分钟,cpu都干冒烟了,也算是勉强做完吧,做的很仓促,没多检查就交了,方波不会,A板有个指示灯没做,其他应该都还凑活,最后也是拿了个国三吧,拿十天时间准备看来还是太理想了,代码量挺多的估计500行+吧,真是5个小时硬写估计刚刚好,尽力而为了吧,再多查原因就是菜,明后两天再把这个重写一遍有始有终,我的蓝桥杯物联网旅途就结束了,那就在这先让我目送阁下远航吧~加油!

2024-06-03 21:34:43 1078 2

原创 第十五届蓝桥杯物联网试题(省赛)

这个省赛题不算难,中规中矩,记得看清A板B板,还有ADC的获取要配合定时器

2024-06-03 21:20:13 1409

原创 蓝桥杯物联网竞赛_STM32L071_19_输出方波信号(PWM)

就是1 / (1 / 1M * 100) = 10000HZ也就是1KHZ。就是:脉冲宽度 / 自动重装在 * 100% = 50%脉冲宽度最小一次 + 1也就是由50变成51那么。就是1 / 100 * 100 % = 1%

2024-06-03 21:10:10 518

原创 蓝桥杯物联网竞赛_STM32L071KBU6_我的国赛代码

链接:https://pan.baidu.com/s/1CeJYQlK6hGwqpznMyzvpcQ?

2024-05-30 22:07:12 176

原创 第十三届蓝桥杯物联网试题(国赛)

将数据先全部转换一次,如果全部都能转换即指针指向空字符,那么就是查询语句,如果指针指向’,‘那就说明是设置值命令,如果指向的是其他字符,则可返还错误,如果指向‘,’此时可利用上面分割#字符的方式将’,'字符分割到另一个数组做分析,再次分析另一个设置数据合不合法。这个处理过程让我找到了后端开发的感觉,先写主体判断框架,再实现框架内部内容。

2024-05-30 21:59:09 651 1

原创 蓝桥杯物联网竞赛_STM32L071KBU6_国赛编程中遇到的BUG

到此也就没遇到啥BUG了国赛只有三套题,比赛全力以赴吧,不要掉以轻心,不排除不会遇到BUG所以不能大意,给自己留有足够的调BUG时间吧,遇到BUG不要慌,冷静处理。

2024-05-30 20:53:42 453

原创 蓝桥杯物联网竞赛_STM32L071KBU6_对于EEPROM的新理解

【代码】蓝桥杯物联网竞赛_STM32L071KBU6_对于EEPROM的新理解。

2024-05-29 16:22:08 314

原创 蓝桥杯物联网竞赛_STM32L071_18_长短按键检测

【代码】蓝桥杯物联网竞赛_STM32L071_18_长短按键检测。

2024-05-28 19:18:39 480

原创 第十二届蓝桥杯物联网试题(国赛)

不得不说国赛相比较省赛而言确实,功能变得更加复杂,更加繁琐,特别是串口+LORA通信相结合的更加频繁,且对收取的字符处理要求要更加复杂,处理判别起来会更加复杂。

2024-05-27 22:12:25 724

原创 蓝桥杯物联网竞赛_STM32L071KBU6_字符串处理

个人感觉国赛相较于省赛难度上升的点在于对于接收的字符串的处理,例如串口发送的字符串一般包含字母字符串 + 数字字符串,亦或者更复杂,对于LORA也是如此,传递的字符串如亦或者,,如何将字符串中的数字信息快速高效的处理好,并赋值给我们需要的变量是及其重要的,国赛的功能更复杂时间更紧迫,那么高效处理这些复杂字符串是及其重要的我认为最好的方法就是利用c自带的函数,站在前人的肩膀上才能看的更远 要想处理好这些字符串需要用到如下函数,用这些函数配合使用,能达到不一样的效果:处理上述字符串避免不了的是将字符串切割,比较

2024-05-27 21:33:43 633

原创 C语言对一阶指针 & 二阶指针的本质理解

p本质过程就是通过p的值找到其指向的&a, 再由&a找到其对应的值a,即。d的过程本质上就是d找到与之对应的&p,再由&p找到其对应的p,p与。参照上图先分析一阶指针,将&a赋值给p,那么p就能通过地址解析出。p的值,等效通过&a找到a的值,修改。

2024-05-27 00:16:33 891

原创 蓝桥杯物联网竞赛_STM32L071_17_DMA收发 & 不定长DMA接收

总的来说uart发送字符串就用普通的UART_Transmit函数就可以因为发送一般不着急,主要时接收接收使用上述DMA的不定长接收即可。

2024-05-26 17:47:59 461

原创 第十一届蓝桥杯物联网试题(国赛)

对于数据接收完整性来看LORA通信接收数据还是很完整的,毕竟有FIFO线,现在问题来到串口串口接收数据因为国赛代码量变多,在执行其他代码的时间块也会变多,所以串口单靠延时接收数据已经不能确保接收完整性了,用中断接收又不能接收不定长的数据,所以准备学习串口DMA接收数据了。

2024-05-25 22:07:59 371

空空如也

空空如也

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

TA关注的人

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