自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序猿的成长笔记

学以致用,温故而知新

  • 博客(74)
  • 问答 (1)
  • 收藏
  • 关注

原创 GB28181的SIP注册与PS推流学习

通过开源项目构建GB28181的sip注册和设备ps流推送试验,以更好的学习GB28181。B站学习视频:国标:《GB28181-2022》

2025-04-17 20:15:22 869 1

原创 Qt直播软件练习

(1)重复代码较多,存在“散弹式修改”的风险。应合理利用继承和多态进行改进;(2)界面之间嵌入了其他界面的句柄,以便界面的跳转,耦合度太高。可以使用单例和工厂模式对整体管理界面。可以参考我的文章:创作中心-CSDN这个小项目,我认为比较好的解决了这个问题。

2025-04-09 15:23:58 287

原创 单片机录波系统

报文格式报文种类报文类型==1 采集波形指令报文类型==2 波形数据传输。

2025-04-09 14:51:19 718

原创 远程监控系统项目里练习

其实我使用的方法传输的效率特别,但由于时间原因,又不想做更多的改动,我能想到的可以改善的方法如下:(1)改用udp,多包发送,确认后,再回复补包,补充缺少的包;(2)采用一些压缩算法,减少数据量;(3)本案例中已经将图片数据生成了文件,可以通过tftp直接发送文件;(4)视频流传输(我还不会);(5)采用一些专用的传输协议(我也还不会);

2025-04-08 21:40:17 843

原创 物联网外设管理服务平台

基于Linux5.10.10源码和STM32MP157开发板,完成tf-a(FSBL)、u-boot(SSBL)、uImage、dtbs的裁剪;:为每个外设配置DTS并且单独封装外设驱动模块。其中电压ADC测试,采用linux内核自带的stm32mp-xx驱动。:在linux环境下,通过xxx、xxx、xxx使用c语言开发一款WebServer,对内访问驱动获取数据或遥控硬件,向外部用户提供restful api访问接口;

2025-04-04 17:52:47 762 1

原创 Linux设备驱动-练习

一、设备树1、配置设备树信息:将3个led灯和1个风扇使用到的设备信息配置到设备树中二、设备驱动层1、通过of_find_node_by_name、of_get_named_gpion等内核核心层统一的api接口调用外设;2、通过udev设备管理器自动注册并创建设备文件3、通过ioctl控制开启/关闭外设,其中,3个led灯通过传递 设备名称-次设备号minor 控制具体的某栈灯;三、应用层1、多线程开发,第一个线程实现三个灯的流水,第二个线程实现风扇的控制。

2025-02-21 20:28:05 289

原创 UART、I2C和SPI对比

4线(MISO、MOSI、SCK、NCS)、3线:空闲时0-低电平,1-高电平;0-前采后改,1-前改后采高电平,逻辑1,3.3v/5v;低电平,逻辑0,0v高电平,逻辑1;低电平,逻辑0。高电平,逻辑1;低电平,逻辑0.1、空闲位2、起始位,1位3、数据位,5-8位4、校验位(奇、偶、无)5、结束位,1-2位6、空闲位1、开始信号2、从机地址7位3、读写位1位4、数据信号5、ACK/NACK6、结束信号<图2>1、主机向从机写1个字节;2、主机向从机写多个字节;

2025-01-28 18:34:52 391

原创 基于ILI9341液晶屏+STM32U5单片的显示试验

1、通过串口,下发两个命令 STR和PIC;2、STR模式:(1)串口输入什么,屏幕上显示什么(2)如果屏幕满,自动下滚(3)输入回车,进行换行(4)输入PIC切换到PIC模式3、PIC模式:(1)快速连续播放内置的单片机图片(以达到动图效果)(2)串口输入STR切换至STR模式。

2025-01-12 21:49:55 1238

原创 基于MP157AAA的I2C练习

通过I2C分别实现与芯片si7006(获取湿度、温度)和芯片ap3216(获取环境光照强度)的通讯;

2025-01-08 22:12:54 282

原创 基于SMT32U575RIT单片机-中断练习

封装以实现功能:1)封装LED1、LED3、FAN和BEE的启动、关闭和切换2)实现mode_set、mode_change(切换模式)

2025-01-07 16:27:41 459

原创 按键中断实现LED灯亮灭

要求:编写程序实现三个按键的中断每个按键被按下控制一个灯亮灭。

2025-01-06 18:06:35 204

原创 汇编点灯练习

1、轮流将LED1、LED2、LED3及蜂鸣器点亮2、基于STM32MP157AAA,阅读原理图和STM32MP157芯片手册3、ARM汇编指令点灯。

2024-12-31 22:55:39 505

原创 Qt-练习1(事件循环)

1、使用QT的IO读取文件;2、以QSlider为基础,写一个进度条,显示文件读取的进度;3、给QSlider布置qss样式,qss文件像css文件一样,分离出来。

2024-12-05 21:23:02 396

原创 c++-练习2-类的封装练习(msg队列)

1、构造函数:创建一个消息队列,或者访问该消息队列2、operator[] :通过index,切换send和recv的消息类型;3、snd(const string& data) 向消息队列的指定频道中发送消息;4、recv(int size) 从消息队列中读取消息,并返回读取到的消息;5、析构函数,删除消息队列。

2024-11-24 10:37:38 398

原创 c++-练习1-面向对象与运算符重载练习

一、编写一个MyStr类,实现以下功能1、析构函数,释放buf指向的堆空间2、编写 append(const mystring r) 为当前字符串尾部,拼接新的字符串r3、编写 isEqual(const mystring r) 判断当前字符串和 字符串 r是否相等4、swap实现两个MyStr对象的内部字符串内容互换二、运算符重载1、+ :本质就是append str1 = "hello" str2 = "world" str3 = str1 + str2 == "helloworld"

2024-11-21 18:59:42 293

原创 linux-c 使用c语言操作sqlite3数据库-1

1、使用sqlite3_exec执行查询语句,并将查询结果insert到链表中,最后打印链表的内容;2、使用sqlite3_get_table执行查询语句,并以key:value的方式,打印查询结果。

2024-11-11 21:11:13 996

原创 8086汇编常见寄存器与指令

本文为学习书籍《汇编语言(第4版)》后的小结。

2024-11-07 23:55:01 424

原创 Linux-c TCP服务模型

一个服务端与多个客户端的通信状态。

2024-11-07 21:55:39 539

原创 汇编练习-1

练习要求引自《汇编语言-第4版》实验10.3(P209页)-编程,将data段中的数据,以10进制的形式显示出来data ends。

2024-11-02 22:50:43 596

原创 Linux-c 网络socket练习1

2)成功连接上服务器后,显示操作界面及提示信息,简单的命令行终端即可(1-登录,2-注册,Q-退出客户端)1、基于tcp/ip,自定义通讯协议,c-s架构,client和server端均用sh终端运行;4)注册:输入用户名、密码和确认密码,要求密码和确认密码一致,且用户名、密码不超过10位。2、实现用户登录和注册功能,服务端返回操作码,如果失败,返回失败信息;使用以下结构体,将内存中的字节存储方式,直接写入到文件中,读取亦然。3)登录:输入用户名和密码,密码不可见,且用户名、密码不超过10位。

2024-11-02 14:36:06 700

原创 汇编-debug

现在的windows操作系统一般没有安装debug.exe工具,因此需要安装DSBOX+debug.exe来模拟环境,直接百度搜索就好了,本文不再赘述。1、例子中的值,1,2均是十六进制的表达方式,即1H,2H。注:如果要执行指定内存段的代码,需要和r CS和r IP配合使用。2、键入完成,在键入回车,退出。

2024-10-28 13:45:48 518

原创 linux c-exec系列函数学习

这些函数都是以替换的方式,创建一个新的进程替代当前的进程。新的进程与原来的进程号相同,所有的用户空间(代码段、数据段)及部分的内核空间都可以视为是全新的。要注意与fork函数的区别。:可以参考va_start系列的(宏)函数,因此,无论是...,还是vector,还是环境变量的数组,最后一个元素必须是。,相关的错误代码会被设置到errno中。在执行错误的有返回值,且返回值为。

2024-10-25 20:32:13 371

原创 linux_c IPC消息队列练习

要求通过IPC的消息队列,实现两个进程之间通讯功能(通过命令行终端)

2024-10-21 19:06:29 327

原创 Linux_c 有名管道练习

使用有名管道实现两个进程间的双向通讯。

2024-10-19 21:08:15 310

原创 Linux C-线程相关函数1

1、start_routine 子线程运行的函数名2、arg 传递参数的指针成功:0失败:其他。

2024-10-18 22:46:26 997

原创 多线程练习1

使用多线程完成两个文件的拷贝,分支线程1,拷贝前一半,分支线程2拷贝后一半,主线程用于回收分支线程的资源。

2024-10-18 21:03:58 346

原创 进程编程练习1

1、通过fork出来的子进程,直接使用父进程预先打开的fd,操作文件,似乎会有点问题;使用父子进程完成两个文件的拷贝,父进程拷贝前一半,子进程拷贝后一半,两个进程同时进行。2、不同进程中的fd若相同,操作的是同一个文件吗。

2024-10-18 01:24:40 243

原创 Linux-标准IO常用函数

重要入参:moder,r+,w,w+,a,a+,x(谨慎模式)成功:返回FILE*类型的变量失败:返回NULL,并将错误编码设置到系统的errno变量中。

2024-10-16 19:17:47 1104

原创 文件IO练习2

1、完成标准io的单字符、字符串、格式化、模块化实现两个文件的拷贝;

2024-10-16 15:42:22 342

原创 文件IO练习1

1、使用fread和fwrite完成两个文件的拷贝,要求源文件和目标文件由外界输入。2、使用fgets获取当前文件的总行数。3、向文件中每一秒打印当前系统时间。

2024-10-15 19:00:54 263

原创 内部排序算法小结

练习目标:1、实现 直接插入排序、冒泡排序、SHELL排序和快速排序;2、随机生成100组数据,每组数据1000个元素。注意:计时的单位是CPU的clock而非时间!!!【后续】1、加入选择排序;2、将后续研究的排序算法加入到此项目中。

2024-10-14 17:37:12 299

原创 makefile的基本练习

假设有如下目录结构:(目录结构图)完成以下操作:1、通过纯命令编写Makefile文件,并发现使用纯命令的不足;2、在Makefile中,添加变量,简化参数的重复书写;3、尝试在多目录环境下,优化一个通用的Makefile文件;4、思考:makefile在实际的工程还有哪些应用。

2024-10-09 21:17:58 807

原创 直接插入排序(升序)

/元素节点,表示数据内容int len;//头节点,表示数据域的长度//创建一个长度为len的数列,并对元素赋随机值//打印链表的内容//直接插入排序,返回值为遍历的次数//销毁链表//头插法插入链表.插入成功返回1,失败返回0。

2024-10-08 23:11:07 333

原创 TEST指令练习

3)使用test指令实现等级判断 90--100A 60--89B 0-50C 其他错误。2)输入一个数判断是否为偶数。

2024-10-08 18:35:06 195

原创 HashMap哈希表练习

/学号//姓名//分数Stu stu;//指针数组//顺序表的大小int len;//元素数量//计算hashcode。

2024-09-25 23:56:35 313

原创 单链表练习

1、建立学生结构体(学号、姓名、成绩);4、任意位置插入一个完整的学生信息;2、循环调用头插法创建整表;7、单链表按照学生成绩排序。5、任意位置删除一个学生;

2024-09-23 20:06:36 209

原创 顺序表操作

2、mylist.c 目前的代码量是319行,有时间可以缩写下,挑战100行以下(static 函数的封装);1、转移表的使用,特别在参数数量和类型都不确定的情况,如何处理。可以看看pirntf函数的源码是怎么编写的;4、头文件卫士的应用,避免同一个头文件重复引用和循环引用(参考华为的C编码规范)。1、通过C语言的数组,实现一个顺序表,对学生信息进行CRUD操作。2、通过命令行窗口,输入操作指令,对顺序表进行操作。3、C语言中,是否也有深浅拷贝,以及相关的应用;

2024-09-19 20:50:39 413

原创 Linux下需记住的文件--持续更新

记录在学习linux过程中,碰到的常见的文件的路径Linux中重要的文件小结 序号 路径 关键字 描述 1 /etc/bashrc(所有用户) ~/.bashrc(登录用户) /root/.bashrc(root用户) 用户环境、 别名 每开启一个新的bash终端都会生效. ???...

2019-06-06 17:01:29 260

原创 普通java工程之远程debug

有这样一个需求,生产或者测试环境有运行一个程序,发现一个bug,可是我们本地的开发环境bug死活重现不出来。这个时候就需要本地eclipse+工程源码<-远程调试->java程序。准备:1.eclipse+源码2.可执行程序,通过java启动。本文不涉及tomcat的远程调试3.操作系统为centos7.41.服务端可执行程序启动的时候添加参数:...

2019-06-04 14:02:26 572

原创 linux下使用生成ws客户端

有这个需求,通过wsimport生成ws的客户端代码,环境如下:1)有台服务器,linux操作系统,无界面2)同网段的某服务器发布了webservice服务端,且发布的wsdl文件有错误针对以上需求,我写了如下操作的步骤:1)通过命令行访问wsdl发布地址,并将内容下载到本地2)使用vim修改本地的wsdl内容3)wsimport从本地生成客户端------------...

2019-05-25 11:47:53 2640

空空如也

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

TA关注的人

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